Merge "[Telephony] Use TelephonyCallback instead of PhoneStateListener part1" into sc-dev

This commit is contained in:
Zoey Chen
2021-03-05 14:50:27 +00:00
committed by Android (Google) Code Review
6 changed files with 50 additions and 50 deletions

View File

@@ -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();

View File

@@ -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() {

View File

@@ -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) {

View File

@@ -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())
@@ -455,18 +452,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) {
@@ -478,16 +473,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) {

View File

@@ -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) {

View File

@@ -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)