Merge "Revert "improve mism support for phonestatelistner""
am: 6eab01bf59
Change-Id: I4c54c362aedaf680fd59a10cf4d792910ba8a04c
This commit is contained in:
committed by
android-build-merger
commit
8aca5c4cb8
@@ -627,11 +627,6 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
||||
r.callingPackage = callingPackage;
|
||||
r.callerUid = Binder.getCallingUid();
|
||||
r.callerPid = Binder.getCallingPid();
|
||||
if (r.subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID && r.subId != subId) {
|
||||
throw new IllegalArgumentException(
|
||||
"PhoneStateListener cannot concurrently listen on multiple " +
|
||||
"subscriptions. Previously registered on subId: " + r.subId);
|
||||
}
|
||||
// Legacy applications pass SubscriptionManager.DEFAULT_SUB_ID,
|
||||
// force all illegal subId to SubscriptionManager.DEFAULT_SUB_ID
|
||||
if (!SubscriptionManager.isValidSubscriptionId(subId)) {
|
||||
|
||||
@@ -4755,22 +4755,18 @@ public class TelephonyManager {
|
||||
* Registers a listener object to receive notification of changes
|
||||
* in specified telephony states.
|
||||
* <p>
|
||||
* To register a listener, pass a {@link PhoneStateListener} and specify at least one telephony
|
||||
* state of interest in the events argument.
|
||||
* To register a listener, pass a {@link PhoneStateListener}
|
||||
* and specify at least one telephony state of interest in
|
||||
* the events argument.
|
||||
*
|
||||
* At registration, and when a specified telephony state changes, the telephony manager invokes
|
||||
* the appropriate callback method on the listener object and passes the current (updated)
|
||||
* values.
|
||||
* At registration, and when a specified telephony state
|
||||
* changes, the telephony manager invokes the appropriate
|
||||
* callback method on the listener object and passes the
|
||||
* current (updated) values.
|
||||
* <p>
|
||||
* To un-register a listener, pass the listener object and set the events argument to
|
||||
* To unregister a listener, pass the listener object and set the
|
||||
* events argument to
|
||||
* {@link PhoneStateListener#LISTEN_NONE LISTEN_NONE} (0).
|
||||
*
|
||||
* If this TelephonyManager object has been created with {@link #createForSubscriptionId},
|
||||
* applies to the given subId. Otherwise, applies to
|
||||
* {@link SubscriptionManager#getDefaultSubscriptionId()}. To listen events for multiple subIds,
|
||||
* pass a separate listener object to each TelephonyManager object created with
|
||||
* {@link #createForSubscriptionId}.
|
||||
*
|
||||
* Note: if you call this method while in the middle of a binder transaction, you <b>must</b>
|
||||
* call {@link android.os.Binder#clearCallingIdentity()} before calling this method. A
|
||||
* {@link SecurityException} will be thrown otherwise.
|
||||
@@ -4785,18 +4781,17 @@ public class TelephonyManager {
|
||||
if (mContext == null) return;
|
||||
try {
|
||||
boolean notifyNow = (getITelephony() != null);
|
||||
// If the listener has not explicitly set the subId (for example, created with the
|
||||
// default constructor), replace the subId so it will listen to the account the
|
||||
// telephony manager is created with.
|
||||
if (listener.mSubId == null) {
|
||||
listener.mSubId = mSubId;
|
||||
}
|
||||
|
||||
ITelephonyRegistry registry = getTelephonyRegistry();
|
||||
if (registry != null) {
|
||||
// listen to the subId the telephony manager is created with. Ignore subId in
|
||||
// PhoneStateListener.
|
||||
registry.listenForSubscriber(mSubId, getOpPackageName(),
|
||||
registry.listenForSubscriber(listener.mSubId, getOpPackageName(),
|
||||
listener.callback, events, notifyNow);
|
||||
// TODO: remove this once we remove PhoneStateListener constructor with subId.
|
||||
if (events == PhoneStateListener.LISTEN_NONE) {
|
||||
listener.mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
} else {
|
||||
listener.mSubId = mSubId;
|
||||
}
|
||||
} else {
|
||||
Rlog.w(TAG, "telephony registry not ready.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user