Enable TARGET_USES_QMAA flag and remove dummy hal

Add check for TARGET_USES_QMAA_OVERRIDE_GPS and
TARGET_USES_QMAA flag to enable minimal QMAA
Gnss HAL;
Remove Dummy Hal as TARGET_USES_QMAA flag could
turn off gps hal

Change-Id: I7ee23f869bd452f7b40ae8b3c339c0ef60fcdc84
CRs-fixed: 2379305
diff --git a/Android.mk b/Android.mk
index a995aff..f1088a4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,7 +1,5 @@
+ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
 LOCAL_PATH := $(call my-dir)
 include $(LOCAL_PATH)/build/target_specific_features.mk
-ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
 include $(call all-makefiles-under,$(LOCAL_PATH))
-else
-include $(LOCAL_PATH)/android/Android.mk
 endif
diff --git a/android/Android.mk b/android/Android.mk
index 8233b68..3b5c01f 100644
--- a/android/Android.mk
+++ b/android/Android.mk
@@ -12,6 +12,4 @@
 include $(DIR_LIST)/1.0/Android.mk
 endif #GNSS HIDL 1.1
 endif #GNSS HIDL 2.0
-else #QMAA flag set, build dummy android.hardware.gnss@1.0-impl-qti
-include $(LOCAL_PATH)/dummy/Android.mk
 endif #BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
diff --git a/android/dummy/Android.mk b/android/dummy/Android.mk
deleted file mode 100644
index 05114e1..0000000
--- a/android/dummy/Android.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-#build dummy android.hardware.gnss@2.0-impl-qti
-include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.gnss@2.0-impl-qti
-LOCAL_VENDOR_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SRC_FILES := GnssDummy.cpp
-
-LOCAL_SHARED_LIBRARIES := \
-    liblog \
-    libhidlbase \
-    libhidltransport \
-    libhwbinder \
-    libcutils \
-    libutils \
-    android.hardware.gnss@1.0 \
-
-LOCAL_CFLAGS += $(GNSS_CFLAGS)
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.gnss@2.0-service-qti
-LOCAL_VENDOR_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_INIT_RC := android.hardware.gnss@2.0-service-qti.rc
-LOCAL_SRC_FILES := \
-    serviceDummy.cpp \
-
-#LOCAL_C_INCLUDES:= \
-    $(LOCAL_PATH)/location_api
-#LOCAL_HEADER_LIBRARIES := \
-    libgps.utils_headers \
-    libloc_core_headers \
-    libloc_pla_headers \
-    liblocation_api_headers
-
-
-LOCAL_SHARED_LIBRARIES := \
-    liblog \
-    libcutils \
-    libdl \
-    libbase \
-    libutils \
-
-LOCAL_SHARED_LIBRARIES += \
-    libhwbinder \
-    libhidlbase \
-    libhidltransport \
-    android.hardware.gnss@1.0 \
-
-LOCAL_CFLAGS += $(GNSS_CFLAGS)
-include $(BUILD_EXECUTABLE)
diff --git a/android/dummy/GnssDummy.cpp b/android/dummy/GnssDummy.cpp
deleted file mode 100644
index b30b437..0000000
--- a/android/dummy/GnssDummy.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
- * Not a Contribution
- */
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "GnssDummy.h"
-
-namespace android {
-namespace hardware {
-namespace gnss {
-namespace V1_0 {
-namespace implementation {
-
-Gnss::Gnss() {
-}
-
-Gnss::~Gnss() {
-}
-
-Return<bool> Gnss::setCallback(const sp<V1_0::IGnssCallback>& /*callback*/)  {
-    return false;
-}
-
-Return<bool> Gnss::start()  {
-    return false;
-}
-
-Return<bool> Gnss::stop()  {
-    return false;
-}
-
-Return<void> Gnss::cleanup()  {
-    return Void();
-}
-
-Return<bool> Gnss::injectLocation(double /*latitudeDegrees*/,
-                                  double /*longitudeDegrees*/,
-                                  float /*accuracyMeters*/)  {
-    return false;
-}
-
-Return<bool> Gnss::injectTime(int64_t /*timeMs*/, int64_t /*timeReferenceMs*/,
-                              int32_t /*uncertaintyMs*/) {
-    return false;
-}
-
-Return<void> Gnss::deleteAidingData(V1_0::IGnss::GnssAidingData /*aidingDataFlags*/)  {
-    return Void();
-}
-
-Return<bool> Gnss::setPositionMode(V1_0::IGnss::GnssPositionMode /*mode*/,
-                                   V1_0::IGnss::GnssPositionRecurrence /*recurrence*/,
-                                   uint32_t /*minIntervalMs*/,
-                                   uint32_t /*preferredAccuracyMeters*/,
-                                   uint32_t /*preferredTimeMs*/)  {
-    return false;
-}
-
-Return<sp<V1_0::IAGnss>> Gnss::getExtensionAGnss()  {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssNi>> Gnss::getExtensionGnssNi()  {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssMeasurement>> Gnss::getExtensionGnssMeasurement() {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssConfiguration>> Gnss::getExtensionGnssConfiguration()  {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssGeofencing>> Gnss::getExtensionGnssGeofencing()  {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssBatching>> Gnss::getExtensionGnssBatching()  {
-    return nullptr;
-}
-
-Return<sp<V1_0::IGnssDebug>> Gnss::getExtensionGnssDebug() {
-    return nullptr;
-}
-
-Return<sp<V1_0::IAGnssRil>> Gnss::getExtensionAGnssRil() {
-    return nullptr;
-}
-
-IGnss* HIDL_FETCH_IGnss(const char* /*hal*/) {
-    IGnss* iface = nullptr;
-    iface = new Gnss();
-    return iface;
-}
-
-}  // namespace implementation
-}  // namespace V1_0
-}  // namespace gnss
-}  // namespace hardware
-}  // namespace android
diff --git a/android/dummy/GnssDummy.h b/android/dummy/GnssDummy.h
deleted file mode 100644
index 89c876f..0000000
--- a/android/dummy/GnssDummy.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
- * Not a Contribution
- */
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "LocSvc_GnssInterface"
-
-#include <fstream>
-#include <dlfcn.h>
-#include <cutils/properties.h>
-
-#include <android/hardware/gnss/1.0/IGnss.h>
-#include <hidl/MQDescriptor.h>
-#include <hidl/Status.h>
-namespace android {
-namespace hardware {
-namespace gnss {
-namespace V1_0 {
-namespace implementation {
-
-using ::android::hardware::hidl_array;
-using ::android::hardware::hidl_memory;
-using ::android::hardware::hidl_string;
-using ::android::hardware::hidl_vec;
-using ::android::hardware::Return;
-using ::android::hardware::Void;
-using ::android::sp;
-using ::android::hardware::gnss::V1_0::GnssLocation;
-
-struct Gnss : public IGnss {
-    Gnss();
-    ~Gnss();
-
-    /*
-     * Methods from ::android::hardware::gnss::V1_0::IGnss follow.
-     * These declarations were generated from Gnss.hal.
-     */
-    Return<bool> setCallback(const sp<V1_0::IGnssCallback>& callback)  override;
-    Return<bool> start()  override;
-    Return<bool> stop()  override;
-    Return<void> cleanup()  override;
-    Return<bool> injectLocation(double latitudeDegrees,
-                                double longitudeDegrees,
-                                float accuracyMeters)  override;
-    Return<bool> injectTime(int64_t timeMs,
-                            int64_t timeReferenceMs,
-                            int32_t uncertaintyMs) override;
-    Return<void> deleteAidingData(V1_0::IGnss::GnssAidingData aidingDataFlags)  override;
-    Return<bool> setPositionMode(V1_0::IGnss::GnssPositionMode mode,
-                                 V1_0::IGnss::GnssPositionRecurrence recurrence,
-                                 uint32_t minIntervalMs,
-                                 uint32_t preferredAccuracyMeters,
-                                 uint32_t preferredTimeMs)  override;
-    Return<sp<V1_0::IAGnss>> getExtensionAGnss() override;
-    Return<sp<V1_0::IGnssNi>> getExtensionGnssNi() override;
-    Return<sp<V1_0::IGnssMeasurement>> getExtensionGnssMeasurement() override;
-    Return<sp<V1_0::IGnssConfiguration>> getExtensionGnssConfiguration() override;
-    Return<sp<V1_0::IGnssGeofencing>> getExtensionGnssGeofencing() override;
-    Return<sp<V1_0::IGnssBatching>> getExtensionGnssBatching() override;
-
-    Return<sp<V1_0::IAGnssRil>> getExtensionAGnssRil() override;
-
-    inline Return<sp<V1_0::IGnssNavigationMessage>> getExtensionGnssNavigationMessage() override {
-        return nullptr;
-    }
-
-    inline Return<sp<V1_0::IGnssXtra>> getExtensionXtra() override {
-        return nullptr;
-    }
-
-    Return<sp<V1_0::IGnssDebug>> getExtensionGnssDebug() override;
-};
-
-extern "C" IGnss* HIDL_FETCH_IGnss(const char* name);
-
-}  // namespace implementation
-}  // namespace V1_0
-}  // namespace gnss
-}  // namespace hardware
-}  // namespace android
-
diff --git a/android/dummy/android.hardware.gnss@2.0-service-qti.rc b/android/dummy/android.hardware.gnss@2.0-service-qti.rc
deleted file mode 100644
index 36ee47c..0000000
--- a/android/dummy/android.hardware.gnss@2.0-service-qti.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service gnss_service /vendor/bin/hw/android.hardware.gnss@2.0-service-qti
-    class hal
-    user gps
-    group system gps radio
diff --git a/android/dummy/serviceDummy.cpp b/android/dummy/serviceDummy.cpp
deleted file mode 100644
index 10ce60b..0000000
--- a/android/dummy/serviceDummy.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
- * Not a Contribution
- */
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "android.hardware.gnss@1.0-service-qti"
-
-#include <android/hardware/gnss/1.0/IGnss.h>
-#include <hidl/LegacySupport.h>
-
-using android::hardware::gnss::V1_0::IGnss;
-using android::hardware::defaultPassthroughServiceImplementation;
-
-int main() {
-    ALOGI("%s", __FUNCTION__);
-    return defaultPassthroughServiceImplementation<IGnss>();
-}
diff --git a/gps_vendor_board.mk b/gps_vendor_board.mk
index be346dc..e1915ea 100644
--- a/gps_vendor_board.mk
+++ b/gps_vendor_board.mk
@@ -1,3 +1,7 @@
 # Flags from BoardConfigVendor.mk
+ifneq ($(TARGET_USES_QMAA),true)
 BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
+else ifneq ($(TARGET_USES_QMAA_OVERRIDE_GPS),false)
+BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
+endif