summaryrefslogtreecommitdiff
path: root/location/lib/java
diff options
context:
space:
mode:
author Soonil Nagarkar <sooniln@google.com> 2020-12-23 08:25:13 -0800
committer Soonil Nagarkar <sooniln@google.com> 2020-12-28 10:50:50 -0800
commitb76a3541a1036484a52d6171c0823cb70b21e193 (patch)
tree886a0c725ddfb4fdc7d40dab9d78bfdaa76dcde5 /location/lib/java
parent36ca6d3452868f9076c2a76c6a3d00a31bf17440 (diff)
Replace LocationProvider with ProviderProperties
LocationProvider cannot represent unknown properties, which is currently causing problems with getProvider() which may return null even when a particular provider exists. Instead provide isProvider() to query whether a provider exists, and getProviderProperties() to query a provider's properties. Bug: 176232308 Test: atest CtsLocationNoneTestCases Change-Id: Ic42cc953624be116616b0b997e18356247fdf288
Diffstat (limited to 'location/lib/java')
-rw-r--r--location/lib/java/com/android/location/provider/LocationProviderBase.java8
-rw-r--r--location/lib/java/com/android/location/provider/ProviderPropertiesUnbundled.java3
2 files changed, 3 insertions, 8 deletions
diff --git a/location/lib/java/com/android/location/provider/LocationProviderBase.java b/location/lib/java/com/android/location/provider/LocationProviderBase.java
index 54d806671e86..47e425629783 100644
--- a/location/lib/java/com/android/location/provider/LocationProviderBase.java
+++ b/location/lib/java/com/android/location/provider/LocationProviderBase.java
@@ -23,6 +23,7 @@ import android.location.Location;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.location.LocationResult;
+import android.location.ProviderProperties;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.IBinder;
@@ -35,7 +36,6 @@ import androidx.annotation.RequiresApi;
import com.android.internal.location.ILocationProvider;
import com.android.internal.location.ILocationProviderManager;
-import com.android.internal.location.ProviderProperties;
import com.android.internal.location.ProviderRequest;
import java.io.FileDescriptor;
@@ -372,11 +372,7 @@ public abstract class LocationProviderBase {
public void setLocationProviderManager(ILocationProviderManager manager) {
synchronized (mBinder) {
try {
- if (mPackageName != null || mAttributionTag != null) {
- manager.onSetIdentity(mPackageName, mAttributionTag);
- }
- manager.onSetProperties(mProperties);
- manager.onSetAllowed(mAllowed);
+ manager.onInitialize(mAllowed, mProperties, mPackageName, mAttributionTag);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
} catch (RuntimeException e) {
diff --git a/location/lib/java/com/android/location/provider/ProviderPropertiesUnbundled.java b/location/lib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
index 21ee5f465c48..9d8ccdf62ca5 100644
--- a/location/lib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
+++ b/location/lib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
@@ -17,8 +17,7 @@
package com.android.location.provider;
import android.annotation.NonNull;
-
-import com.android.internal.location.ProviderProperties;
+import android.location.ProviderProperties;
import java.util.Objects;