summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-12-18 18:28:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-12-18 18:28:53 +0000
commitada970f4739cffccd25f8d27533c35510ee1e9c7 (patch)
tree469f78a1b6712c429f6a319f01c9caa27fbfbc14
parent202c7f6472a38e56ae66ab17e85bb639ee0d38dc (diff)
parent3b6a51e4ce77d0c67644dd2cf96691eb89ef8e31 (diff)
Merge "Expose enableFullTracking API to public"
-rw-r--r--core/api/current.txt15
-rw-r--r--core/api/system-current.txt2
-rw-r--r--location/java/android/location/GnssMeasurementRequest.aidl19
-rw-r--r--location/java/android/location/GnssMeasurementRequest.java152
-rw-r--r--location/java/android/location/GnssRequest.java15
-rw-r--r--location/java/android/location/ILocationManager.aidl4
-rw-r--r--location/java/android/location/LocationManager.java47
-rw-r--r--services/core/java/com/android/server/location/LocationManagerService.java4
-rw-r--r--services/core/java/com/android/server/location/gnss/GnssManagerService.java10
-rw-r--r--services/core/java/com/android/server/location/gnss/GnssMeasurementsProvider.java14
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java12
11 files changed, 262 insertions, 32 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 32a1c7681d56..1c50e14d0caa 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -19069,6 +19069,20 @@ package android.location {
field public static final int STATE_UNKNOWN = 0; // 0x0
}
+ public final class GnssMeasurementRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method public boolean isFullTracking();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementRequest> CREATOR;
+ }
+
+ public static final class GnssMeasurementRequest.Builder {
+ ctor public GnssMeasurementRequest.Builder();
+ ctor public GnssMeasurementRequest.Builder(@NonNull android.location.GnssMeasurementRequest);
+ method @NonNull public android.location.GnssMeasurementRequest build();
+ method @NonNull public android.location.GnssMeasurementRequest.Builder setFullTracking(boolean);
+ }
+
public final class GnssMeasurementsEvent implements android.os.Parcelable {
method public int describeContents();
method @NonNull public android.location.GnssClock getClock();
@@ -19295,6 +19309,7 @@ package android.location {
method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler);
method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
method @Deprecated public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback, @Nullable android.os.Handler);
method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssNavigationMessage.Callback);
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 0f1adc0d0883..85da7c37805e 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -4316,7 +4316,7 @@ package android.location {
method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String);
method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.UPDATE_APP_OPS_STATS}) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
- method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.LOCATION_HARDWARE}) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+ method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.app.PendingIntent);
diff --git a/location/java/android/location/GnssMeasurementRequest.aidl b/location/java/android/location/GnssMeasurementRequest.aidl
new file mode 100644
index 000000000000..7e507281c013
--- /dev/null
+++ b/location/java/android/location/GnssMeasurementRequest.aidl
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2020, 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.location;
+
+parcelable GnssMeasurementRequest;
diff --git a/location/java/android/location/GnssMeasurementRequest.java b/location/java/android/location/GnssMeasurementRequest.java
new file mode 100644
index 000000000000..613f5918b708
--- /dev/null
+++ b/location/java/android/location/GnssMeasurementRequest.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2020 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.location;
+
+import android.annotation.NonNull;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * This class contains extra parameters to pass in a GNSS measurement request.
+ */
+public final class GnssMeasurementRequest implements Parcelable {
+ private final boolean mFullTracking;
+
+ /**
+ * Creates a {@link GnssMeasurementRequest} with a full list of parameters.
+ */
+ private GnssMeasurementRequest(boolean fullTracking) {
+ mFullTracking = fullTracking;
+ }
+
+ /**
+ * Represents whether to enable full GNSS tracking.
+ *
+ * <p>If true, GNSS chipset switches off duty cycling. In such a mode, no clock
+ * discontinuities are expected, and when supported, carrier phase should be continuous in
+ * good signal conditions. All non-blocklisted, healthy constellations, satellites and
+ * frequency bands that the chipset supports must be reported in this mode. The GNSS chipset
+ * will consume more power in full tracking mode than in duty cycling mode. If false, GNSS
+ * chipset optimizes power via duty cycling, constellations and frequency limits, etc.
+ *
+ * <p>Full GNSS tracking mode affects GnssMeasurement and other GNSS functionalities
+ * including GNSS location.
+ */
+ public boolean isFullTracking() {
+ return mFullTracking;
+ }
+
+ @NonNull
+ public static final Creator<GnssMeasurementRequest> CREATOR =
+ new Creator<GnssMeasurementRequest>() {
+ @Override
+ @NonNull
+ public GnssMeasurementRequest createFromParcel(@NonNull Parcel parcel) {
+ return new GnssMeasurementRequest(parcel.readBoolean());
+ }
+
+ @Override
+ public GnssMeasurementRequest[] newArray(int i) {
+ return new GnssMeasurementRequest[i];
+ }
+ };
+
+ @Override
+ public void writeToParcel(@NonNull Parcel parcel, int flags) {
+ parcel.writeBoolean(mFullTracking);
+ }
+
+ @NonNull
+ @Override
+ public String toString() {
+ StringBuilder s = new StringBuilder();
+ s.append("GnssMeasurementRequest[");
+ if (mFullTracking) {
+ s.append("FullTracking");
+ }
+ s.append(']');
+ return s.toString();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) return true;
+ if (obj == null) return false;
+ if (!(obj instanceof GnssMeasurementRequest)) return false;
+
+ GnssMeasurementRequest other = (GnssMeasurementRequest) obj;
+ if (mFullTracking != other.mFullTracking) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return mFullTracking ? 1 : 0;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /** Builder for {@link GnssMeasurementRequest} */
+ public static final class Builder {
+ private boolean mFullTracking;
+
+ /**
+ * Constructs a {@link Builder} instance.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Constructs a {@link Builder} instance by copying a {@link GnssMeasurementRequest}.
+ */
+ public Builder(@NonNull GnssMeasurementRequest request) {
+ mFullTracking = request.isFullTracking();
+ }
+
+ /**
+ * Set the value of whether to enable full GNSS tracking, which is false by default.
+ *
+ * <p>If true, GNSS chipset switches off duty cycling. In such a mode, no clock
+ * discontinuities are expected, and when supported, carrier phase should be continuous in
+ * good signal conditions. All non-blocklisted, healthy constellations, satellites and
+ * frequency bands that the chipset supports must be reported in this mode. The GNSS chipset
+ * will consume more power in full tracking mode than in duty cycling mode. If false,
+ * GNSS chipset optimizes power via duty cycling, constellations and frequency limits, etc.
+ *
+ * <p>Full GNSS tracking mode affects GnssMeasurement and other GNSS functionalities
+ * including GNSS location.
+ *
+ * <p>Full tracking requests always override non-full tracking requests. If any full
+ * tracking request occurs, all listeners on the device will receive full tracking GNSS
+ * measurements.
+ */
+ @NonNull public Builder setFullTracking(boolean value) {
+ mFullTracking = value;
+ return this;
+ }
+
+ /** Builds a {@link GnssMeasurementRequest} instance as specified by this builder. */
+ @NonNull
+ public GnssMeasurementRequest build() {
+ return new GnssMeasurementRequest(mFullTracking);
+ }
+ }
+}
diff --git a/location/java/android/location/GnssRequest.java b/location/java/android/location/GnssRequest.java
index 5fc91615fd0e..9c9766fd02d6 100644
--- a/location/java/android/location/GnssRequest.java
+++ b/location/java/android/location/GnssRequest.java
@@ -45,11 +45,23 @@ public final class GnssRequest implements Parcelable {
* frequency bands that the chipset supports must be reported in this mode. The GNSS chipset
* is allowed to consume more power in this mode. If false, GNSS chipset optimizes power via
* duty cycling, constellations and frequency limits, etc.
+ *
+ * <p>Full GNSS tracking mode affects GnssMeasurement and other GNSS functionalities
+ * including GNSS location.
*/
public boolean isFullTracking() {
return mFullTracking;
}
+ /**
+ * Converts the {@link GnssRequest} into a {@link GnssMeasurementRequest}.
+ * @hide
+ */
+ @NonNull
+ public GnssMeasurementRequest toGnssMeasurementRequest() {
+ return new GnssMeasurementRequest.Builder().setFullTracking(isFullTracking()).build();
+ }
+
@NonNull
public static final Creator<GnssRequest> CREATOR =
new Creator<GnssRequest>() {
@@ -131,6 +143,9 @@ public final class GnssRequest implements Parcelable {
* is allowed to consume more power in this mode. If false, GNSS chipset optimizes power via
* duty cycling, constellations and frequency limits, etc.
*
+ * <p>Full GNSS tracking mode affects GnssMeasurement and other GNSS functionalities
+ * including GNSS location.
+ *
* <p>Full tracking requests always override non-full tracking requests. If any full
* tracking request occurs, all listeners on the device will receive full tracking GNSS
* measurements.
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl
index 92e213609d4a..a666eb4cb74a 100644
--- a/location/java/android/location/ILocationManager.aidl
+++ b/location/java/android/location/ILocationManager.aidl
@@ -22,7 +22,7 @@ import android.location.Criteria;
import android.location.GeocoderParams;
import android.location.Geofence;
import android.location.GnssMeasurementCorrections;
-import android.location.GnssRequest;
+import android.location.GnssMeasurementRequest;
import android.location.IGeocodeListener;
import android.location.IGnssAntennaInfoListener;
import android.location.IGnssMeasurementsListener;
@@ -78,7 +78,7 @@ interface ILocationManager
void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, String attributionTag);
void unregisterGnssStatusCallback(in IGnssStatusListener callback);
- void addGnssMeasurementsListener(in GnssRequest request, in IGnssMeasurementsListener listener, String packageName, String attributionTag);
+ void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, String attributionTag);
void removeGnssMeasurementsListener(in IGnssMeasurementsListener listener);
void injectGnssMeasurementCorrections(in GnssMeasurementCorrections corrections);
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 914beaff225e..ecdba1fe5b12 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -2371,7 +2371,7 @@ public class LocationManager {
handler = new Handler();
}
- return registerGnssMeasurementsCallback(new GnssRequest.Builder().build(),
+ return registerGnssMeasurementsCallback(new GnssMeasurementRequest.Builder().build(),
new HandlerExecutor(handler), callback);
}
@@ -2390,8 +2390,8 @@ public class LocationManager {
public boolean registerGnssMeasurementsCallback(
@NonNull @CallbackExecutor Executor executor,
@NonNull GnssMeasurementsEvent.Callback callback) {
- return registerGnssMeasurementsCallback(new GnssRequest.Builder().build(), executor,
- callback);
+ return registerGnssMeasurementsCallback(new GnssMeasurementRequest.Builder().build(),
+ executor, callback);
}
/**
@@ -2408,14 +2408,42 @@ public class LocationManager {
* @throws IllegalArgumentException if callback is null
* @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
* @hide
+ * @deprecated Use {@link #registerGnssMeasurementsCallback(GnssMeasurementRequest, Executor,
+ * GnssMeasurementsEvent.Callback)} instead.
*/
+ @Deprecated
@SystemApi
- @RequiresPermission(allOf = {ACCESS_FINE_LOCATION, LOCATION_HARDWARE})
+ @RequiresPermission(ACCESS_FINE_LOCATION)
public boolean registerGnssMeasurementsCallback(
@NonNull GnssRequest request,
@NonNull @CallbackExecutor Executor executor,
@NonNull GnssMeasurementsEvent.Callback callback) {
Preconditions.checkArgument(request != null, "invalid null request");
+ getGnssMeasurementsTransportMultiplexer().addListener(request.toGnssMeasurementRequest(),
+ callback, executor);
+ return true;
+ }
+
+ /**
+ * Registers a GNSS measurement callback.
+ *
+ * @param request extra parameters to pass to GNSS measurement provider. For example, if {@link
+ * GnssMeasurementRequest#isFullTracking()} is true, GNSS chipset switches off
+ * duty cycling.
+ * @param executor the executor that the callback runs on
+ * @param callback a {@link GnssMeasurementsEvent.Callback} object to register.
+ * @return {@code true} always if the callback was added successfully, {@code false} otherwise.
+ * @throws IllegalArgumentException if request is null
+ * @throws IllegalArgumentException if executor is null
+ * @throws IllegalArgumentException if callback is null
+ * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ public boolean registerGnssMeasurementsCallback(
+ @NonNull GnssMeasurementRequest request,
+ @NonNull @CallbackExecutor Executor executor,
+ @NonNull GnssMeasurementsEvent.Callback callback) {
+ Preconditions.checkArgument(request != null, "invalid null request");
getGnssMeasurementsTransportMultiplexer().addListener(request, callback, executor);
return true;
}
@@ -2907,14 +2935,14 @@ public class LocationManager {
}
private class GnssMeasurementsTransportMultiplexer extends
- ListenerTransportMultiplexer<GnssRequest, GnssMeasurementsEvent.Callback> {
+ ListenerTransportMultiplexer<GnssMeasurementRequest, GnssMeasurementsEvent.Callback> {
private @Nullable IGnssMeasurementsListener mListenerTransport;
GnssMeasurementsTransportMultiplexer() {}
@Override
- protected void registerWithServer(GnssRequest request) throws RemoteException {
+ protected void registerWithServer(GnssMeasurementRequest request) throws RemoteException {
IGnssMeasurementsListener transport = mListenerTransport;
if (transport == null) {
transport = new GnssMeasurementsListener();
@@ -2937,9 +2965,10 @@ public class LocationManager {
}
@Override
- protected GnssRequest mergeRequests(Collection<GnssRequest> requests) {
- GnssRequest.Builder builder = new GnssRequest.Builder();
- for (GnssRequest request : requests) {
+ protected GnssMeasurementRequest mergeRequests(
+ Collection<GnssMeasurementRequest> requests) {
+ GnssMeasurementRequest.Builder builder = new GnssMeasurementRequest.Builder();
+ for (GnssMeasurementRequest request : requests) {
if (request.isFullTracking()) {
builder.setFullTracking(true);
break;
diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java
index 324332f1e134..9068287148b0 100644
--- a/services/core/java/com/android/server/location/LocationManagerService.java
+++ b/services/core/java/com/android/server/location/LocationManagerService.java
@@ -47,7 +47,7 @@ import android.location.GeocoderParams;
import android.location.Geofence;
import android.location.GnssCapabilities;
import android.location.GnssMeasurementCorrections;
-import android.location.GnssRequest;
+import android.location.GnssMeasurementRequest;
import android.location.IGeocodeListener;
import android.location.IGnssAntennaInfoListener;
import android.location.IGnssMeasurementsListener;
@@ -859,7 +859,7 @@ public class LocationManagerService extends ILocationManager.Stub {
}
@Override
- public void addGnssMeasurementsListener(@Nullable GnssRequest request,
+ public void addGnssMeasurementsListener(@Nullable GnssMeasurementRequest request,
IGnssMeasurementsListener listener, String packageName, String attributionTag) {
if (mGnssManagerService != null) {
mGnssManagerService.addGnssMeasurementsListener(request, listener, packageName,
diff --git a/services/core/java/com/android/server/location/gnss/GnssManagerService.java b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
index 326265f4f87d..fa137aa43eb2 100644
--- a/services/core/java/com/android/server/location/gnss/GnssManagerService.java
+++ b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
@@ -21,9 +21,9 @@ import android.annotation.Nullable;
import android.content.Context;
import android.location.GnssAntennaInfo;
import android.location.GnssMeasurementCorrections;
+import android.location.GnssMeasurementRequest;
import android.location.GnssMeasurementsEvent;
import android.location.GnssNavigationMessage;
-import android.location.GnssRequest;
import android.location.IGnssAntennaInfoListener;
import android.location.IGnssMeasurementsListener;
import android.location.IGnssNavigationMessageListener;
@@ -176,12 +176,10 @@ public class GnssManagerService implements GnssNative.Callbacks {
/**
* Adds a GNSS measurements listener.
*/
- public void addGnssMeasurementsListener(GnssRequest request, IGnssMeasurementsListener listener,
- String packageName, @Nullable String attributionTag) {
+ public void addGnssMeasurementsListener(GnssMeasurementRequest request,
+ IGnssMeasurementsListener listener, String packageName,
+ @Nullable String attributionTag) {
mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (request.isFullTracking()) {
- mContext.enforceCallingOrSelfPermission(Manifest.permission.LOCATION_HARDWARE, null);
- }
CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, attributionTag);
mGnssMeasurementsProvider.addListener(request, identity, listener);
diff --git a/services/core/java/com/android/server/location/gnss/GnssMeasurementsProvider.java b/services/core/java/com/android/server/location/gnss/GnssMeasurementsProvider.java
index 59a533cf4189..fa8e2a6f34b3 100644
--- a/services/core/java/com/android/server/location/gnss/GnssMeasurementsProvider.java
+++ b/services/core/java/com/android/server/location/gnss/GnssMeasurementsProvider.java
@@ -21,8 +21,8 @@ import static com.android.server.location.gnss.GnssManagerService.TAG;
import android.annotation.Nullable;
import android.app.AppOpsManager;
+import android.location.GnssMeasurementRequest;
import android.location.GnssMeasurementsEvent;
-import android.location.GnssRequest;
import android.location.IGnssMeasurementsListener;
import android.location.util.identity.CallerIdentity;
import android.os.IBinder;
@@ -47,18 +47,18 @@ import java.util.Objects;
* @hide
*/
public final class GnssMeasurementsProvider extends
- GnssListenerMultiplexer<GnssRequest, IGnssMeasurementsListener, Boolean> implements
- SettingsHelper.GlobalSettingChangedListener {
+ GnssListenerMultiplexer<GnssMeasurementRequest, IGnssMeasurementsListener, Boolean>
+ implements SettingsHelper.GlobalSettingChangedListener {
private class GnssMeasurementListenerRegistration extends GnssListenerRegistration {
private static final String GNSS_MEASUREMENTS_BUCKET = "gnss_measurement";
protected GnssMeasurementListenerRegistration(
- @Nullable GnssRequest gnssRequest,
+ @Nullable GnssMeasurementRequest request,
CallerIdentity callerIdentity,
IGnssMeasurementsListener iGnssMeasurementsListener) {
- super(gnssRequest, callerIdentity, iGnssMeasurementsListener);
+ super(request, callerIdentity, iGnssMeasurementsListener);
}
@Nullable
@@ -100,13 +100,13 @@ public final class GnssMeasurementsProvider extends
}
@Override
- public void addListener(GnssRequest request, CallerIdentity identity,
+ public void addListener(GnssMeasurementRequest request, CallerIdentity identity,
IGnssMeasurementsListener listener) {
super.addListener(request, identity, listener);
}
@Override
- protected GnssListenerRegistration createRegistration(GnssRequest request,
+ protected GnssListenerRegistration createRegistration(GnssMeasurementRequest request,
CallerIdentity callerIdentity, IGnssMeasurementsListener listener) {
return new GnssMeasurementListenerRegistration(request, callerIdentity, listener);
}
diff --git a/services/tests/mockingservicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
index 98fd1c9f0043..2b21cc582087 100644
--- a/services/tests/mockingservicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
@@ -43,9 +43,9 @@ import android.location.GnssAntennaInfo;
import android.location.GnssAntennaInfo.SphericalCorrections;
import android.location.GnssClock;
import android.location.GnssMeasurementCorrections;
+import android.location.GnssMeasurementRequest;
import android.location.GnssMeasurementsEvent;
import android.location.GnssNavigationMessage;
-import android.location.GnssRequest;
import android.location.GnssSingleSatCorrection;
import android.location.IGnssAntennaInfoListener;
import android.location.IGnssMeasurementsListener;
@@ -403,7 +403,7 @@ public class GnssManagerServiceTest {
assertThrows(SecurityException.class,
() -> mGnssManagerService.addGnssMeasurementsListener(
- new GnssRequest.Builder().build(), mockGnssMeasurementsListener,
+ new GnssMeasurementRequest.Builder().build(), mockGnssMeasurementsListener,
TEST_PACKAGE, null));
mTestGnssMeasurementsProvider.onMeasurementsAvailable(gnssMeasurementsEvent);
@@ -422,7 +422,7 @@ public class GnssManagerServiceTest {
enableLocationPermissions();
mGnssManagerService.addGnssMeasurementsListener(
- new GnssRequest.Builder().build(),
+ new GnssMeasurementRequest.Builder().build(),
mockGnssMeasurementsListener,
TEST_PACKAGE, null);
@@ -470,7 +470,8 @@ public class GnssManagerServiceTest {
enableLocationPermissions();
- mGnssManagerService.addGnssMeasurementsListener(new GnssRequest.Builder().build(),
+ mGnssManagerService.addGnssMeasurementsListener(
+ new GnssMeasurementRequest.Builder().build(),
mockGnssMeasurementsListener,
TEST_PACKAGE, null);
@@ -494,7 +495,8 @@ public class GnssManagerServiceTest {
enableLocationPermissions();
- mGnssManagerService.addGnssMeasurementsListener(new GnssRequest.Builder().build(),
+ mGnssManagerService.addGnssMeasurementsListener(
+ new GnssMeasurementRequest.Builder().build(),
mockGnssMeasurementsListener,
TEST_PACKAGE, null);