Merge "Expose enableFullTracking API to public"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ada970f473
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
19
location/java/android/location/GnssMeasurementRequest.aidl
Normal file
19
location/java/android/location/GnssMeasurementRequest.aidl
Normal file
@@ -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;
|
||||
152
location/java/android/location/GnssMeasurementRequest.java
Normal file
152
location/java/android/location/GnssMeasurementRequest.java
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user