Merge "Fix include location data to check for coarse location first." into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f8e43432fd
@@ -1036,12 +1036,6 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
|||||||
callingFeatureId, callback, eventList, notifyNow, subId);
|
callingFeatureId, callback, eventList, notifyNow, subId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void listen(String callingPackage, @Nullable String callingFeatureId,
|
|
||||||
IPhoneStateListener callback, Set<Integer> events, boolean notifyNow, int subId) {
|
|
||||||
listen(false, false, callingPackage,
|
|
||||||
callingFeatureId, callback, events, notifyNow, subId);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void listen(boolean renounceFineLocationAccess,
|
private void listen(boolean renounceFineLocationAccess,
|
||||||
boolean renounceCoarseLocationAccess, String callingPackage,
|
boolean renounceCoarseLocationAccess, String callingPackage,
|
||||||
@Nullable String callingFeatureId, IPhoneStateListener callback,
|
@Nullable String callingFeatureId, IPhoneStateListener callback,
|
||||||
|
|||||||
@@ -12190,15 +12190,7 @@ public class TelephonyManager {
|
|||||||
})
|
})
|
||||||
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS)
|
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS)
|
||||||
public @Nullable ServiceState getServiceState() {
|
public @Nullable ServiceState getServiceState() {
|
||||||
if (getRenouncedPermissions().contains(Manifest.permission.ACCESS_FINE_LOCATION)) {
|
return getServiceState(getLocationData());
|
||||||
if (getRenouncedPermissions().contains(Manifest.permission.ACCESS_COARSE_LOCATION)) {
|
|
||||||
return getServiceState(INCLUDE_LOCATION_DATA_NONE);
|
|
||||||
} else {
|
|
||||||
return getServiceState(INCLUDE_LOCATION_DATA_COARSE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return getServiceState(INCLUDE_LOCATION_DATA_FINE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16189,17 +16181,21 @@ public class TelephonyManager {
|
|||||||
*/
|
*/
|
||||||
public void registerTelephonyCallback(@NonNull @CallbackExecutor Executor executor,
|
public void registerTelephonyCallback(@NonNull @CallbackExecutor Executor executor,
|
||||||
@NonNull TelephonyCallback callback) {
|
@NonNull TelephonyCallback callback) {
|
||||||
if (getRenouncedPermissions().contains(Manifest.permission.ACCESS_FINE_LOCATION)) {
|
registerTelephonyCallback(getLocationData(), executor, callback);
|
||||||
if (getRenouncedPermissions().contains(Manifest.permission.ACCESS_COARSE_LOCATION)) {
|
}
|
||||||
registerTelephonyCallback(INCLUDE_LOCATION_DATA_NONE, executor, callback);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
registerTelephonyCallback(INCLUDE_LOCATION_DATA_COARSE, executor, callback);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
registerTelephonyCallback(INCLUDE_LOCATION_DATA_FINE, executor, callback);
|
private int getLocationData() {
|
||||||
|
boolean renounceCoarseLocation =
|
||||||
|
getRenouncedPermissions().contains(Manifest.permission.ACCESS_COARSE_LOCATION);
|
||||||
|
boolean renounceFineLocation =
|
||||||
|
getRenouncedPermissions().contains(Manifest.permission.ACCESS_FINE_LOCATION);
|
||||||
|
if (renounceCoarseLocation) {
|
||||||
|
return INCLUDE_LOCATION_DATA_NONE;
|
||||||
|
} else if (renounceFineLocation) {
|
||||||
|
return INCLUDE_LOCATION_DATA_COARSE;
|
||||||
|
} else {
|
||||||
|
return INCLUDE_LOCATION_DATA_FINE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
|
|||||||
Reference in New Issue
Block a user