Remove setLocationExtra per API feedback

Bug: 142828735
Test: atest LocationManagerFineTest
Change-Id: I73193dc2484a2b8051c5cff42cd3fcec9a44a015
This commit is contained in:
Soonil Nagarkar
2020-01-24 13:12:41 -08:00
parent 4b0dec268d
commit 56a2a44537
5 changed files with 17 additions and 25 deletions

View File

@@ -4091,7 +4091,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

@@ -1270,7 +1270,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

@@ -2704,7 +2704,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;
}