[Telephony] Use #registerPhoneStateListener() to listen EVENT instead of #listen()
CallFeaturesSetting
CallNotifier
RadioInfo
AccessibilitySettingsFragment
VvmSimStateTracker
TelecomAccountRegistry
Bug: 175270956
Test: manual
Change-Id: I288bfb80e189da42eb1e94c2879648e3ac278aa7
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 6c18623..4c38d98 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -25,6 +25,7 @@
import android.media.ToneGenerator;
import android.os.AsyncResult;
import android.os.Handler;
+import android.os.HandlerExecutor;
import android.os.Message;
import android.os.SystemProperties;
import android.telecom.TelecomManager;
@@ -583,9 +584,8 @@
mApplication.notificationMgr.updateMwi(subId, false);
mApplication.notificationMgr.updateCfi(subId, false);
- // Listening to LISTEN_NONE removes the listener.
- mTelephonyManager.listen(
- mPhoneStateListeners.get(subId), PhoneStateListener.LISTEN_NONE);
+ // Unregister the listener.
+ mTelephonyManager.unregisterPhoneStateListener(mPhoneStateListeners.get(subId));
mPhoneStateListeners.remove(subId);
} else {
Log.d(LOG_TAG, "updatePhoneStateListeners: update CF notifications.");
@@ -618,9 +618,8 @@
int subId = subInfos.get(i).getSubscriptionId();
if (!mPhoneStateListeners.containsKey(subId)) {
CallNotifierPhoneStateListener listener = new CallNotifierPhoneStateListener(subId);
- mTelephonyManager.createForSubscriptionId(subId).listen(listener,
- PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
- | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR);
+ mTelephonyManager.createForSubscriptionId(subId).registerPhoneStateListener(
+ new HandlerExecutor(this), listener);
mPhoneStateListeners.put(subId, listener);
}
}
@@ -768,7 +767,10 @@
}
};
- private class CallNotifierPhoneStateListener extends PhoneStateListener {
+ private class CallNotifierPhoneStateListener extends PhoneStateListener implements
+ PhoneStateListener.MessageWaitingIndicatorChangedListener,
+ PhoneStateListener.CallForwardingIndicatorChangedListener {
+
private final int mSubId;
CallNotifierPhoneStateListener(int subId) {
@@ -790,7 +792,7 @@
mCFIStatus.put(this.mSubId, visible);
updatePhoneStateListeners(false, UPDATE_TYPE_CFI, this.mSubId);
}
- };
+ }
private void log(String msg) {
Log.d(LOG_TAG, msg);