Merge "Revert "Update GNSS Batching to use new GnssLocation with elapsed realtime (HAL)""
diff --git a/current.txt b/current.txt
index f3c9f87..9baa8ed 100644
--- a/current.txt
+++ b/current.txt
@@ -464,9 +464,7 @@
 7f460e795f5d1ed5e378935f98c6db4d39497de988aef1b4c2a4a07a6c400392 android.hardware.gnss@2.0::IAGnss
 2e5ad983734069e84a760004b32da0d09e4170c05380abe27e6eb80e4aa70d5a android.hardware.gnss@2.0::IAGnssCallback
 1f4ac068a88a72360280d94a7f6fd7c63813c1eea4891a0eb01394d3e7e775f2 android.hardware.gnss@2.0::IAGnssRil
-4deafcdcffa2d002119e7f58810b767a84666e76475aae68e757ec2845d9756d android.hardware.gnss@2.0::IGnss
-db6bdf6dfc5edf6c85d2944976db899227abb51079c893874353c322342c50b6 android.hardware.gnss@2.0::IGnssBatching
-1f89392f1ebb693d8fa6f50324b1635fc79fab246d31900e63998e1b0e17511c android.hardware.gnss@2.0::IGnssBatchingCallback
+63216fcb23eaf4d6f12ea0e99b8bfdb8e4e57c02f215d433cd30943d850f61a7 android.hardware.gnss@2.0::IGnss
 b11a5e4a1602d3f408716b6fe2c578a79f060d571aad8e828f9a4426d161fbcf android.hardware.gnss@2.0::IGnssCallback
 ecc966c68bddbd95c8dae782b84204cf01c75734675e8769963f3b5106ec128b android.hardware.gnss@2.0::IGnssConfiguration
 b670bae2ab8517336290532e364502b4db9120340d75474ccc8442b1b15d6ab7 android.hardware.gnss@2.0::IGnssDebug
diff --git a/gnss/2.0/Android.bp b/gnss/2.0/Android.bp
index 6cfd346..30dc55d 100644
--- a/gnss/2.0/Android.bp
+++ b/gnss/2.0/Android.bp
@@ -12,8 +12,6 @@
         "IAGnssCallback.hal",
         "IAGnssRil.hal",
         "IGnss.hal",
-        "IGnssBatching.hal",
-        "IGnssBatchingCallback.hal",
         "IGnssCallback.hal",
         "IGnssConfiguration.hal",
         "IGnssDebug.hal",
diff --git a/gnss/2.0/IGnss.hal b/gnss/2.0/IGnss.hal
index f19f8d0..ba757d7 100644
--- a/gnss/2.0/IGnss.hal
+++ b/gnss/2.0/IGnss.hal
@@ -27,7 +27,6 @@
 import IGnssMeasurement;
 import IAGnss;
 import IAGnssRil;
-import IGnssBatching;
 
 /**
  * Represents the standard GNSS (Global Navigation Satellite System) interface.
@@ -106,13 +105,6 @@
     getExtensionVisibilityControl() generates (IGnssVisibilityControl visibilityControlIface);
 
     /**
-     * This method returns the IGnssBatching interface.
-     *
-     * @return batchingIface Handle to the IGnssBatching interface.
-     */
-    getExtensionGnssBatching_2_0() generates (IGnssBatching batchingIface);
-
-    /**
      * Injects current location from the best available location provider.
      *
      * Unlike injectLocation, this method may inject a recent GNSS location from the HAL
diff --git a/gnss/2.0/IGnssBatching.hal b/gnss/2.0/IGnssBatching.hal
deleted file mode 100644
index 961fa69..0000000
--- a/gnss/2.0/IGnssBatching.hal
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2019 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.
- */
-
-package android.hardware.gnss@2.0;
-
-import @1.0::IGnssBatching;
-import IGnssBatchingCallback;
-
-/**
- * Extended interface for GNSS Batching support.
- *
- * If this interface is supported, this batching request must be able to run in
- * parallel with, or without, non-batched location requested by the
- * IGnss start() & stop() - i.e. both requests must be handled independently,
- * and not interfere with each other.
- *
- * For example, if a 1Hz continuous output is underway on the IGnssCallback,
- * due to an IGnss start() operation,
- * and then a IGnssBatching start() is called for a location every 10
- * seconds, the newly added batching request must not disrupt the 1Hz
- * continuous location output on the IGnssCallback.
- *
- * As with GNSS Location outputs, source of location must be GNSS satellite
- * measurements, optionally using interial and baro sensors to improve
- * relative motion filtering. No additional absolute positioning information,
- * such as WiFi derived location, may be mixed with the GNSS information.
- */
-interface IGnssBatching extends @1.0::IGnssBatching {
-    /**
-     * Opens the interface and provides the callback routines
-     * to the implementation of this interface.
-     *
-     * @param callback Callback interface for IGnssBatching.
-     *
-     * @return success Returns true on success.
-     */
-    init_2_0(IGnssBatchingCallback callback) generates (bool success);
-};
\ No newline at end of file
diff --git a/gnss/2.0/IGnssBatchingCallback.hal b/gnss/2.0/IGnssBatchingCallback.hal
deleted file mode 100644
index 4f8b4ec..0000000
--- a/gnss/2.0/IGnssBatchingCallback.hal
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2019 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.
- */
-
-package android.hardware.gnss@2.0;
-
-/** The callback interface to report measurements from the HAL. */
-interface IGnssBatchingCallback {
-    /**
-     * Called when a batch of locations is output, by various means, including
-     * a flush request, as well as the buffer becoming full (if appropriate option
-     * is set.)
-     *
-     * All locations returned by this callback must be cleared from the hardware
-     * buffer, such the sequential calls of this callback do not return any
-     * redundant locations.  (Same lat/lon, at a new time, is acceptable.)
-     *
-     * The GnssLocation struct in gnss@2.0 is extended to include elapsed realtime
-     * information.
-     *
-     * @param locations GNSS Location information from HAL.
-     */
-    gnssLocationBatchCb(vec<GnssLocation> locations);
-};
diff --git a/gnss/2.0/default/Android.bp b/gnss/2.0/default/Android.bp
index 0fcd764..64187e2 100644
--- a/gnss/2.0/default/Android.bp
+++ b/gnss/2.0/default/Android.bp
@@ -25,7 +25,6 @@
         "AGnss.cpp",
         "AGnssRil.cpp",
         "Gnss.cpp",
-	"GnssBatching.cpp",
         "GnssMeasurement.cpp",
         "GnssMeasurementCorrections.cpp",
         "GnssVisibilityControl.cpp",
diff --git a/gnss/2.0/default/Gnss.cpp b/gnss/2.0/default/Gnss.cpp
index 75c2385..bb89b8b 100644
--- a/gnss/2.0/default/Gnss.cpp
+++ b/gnss/2.0/default/Gnss.cpp
@@ -23,7 +23,6 @@
 
 #include "AGnss.h"
 #include "AGnssRil.h"
-#include "GnssBatching.h"
 #include "GnssConfiguration.h"
 #include "GnssMeasurement.h"
 #include "GnssMeasurementCorrections.h"
@@ -266,10 +265,6 @@
     return new GnssVisibilityControl();
 }
 
-Return<sp<V2_0::IGnssBatching>> Gnss::getExtensionGnssBatching_2_0() {
-    return new GnssBatching();
-}
-
 Return<bool> Gnss::setCallback_2_0(const sp<V2_0::IGnssCallback>& callback) {
     ALOGD("Gnss::setCallback_2_0");
     if (callback == nullptr) {
diff --git a/gnss/2.0/default/Gnss.h b/gnss/2.0/default/Gnss.h
index 72f7797..a500128 100644
--- a/gnss/2.0/default/Gnss.h
+++ b/gnss/2.0/default/Gnss.h
@@ -92,7 +92,6 @@
     getExtensionMeasurementCorrections() override;
     Return<sp<visibility_control::V1_0::IGnssVisibilityControl>> getExtensionVisibilityControl()
             override;
-    Return<sp<V2_0::IGnssBatching>> getExtensionGnssBatching_2_0() override;
     Return<bool> injectBestLocation_2_0(const V2_0::GnssLocation& location) override;
 
   private:
diff --git a/gnss/2.0/default/GnssBatching.cpp b/gnss/2.0/default/GnssBatching.cpp
deleted file mode 100644
index d56cdfb..0000000
--- a/gnss/2.0/default/GnssBatching.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2019 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 "GnssBatching"
-
-#include "GnssBatching.h"
-
-namespace android {
-namespace hardware {
-namespace gnss {
-namespace V2_0 {
-namespace implementation {
-
-sp<V2_0::IGnssBatchingCallback> GnssBatching::sCallback = nullptr;
-
-// Methods from ::android::hardware::gnss::V1_0::IGnssBatching follow.
-Return<bool> GnssBatching::init(const sp<V1_0::IGnssBatchingCallback>&) {
-    // TODO implement
-    return bool{};
-}
-
-Return<uint16_t> GnssBatching::getBatchSize() {
-    // TODO implement
-    return uint16_t{};
-}
-
-Return<bool> GnssBatching::start(const V1_0::IGnssBatching::Options&) {
-    // TODO implement
-    return bool{};
-}
-
-Return<void> GnssBatching::flush() {
-    // TODO implement
-    return Void();
-}
-
-Return<bool> GnssBatching::stop() {
-    // TODO implement
-    return bool{};
-}
-
-Return<void> GnssBatching::cleanup() {
-    // TODO implement
-    return Void();
-}
-
-// Methods from V2_0::IGnssBatching follow.
-Return<bool> GnssBatching::init_2_0(const sp<V2_0::IGnssBatchingCallback>& callback) {
-    sCallback = callback;
-    return true;
-}
-
-}  // namespace implementation
-}  // namespace V2_0
-}  // namespace gnss
-}  // namespace hardware
-}  // namespace android
diff --git a/gnss/2.0/default/GnssBatching.h b/gnss/2.0/default/GnssBatching.h
deleted file mode 100644
index 62ac580..0000000
--- a/gnss/2.0/default/GnssBatching.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2019 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.
- */
-
-#pragma once
-
-#include <android/hardware/gnss/2.0/IGnssBatching.h>
-#include <hidl/MQDescriptor.h>
-#include <hidl/Status.h>
-
-namespace android {
-namespace hardware {
-namespace gnss {
-namespace V2_0 {
-namespace implementation {
-
-using ::android::sp;
-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;
-
-struct GnssBatching : public IGnssBatching {
-    // Methods from ::android::hardware::gnss::V1_0::IGnssBatching follow.
-    Return<bool> init(const sp<V1_0::IGnssBatchingCallback>& callback) override;
-    Return<uint16_t> getBatchSize() override;
-    Return<bool> start(const V1_0::IGnssBatching::Options& options) override;
-    Return<void> flush() override;
-    Return<bool> stop() override;
-    Return<void> cleanup() override;
-
-    // Methods from V2_0::IGnssBatching follow.
-    Return<bool> init_2_0(const sp<V2_0::IGnssBatchingCallback>& callback) override;
-
-  private:
-    static sp<IGnssBatchingCallback> sCallback;
-};
-
-}  // namespace implementation
-}  // namespace V2_0
-}  // namespace gnss
-}  // namespace hardware
-}  // namespace android
diff --git a/gnss/2.0/default/GnssConfiguration.cpp b/gnss/2.0/default/GnssConfiguration.cpp
index 6bf1712..4389dd2 100644
--- a/gnss/2.0/default/GnssConfiguration.cpp
+++ b/gnss/2.0/default/GnssConfiguration.cpp
@@ -33,11 +33,13 @@
 }
 
 Return<bool> GnssConfiguration::setSuplVersion(uint32_t) {
-    return true;
+    // TODO implement
+    return bool{};
 }
 
 Return<bool> GnssConfiguration::setSuplMode(hidl_bitfield<SuplMode>) {
-    return true;
+    // TODO implement
+    return bool{};
 }
 
 Return<bool> GnssConfiguration::setGpsLock(hidl_bitfield<GpsLock> gpsLock) {
@@ -47,15 +49,18 @@
 }
 
 Return<bool> GnssConfiguration::setLppProfile(hidl_bitfield<LppProfile>) {
-    return true;
+    // TODO implement
+    return bool{};
 }
 
 Return<bool> GnssConfiguration::setGlonassPositioningProtocol(hidl_bitfield<GlonassPosProtocol>) {
-    return true;
+    // TODO implement
+    return bool{};
 }
 
 Return<bool> GnssConfiguration::setEmergencySuplPdn(bool) {
-    return true;
+    // TODO implement
+    return bool{};
 }
 
 // Methods from ::android::hardware::gnss::V1_1::IGnssConfiguration follow.
diff --git a/gnss/2.0/vts/functional/gnss_hal_test.cpp b/gnss/2.0/vts/functional/gnss_hal_test.cpp
index da6092b..b8c3437 100644
--- a/gnss/2.0/vts/functional/gnss_hal_test.cpp
+++ b/gnss/2.0/vts/functional/gnss_hal_test.cpp
@@ -26,7 +26,6 @@
 GnssHalTest::GnssHalTest()
     : info_called_count_(0),
       capabilities_called_count_(0),
-      measurement_corrections_capabilities_called_count_(0),
       location_called_count_(0),
       name_called_count_(0),
       notify_count_(0) {}
@@ -44,7 +43,6 @@
     // Reset counters
     info_called_count_ = 0;
     capabilities_called_count_ = 0;
-    measurement_corrections_capabilities_called_count_ = 0;
     location_called_count_ = 0;
     name_called_count_ = 0;
     measurement_called_count_ = 0;
diff --git a/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp b/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp
index 0682f84..230c979 100644
--- a/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp
+++ b/gnss/2.0/vts/functional/gnss_hal_test_cases.cpp
@@ -32,8 +32,6 @@
 using IAGnss_2_0 = android::hardware::gnss::V2_0::IAGnss;
 using IAGnss_1_0 = android::hardware::gnss::V1_0::IAGnss;
 using IAGnssCallback_2_0 = android::hardware::gnss::V2_0::IAGnssCallback;
-using IGnssBatching_V1_0 = android::hardware::gnss::V1_0::IGnssBatching;
-using IGnssBatching_V2_0 = android::hardware::gnss::V2_0::IGnssBatching;
 
 using android::hardware::gnss::common::Utils;
 using android::hardware::gnss::measurement_corrections::V1_0::IMeasurementCorrections;
@@ -328,10 +326,6 @@
         return;
     }
 
-    sp<IMeasurementCorrectionsCallback> iMeasurementCorrectionsCallback =
-            new GnssMeasurementCorrectionsCallback(*this);
-    iMeasurementCorrections->setCallback(iMeasurementCorrectionsCallback);
-
     const int kMeasurementCorrectionsCapabilitiesTimeoutSeconds = 5;
     waitForMeasurementCorrectionsCapabilities(kMeasurementCorrectionsCapabilitiesTimeoutSeconds);
     ASSERT_TRUE(measurement_corrections_capabilities_called_count_ > 0);
@@ -401,20 +395,3 @@
     gnss_hal_->injectBestLocation_2_0(last_location_);
     StopAndClearLocations();
 }
-
-/*
- * TestGnssBatchingExtension:
- * Gets the GnssBatchingExtension and verifies that it supports either the @1.0::IGnssBatching
- * or @2.0::IGnssBatching extension.
- */
-TEST_F(GnssHalTest, TestGnssBatchingExtension) {
-    auto gnssBatching_V2_0 = gnss_hal_->getExtensionGnssBatching_2_0();
-    ASSERT_TRUE(gnssBatching_V2_0.isOk());
-
-    auto gnssBatching_V1_0 = gnss_hal_->getExtensionGnssBatching();
-    ASSERT_TRUE(gnssBatching_V1_0.isOk());
-
-    sp<IGnssBatching_V1_0> iGnssBatching_V1_0 = gnssBatching_V1_0;
-    sp<IGnssBatching_V2_0> iGnssBatching_V2_0 = gnssBatching_V2_0;
-    ASSERT_TRUE(iGnssBatching_V1_0 != nullptr || iGnssBatching_V2_0 != nullptr);
-}