Merge "Remove setLocationExtra per API feedback"

This commit is contained in:
TreeHugger Robot
2020-02-01 09:37:01 +00:00
committed by Android (Google) Code Review
5 changed files with 17 additions and 25 deletions

View File

@@ -4104,7 +4104,6 @@ package android.location {
public class Location implements android.os.Parcelable {
method public boolean isComplete();
method public void makeComplete();
method public void setExtraLocation(@Nullable String, @Nullable android.location.Location);
method public void setIsFromMockProvider(boolean);
field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
}

View File

@@ -1271,7 +1271,6 @@ package android.location {
public class Location implements android.os.Parcelable {
method public void makeComplete();
method public void setExtraLocation(@Nullable String, @Nullable android.location.Location);
field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
}

View File

@@ -16,7 +16,6 @@
package android.location;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
@@ -1213,23 +1212,6 @@ public class Location implements Parcelable {
return null;
}
/**
* Attaches an extra {@link Location} to this Location. This is useful for location providers
* to set the {@link #EXTRA_NO_GPS_LOCATION} extra to provide coarse locations for clients.
*
* @param key the key associated with the Location extra
* @param value the Location to attach
* @hide
*/
@TestApi
@SystemApi
public void setExtraLocation(@Nullable String key, @Nullable Location value) {
if (mExtras == null) {
mExtras = new Bundle();
}
mExtras.putParcelable(key, value);
}
/**
* Returns true if the Location came from a mock provider.
*

View File

@@ -2644,7 +2644,12 @@ public class LocationManagerService extends ILocationManager.Stub {
if (noGPSLocation == null && lastNoGPSLocation != null) {
// New location has no no-GPS location: adopt last no-GPS location. This is set
// directly into location because we do not want to notify COARSE clients.
location.setExtraLocation(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation);
Bundle extras = location.getExtras();
if (extras == null) {
extras = new Bundle();
}
extras.putParcelable(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation);
location.setExtras(extras);
}
}
lastLocation.set(location);

View File

@@ -16,17 +16,19 @@
package com.android.server.location;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.security.SecureRandom;
import android.content.Context;
import android.database.ContentObserver;
import android.location.Location;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.provider.Settings;
import android.util.Log;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.security.SecureRandom;
/**
* Contains the logic to obfuscate (fudge) locations for coarse applications.
@@ -177,7 +179,12 @@ public class LocationFudger {
private Location addCoarseLocationExtraLocked(Location location) {
Location coarse = createCoarseLocked(location);
location.setExtraLocation(Location.EXTRA_COARSE_LOCATION, coarse);
Bundle extras = location.getExtras();
if (extras == null) {
extras = new Bundle();
}
extras.putParcelable(Location.EXTRA_COARSE_LOCATION, coarse);
location.setExtras(extras);
return coarse;
}