Add TelephonyRegistry LOCATION checks
Enforce location checks for barring and registration failure
when a caller registers the listeners. This CL makes the
enforcement consistent between what's enforced at the time
listen() is invoked with the checks that are enforced at
all other points for these callbacks and ensures consistency
with the philosophy of other PhoneStateListener APIs
that are checked when listen() is invoked.
Bug: 157272471
Test: cts - atest PhoneStateListenerTest
Change-Id: Iadc6dc3dabc4f1abce7c5c4fc53d14a1e66f8ba7
This commit is contained in:
@@ -310,27 +310,30 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
||||
private List<Map<Integer, PreciseDataConnectionState>> mPreciseDataConnectionStates =
|
||||
new ArrayList<Map<Integer, PreciseDataConnectionState>>();
|
||||
|
||||
// Nothing here yet, but putting it here in case we want to add more in the future.
|
||||
static final int ENFORCE_COARSE_LOCATION_PERMISSION_MASK = 0;
|
||||
static final int ENFORCE_COARSE_LOCATION_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_REGISTRATION_FAILURE
|
||||
| PhoneStateListener.LISTEN_BARRING_INFO;
|
||||
|
||||
static final int ENFORCE_FINE_LOCATION_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_CELL_LOCATION
|
||||
| PhoneStateListener.LISTEN_CELL_INFO;
|
||||
| PhoneStateListener.LISTEN_CELL_INFO
|
||||
| PhoneStateListener.LISTEN_REGISTRATION_FAILURE
|
||||
| PhoneStateListener.LISTEN_BARRING_INFO;
|
||||
|
||||
static final int ENFORCE_PHONE_STATE_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
|
||||
| PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
|
||||
| PhoneStateListener.LISTEN_EMERGENCY_NUMBER_LIST
|
||||
| PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED;
|
||||
PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
|
||||
| PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
|
||||
| PhoneStateListener.LISTEN_EMERGENCY_NUMBER_LIST
|
||||
| PhoneStateListener.LISTEN_DISPLAY_INFO_CHANGED;
|
||||
|
||||
static final int ENFORCE_PRECISE_PHONE_STATE_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_PRECISE_CALL_STATE
|
||||
| PhoneStateListener.LISTEN_PRECISE_DATA_CONNECTION_STATE
|
||||
| PhoneStateListener.LISTEN_CALL_DISCONNECT_CAUSES
|
||||
| PhoneStateListener.LISTEN_CALL_ATTRIBUTES_CHANGED
|
||||
| PhoneStateListener.LISTEN_IMS_CALL_DISCONNECT_CAUSES
|
||||
| PhoneStateListener.LISTEN_REGISTRATION_FAILURE
|
||||
| PhoneStateListener.LISTEN_BARRING_INFO;
|
||||
PhoneStateListener.LISTEN_PRECISE_CALL_STATE
|
||||
| PhoneStateListener.LISTEN_PRECISE_DATA_CONNECTION_STATE
|
||||
| PhoneStateListener.LISTEN_CALL_DISCONNECT_CAUSES
|
||||
| PhoneStateListener.LISTEN_CALL_ATTRIBUTES_CHANGED
|
||||
| PhoneStateListener.LISTEN_IMS_CALL_DISCONNECT_CAUSES
|
||||
| PhoneStateListener.LISTEN_REGISTRATION_FAILURE
|
||||
| PhoneStateListener.LISTEN_BARRING_INFO;
|
||||
|
||||
static final int READ_ACTIVE_EMERGENCY_SESSION_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_OUTGOING_EMERGENCY_CALL
|
||||
@@ -338,9 +341,9 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
||||
|
||||
static final int READ_PRIVILEGED_PHONE_STATE_PERMISSION_MASK =
|
||||
PhoneStateListener.LISTEN_OEM_HOOK_RAW_EVENT
|
||||
| PhoneStateListener.LISTEN_SRVCC_STATE_CHANGED
|
||||
| PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED
|
||||
| PhoneStateListener.LISTEN_VOICE_ACTIVATION_STATE;
|
||||
| PhoneStateListener.LISTEN_SRVCC_STATE_CHANGED
|
||||
| PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED
|
||||
| PhoneStateListener.LISTEN_VOICE_ACTIVATION_STATE;
|
||||
|
||||
private static final int MSG_USER_SWITCHED = 1;
|
||||
private static final int MSG_UPDATE_DEFAULT_SUB = 2;
|
||||
|
||||
Reference in New Issue
Block a user