Make sanitizeLocationInfo System Api.
sanitizeLocationInfo is a helper API but it's used by TelephonyRegistry which is not part of mainline module. So we need to expose it as System Api, and properly rename it. Bug: 146905502 Test: build flash and boot Change-Id: Ia318ada2e478dbb24349119203b7869d23342ee5 Merged-In: Ia318ada2e478dbb24349119203b7869d23342ee5
This commit is contained in:
@@ -8761,6 +8761,7 @@ package android.telephony {
|
||||
}
|
||||
|
||||
public class ServiceState implements android.os.Parcelable {
|
||||
method @NonNull public android.telephony.ServiceState createLocationInfoSanitizedCopy(boolean);
|
||||
method public int getDataRegistrationState();
|
||||
method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
|
||||
method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoList();
|
||||
|
||||
@@ -788,9 +788,11 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
||||
if (checkFineLocationAccess(r, Build.VERSION_CODES.Q)) {
|
||||
r.callback.onServiceStateChanged(rawSs);
|
||||
} else if (checkCoarseLocationAccess(r, Build.VERSION_CODES.Q)) {
|
||||
r.callback.onServiceStateChanged(rawSs.sanitizeLocationInfo(false));
|
||||
r.callback.onServiceStateChanged(
|
||||
rawSs.createLocationInfoSanitizedCopy(false));
|
||||
} else {
|
||||
r.callback.onServiceStateChanged(rawSs.sanitizeLocationInfo(true));
|
||||
r.callback.onServiceStateChanged(
|
||||
rawSs.createLocationInfoSanitizedCopy(true));
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
remove(r.binder);
|
||||
@@ -1146,9 +1148,9 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
||||
if (checkFineLocationAccess(r, Build.VERSION_CODES.Q)) {
|
||||
stateToSend = new ServiceState(state);
|
||||
} else if (checkCoarseLocationAccess(r, Build.VERSION_CODES.Q)) {
|
||||
stateToSend = state.sanitizeLocationInfo(false);
|
||||
stateToSend = state.createLocationInfoSanitizedCopy(false);
|
||||
} else {
|
||||
stateToSend = state.sanitizeLocationInfo(true);
|
||||
stateToSend = state.createLocationInfoSanitizedCopy(true);
|
||||
}
|
||||
if (DBG) {
|
||||
log("notifyServiceStateForSubscriber: callback.onSSC r=" + r
|
||||
|
||||
@@ -1950,9 +1950,18 @@ public class ServiceState implements Parcelable {
|
||||
* Returns a copy of self with location-identifying information removed.
|
||||
* Always clears the NetworkRegistrationInfo's CellIdentity fields, but if removeCoarseLocation
|
||||
* is true, clears other info as well.
|
||||
*
|
||||
* @param removeCoarseLocation Whether to also remove coarse location information.
|
||||
* if false, it only clears fine location information such as
|
||||
* NetworkRegistrationInfo's CellIdentity fields; If true, it will
|
||||
* also remove other location information such as operator's MCC
|
||||
* and MNC.
|
||||
* @return the copied ServiceState with location info sanitized.
|
||||
* @hide
|
||||
*/
|
||||
public ServiceState sanitizeLocationInfo(boolean removeCoarseLocation) {
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public ServiceState createLocationInfoSanitizedCopy(boolean removeCoarseLocation) {
|
||||
ServiceState state = new ServiceState(this);
|
||||
synchronized (state.mNetworkRegistrationInfos) {
|
||||
List<NetworkRegistrationInfo> networkRegistrationInfos =
|
||||
|
||||
Reference in New Issue
Block a user