diff options
| author | 2021-02-22 21:03:44 +0800 | |
|---|---|---|
| committer | 2021-03-03 13:25:54 +0800 | |
| commit | 2f5aa10de89479c0579f56eb60ec4b9deba7d1fc (patch) | |
| tree | ef313a5b907b149986f993be12c74b94919923f8 | |
| parent | 0b1d5c1f1071582c4516026988795735d8fc4237 (diff) | |
[Telephony] Use TelephonyCallback instead of PhoneStateListener part1
Since the redesign of PhoneStateListener, use TelephonyCallback to get the callback of EVENT_*
Bug: 167684594
Test: make
Change-Id: Ia3b777b12142b104b5798804f50b34748f9bf28c
6 files changed, 50 insertions, 50 deletions
diff --git a/packages/Connectivity/framework/src/android/net/util/MultinetworkPolicyTracker.java b/packages/Connectivity/framework/src/android/net/util/MultinetworkPolicyTracker.java index 43fffd733e91..739ddada50b4 100644 --- a/packages/Connectivity/framework/src/android/net/util/MultinetworkPolicyTracker.java +++ b/packages/Connectivity/framework/src/android/net/util/MultinetworkPolicyTracker.java @@ -30,8 +30,8 @@ import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.provider.Settings; -import android.telephony.PhoneStateListener; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; import android.util.Log; @@ -92,8 +92,8 @@ public class MultinetworkPolicyTracker { } @VisibleForTesting - protected class ActiveDataSubscriptionIdChangedListener extends PhoneStateListener - implements PhoneStateListener.ActiveDataSubscriptionIdChangedListener { + protected class ActiveDataSubscriptionIdListener extends TelephonyCallback + implements TelephonyCallback.ActiveDataSubscriptionIdListener { @Override public void onActiveDataSubscriptionIdChanged(int subId) { mActiveSubId = subId; @@ -121,8 +121,8 @@ public class MultinetworkPolicyTracker { } }; - ctx.getSystemService(TelephonyManager.class).registerPhoneStateListener( - new HandlerExecutor(handler), new ActiveDataSubscriptionIdChangedListener()); + ctx.getSystemService(TelephonyManager.class).registerTelephonyCallback( + new HandlerExecutor(handler), new ActiveDataSubscriptionIdListener()); updateAvoidBadWifi(); updateMeteredMultipathPreference(); diff --git a/packages/SettingsLib/src/com/android/settingslib/connectivity/ConnectivitySubsystemsRecoveryManager.java b/packages/SettingsLib/src/com/android/settingslib/connectivity/ConnectivitySubsystemsRecoveryManager.java index 43717aba3abd..dfde3c7a2512 100644 --- a/packages/SettingsLib/src/com/android/settingslib/connectivity/ConnectivitySubsystemsRecoveryManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/connectivity/ConnectivitySubsystemsRecoveryManager.java @@ -27,7 +27,7 @@ import android.net.wifi.WifiManager.SubsystemRestartTrackingCallback; import android.os.Handler; import android.os.HandlerExecutor; import android.provider.Settings; -import android.telephony.PhoneStateListener; +import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; import android.util.Log; @@ -72,7 +72,10 @@ public class ConnectivitySubsystemsRecoveryManager { checkIfAllSubsystemsRestartsAreDone(); } }; - private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() { + private final MobileTelephonyCallback mTelephonyCallback = new MobileTelephonyCallback(); + + private class MobileTelephonyCallback extends TelephonyCallback implements + TelephonyCallback.RadioPowerStateListener { @Override public void onRadioPowerStateChanged(int state) { if (!mTelephonyRestartInProgress || mCurrentRecoveryCallback == null) { @@ -85,7 +88,7 @@ public class ConnectivitySubsystemsRecoveryManager { checkIfAllSubsystemsRestartsAreDone(); } } - }; + } public ConnectivitySubsystemsRecoveryManager(@NonNull Context context, @NonNull Handler handler) { @@ -201,12 +204,12 @@ public class ConnectivitySubsystemsRecoveryManager { } private void startTrackingTelephonyRestart() { - mTelephonyManager.registerPhoneStateListener(new HandlerExecutor(mHandler), - mPhoneStateListener); + mTelephonyManager.registerTelephonyCallback(new HandlerExecutor(mHandler), + mTelephonyCallback); } private void stopTrackingTelephonyRestart() { - mTelephonyManager.unregisterPhoneStateListener(mPhoneStateListener); + mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback); } private void checkIfAllSubsystemsRestartsAreDone() { diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java index 0cd5e4ded168..1a08366734bc 100644 --- a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileStatusTracker.java @@ -17,11 +17,11 @@ package com.android.settingslib.mobile; import android.os.Handler; import android.os.Looper; -import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyCallback; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.util.Log; @@ -40,9 +40,9 @@ public class MobileStatusTracker { private final SubscriptionInfo mSubscriptionInfo; private final Callback mCallback; private final MobileStatus mMobileStatus; - private final PhoneStateListener mPhoneStateListener; private final SubscriptionDefaults mDefaults; private final Handler mReceiverHandler; + private final MobileTelephonyCallback mTelephonyCallback; /** * MobileStatusTracker constructors @@ -58,7 +58,7 @@ public class MobileStatusTracker { SubscriptionInfo info, SubscriptionDefaults defaults, Callback callback) { mPhone = phone; mReceiverHandler = new Handler(receiverLooper); - mPhoneStateListener = new MobilePhoneStateListener(); + mTelephonyCallback = new MobileTelephonyCallback(); mSubscriptionInfo = info; mDefaults = defaults; mCallback = callback; @@ -68,8 +68,8 @@ public class MobileStatusTracker { /* updateTelephony= */false, new MobileStatus(mMobileStatus))); } - public PhoneStateListener getPhoneStateListener() { - return mPhoneStateListener; + public MobileTelephonyCallback getTelephonyCallback() { + return mTelephonyCallback; } /** @@ -77,9 +77,9 @@ public class MobileStatusTracker { */ public void setListening(boolean listening) { if (listening) { - mPhone.registerPhoneStateListener(mReceiverHandler::post, mPhoneStateListener); + mPhone.registerTelephonyCallback(mReceiverHandler::post, mTelephonyCallback); } else { - mPhone.unregisterPhoneStateListener(mPhoneStateListener); + mPhone.unregisterTelephonyCallback(mTelephonyCallback); } } @@ -106,15 +106,14 @@ public class MobileStatusTracker { || activity == TelephonyManager.DATA_ACTIVITY_OUT; } - private class MobilePhoneStateListener extends PhoneStateListener implements - PhoneStateListener.ServiceStateChangedListener, - PhoneStateListener.SignalStrengthsChangedListener, - PhoneStateListener.CallStateChangedListener, - PhoneStateListener.DataConnectionStateChangedListener, - PhoneStateListener.DataActivityListener, - PhoneStateListener.CarrierNetworkChangeListener, - PhoneStateListener.ActiveDataSubscriptionIdChangedListener, - PhoneStateListener.DisplayInfoChangedListener{ + public class MobileTelephonyCallback extends TelephonyCallback implements + TelephonyCallback.ServiceStateListener, + TelephonyCallback.SignalStrengthsListener, + TelephonyCallback.DataConnectionStateListener, + TelephonyCallback.DataActivityListener, + TelephonyCallback.CarrierNetworkListener, + TelephonyCallback.ActiveDataSubscriptionIdListener, + TelephonyCallback.DisplayInfoListener{ @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index e52b92648670..1ae3531a347b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -50,11 +50,11 @@ import android.provider.Settings; import android.provider.Settings.Global; import android.telephony.CellSignalStrength; import android.telephony.NetworkRegistrationInfo; -import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyCallback; import android.telephony.TelephonyDisplayInfo; import android.telephony.TelephonyManager; import android.testing.TestableLooper; @@ -106,7 +106,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected NetworkControllerImpl mNetworkController; protected MobileSignalController mMobileSignalController; - protected PhoneStateListener mPhoneStateListener; protected SignalStrength mSignalStrength; protected ServiceState mServiceState; protected TelephonyDisplayInfo mTelephonyDisplayInfo; @@ -250,8 +249,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { setDefaultSubId(mSubId); setSubscriptions(mSubId); mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId); - mPhoneStateListener = mMobileSignalController.mMobileStatusTracker.getPhoneStateListener(); - ArgumentCaptor<ConnectivityManager.NetworkCallback> callbackArg = ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class); verify(mMockCm, atLeastOnce()) @@ -453,18 +450,16 @@ public class NetworkControllerBaseTest extends SysuiTestCase { private void updateSignalStrength() { Log.d(TAG, "Sending Signal Strength: " + mSignalStrength); - mPhoneStateListener.onSignalStrengthsChanged(mSignalStrength); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onSignalStrengthsChanged(mSignalStrength); } protected void updateServiceState() { Log.d(TAG, "Sending Service State: " + mServiceState); - mPhoneStateListener.onServiceStateChanged(mServiceState); - mPhoneStateListener.onDisplayInfoChanged(mTelephonyDisplayInfo); - } - - public void updateCallState(int state) { - // Inputs not currently used in NetworkControllerImpl. - mPhoneStateListener.onCallStateChanged(state, "0123456789"); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onServiceStateChanged(mServiceState); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onDisplayInfoChanged(mTelephonyDisplayInfo); } public void updateDataConnectionState(int dataState, int dataNetType) { @@ -476,16 +471,19 @@ public class NetworkControllerBaseTest extends SysuiTestCase { when(mServiceState.getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN)) .thenReturn(fakeRegInfo); when(mTelephonyDisplayInfo.getNetworkType()).thenReturn(dataNetType); - mPhoneStateListener.onDataConnectionStateChanged(dataState, dataNetType); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onDataConnectionStateChanged(dataState, dataNetType); } public void updateDataActivity(int dataActivity) { - mPhoneStateListener.onDataActivity(dataActivity); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onDataActivity(dataActivity); } public void setCarrierNetworkChange(boolean enable) { Log.d(TAG, "setCarrierNetworkChange(" + enable + ")"); - mPhoneStateListener.onCarrierNetworkChange(enable); + mMobileSignalController.mMobileStatusTracker.getTelephonyCallback() + .onCarrierNetworkChange(enable); } protected void verifyHasNoSims(boolean hasNoSimsVisible) { diff --git a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java index 05d0aefe7c89..dbd8dd9eff3b 100644 --- a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java +++ b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java @@ -21,7 +21,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.SystemClock; -import android.telephony.PhoneStateListener; +import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; import com.android.server.FgThread; @@ -55,8 +55,8 @@ public class SystemEmergencyHelper extends EmergencyHelper { // TODO: this doesn't account for multisim phones - mTelephonyManager.registerPhoneStateListener(FgThread.getExecutor(), - new EmergencyCallPhoneStateListener()); + mTelephonyManager.registerTelephonyCallback(FgThread.getExecutor(), + new EmergencyCallTelephonyCallback()); mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -78,8 +78,8 @@ public class SystemEmergencyHelper extends EmergencyHelper { || mTelephonyManager.isInEmergencySmsMode(); } - private class EmergencyCallPhoneStateListener extends PhoneStateListener implements - PhoneStateListener.CallStateChangedListener { + private class EmergencyCallTelephonyCallback extends TelephonyCallback implements + TelephonyCallback.CallStateListener{ @Override public void onCallStateChanged(int state, String incomingNumber) { diff --git a/tests/net/java/android/net/util/MultinetworkPolicyTrackerTest.kt b/tests/net/java/android/net/util/MultinetworkPolicyTrackerTest.kt index 9b0cfa9db30f..c1315f64c56b 100644 --- a/tests/net/java/android/net/util/MultinetworkPolicyTrackerTest.kt +++ b/tests/net/java/android/net/util/MultinetworkPolicyTrackerTest.kt @@ -21,7 +21,7 @@ import android.content.res.Resources import android.net.ConnectivityManager.MULTIPATH_PREFERENCE_HANDOVER import android.net.ConnectivityManager.MULTIPATH_PREFERENCE_PERFORMANCE import android.net.ConnectivityManager.MULTIPATH_PREFERENCE_RELIABILITY -import android.net.util.MultinetworkPolicyTracker.ActiveDataSubscriptionIdChangedListener +import android.net.util.MultinetworkPolicyTracker.ActiveDataSubscriptionIdListener import android.provider.Settings import android.provider.Settings.Global.NETWORK_AVOID_BAD_WIFI import android.provider.Settings.Global.NETWORK_METERED_MULTIPATH_PREFERENCE @@ -120,9 +120,9 @@ class MultinetworkPolicyTrackerTest { MULTIPATH_PREFERENCE_PERFORMANCE.toString()) val listenerCaptor = ArgumentCaptor.forClass( - ActiveDataSubscriptionIdChangedListener::class.java) + ActiveDataSubscriptionIdListener::class.java) verify(telephonyManager, times(1)) - .registerPhoneStateListener(any(), listenerCaptor.capture()) + .registerTelephonyCallback(any(), listenerCaptor.capture()) val listener = listenerCaptor.value listener.onActiveDataSubscriptionIdChanged(testSubId) |