Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 410da4ce authored by Zoey Chen's avatar Zoey Chen Committed by Automerger Merge Worker
Browse files

Merge "[Telephony] Use TelephonyCallback instead of PhoneStateListener part1"...

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13660751

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8978b0c5142467492ea3bbc1275760bf175b26b8
parents 55d70287 af1e8b4e
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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();
+9 −6
Original line number Diff line number Diff line
@@ -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() {
+15 −16
Original line number Diff line number Diff line
@@ -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) {
+13 −15
Original line number Diff line number Diff line
@@ -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) {
+5 −5
Original line number Diff line number Diff line
@@ -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) {
Loading