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

Commit ea29704e authored by Zoey Chen's avatar Zoey Chen
Browse files

[Telephony] Use TelephonyCallback instead of PhoneStateListener part5

Since the redesign of PhoneStateListener, use TelephonyCallback to get the callback of EVENT_*

Bug: 167684594
Test: make and atest NetworkProviderWorkerTest
Change-Id: I52af54045872bbf13e64d5d94c8b027ec702abb9
parent 63ed1b3f
Loading
Loading
Loading
Loading
+9 −8
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.network;


import android.content.Context;
import android.content.Context;
import android.telephony.PhoneStateListener;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyCallback;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.util.Log;


@@ -28,14 +29,14 @@ import java.util.concurrent.Executor;




/**
/**
 * {@link PhoneStateListener} to listen to Allowed Network Types changed
 * {@link TelephonyCallback} to listen to Allowed Network Types changed
 */
 */
public class AllowedNetworkTypesListener extends PhoneStateListener implements
public class AllowedNetworkTypesListener extends TelephonyCallback implements
        PhoneStateListener.AllowedNetworkTypesChangedListener {
        TelephonyCallback.AllowedNetworkTypesListener {
    private static final String LOG_TAG = "NetworkModeListener";
    private static final String LOG_TAG = "NetworkModeListener";


    @VisibleForTesting
    @VisibleForTesting
    AllowedNetworkTypesListener.OnAllowedNetworkTypesChangedListener mListener;
    OnAllowedNetworkTypesListener mListener;
    private long mAllowedNetworkType = -1;
    private long mAllowedNetworkType = -1;
    private Executor mExecutor;
    private Executor mExecutor;


@@ -44,7 +45,7 @@ public class AllowedNetworkTypesListener extends PhoneStateListener implements
        mExecutor = executor;
        mExecutor = executor;
    }
    }


    public void setAllowedNetworkTypesChangedListener(OnAllowedNetworkTypesChangedListener lsn) {
    public void setAllowedNetworkTypesListener(OnAllowedNetworkTypesListener lsn) {
        mListener = lsn;
        mListener = lsn;
    }
    }


@@ -56,7 +57,7 @@ public class AllowedNetworkTypesListener extends PhoneStateListener implements
    public void register(Context context, int subId) {
    public void register(Context context, int subId) {
        TelephonyManager telephonyManager = context.getSystemService(
        TelephonyManager telephonyManager = context.getSystemService(
                TelephonyManager.class).createForSubscriptionId(subId);
                TelephonyManager.class).createForSubscriptionId(subId);
        telephonyManager.registerPhoneStateListener(mExecutor, this);
        telephonyManager.registerTelephonyCallback(mExecutor, this);
    }
    }


    /**
    /**
@@ -67,7 +68,7 @@ public class AllowedNetworkTypesListener extends PhoneStateListener implements
    public void unregister(Context context, int subId) {
    public void unregister(Context context, int subId) {
        TelephonyManager telephonyManager = context.getSystemService(
        TelephonyManager telephonyManager = context.getSystemService(
                TelephonyManager.class).createForSubscriptionId(subId);
                TelephonyManager.class).createForSubscriptionId(subId);
        telephonyManager.unregisterPhoneStateListener(this);
        telephonyManager.unregisterTelephonyCallback(this);
    }
    }


    @Override
    @Override
@@ -84,7 +85,7 @@ public class AllowedNetworkTypesListener extends PhoneStateListener implements
    /**
    /**
     * Listener for update of Preferred Network Mode change
     * Listener for update of Preferred Network Mode change
     */
     */
    public interface OnAllowedNetworkTypesChangedListener {
    public interface OnAllowedNetworkTypesListener {
        /**
        /**
         * Notify the allowed network type changed.
         * Notify the allowed network type changed.
         */
         */
+1 −1
Original line number Original line Diff line number Diff line
@@ -151,7 +151,7 @@ public class EnabledNetworkModePreferenceController extends
        if (mAllowedNetworkTypesListener == null) {
        if (mAllowedNetworkTypesListener == null) {
            mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
            mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
                    mContext.getMainExecutor());
                    mContext.getMainExecutor());
            mAllowedNetworkTypesListener.setAllowedNetworkTypesChangedListener(
            mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
                    () -> updatePreference());
                    () -> updatePreference());
        }
        }


+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ public class NetworkPreferenceCategoryController extends PreferenceCategoryContr
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
        mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
        mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
                context.getMainExecutor());
                context.getMainExecutor());
        mAllowedNetworkTypesListener.setAllowedNetworkTypesChangedListener(
        mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
                () -> updatePreference());
                () -> updatePreference());
    }
    }


+11 −11
Original line number Original line Diff line number Diff line
@@ -25,9 +25,9 @@ import android.database.ContentObserver;
import android.net.Uri;
import android.net.Uri;
import android.os.Handler;
import android.os.Handler;
import android.os.Looper;
import android.os.Looper;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyCallback;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.util.Log;
@@ -63,7 +63,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements
    private final Context mContext;
    private final Context mContext;
    final Handler mHandler;
    final Handler mHandler;
    @VisibleForTesting
    @VisibleForTesting
    final PhoneStateListener mPhoneStateListener;
    final NetworkProviderTelephonyCallback mTelephonyCallback;
    private TelephonyManager mTelephonyManager;
    private TelephonyManager mTelephonyManager;
    private Config mConfig = null;
    private Config mConfig = null;
    private TelephonyDisplayInfo mTelephonyDisplayInfo =
    private TelephonyDisplayInfo mTelephonyDisplayInfo =
@@ -83,7 +83,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements


        mTelephonyManager = mContext.getSystemService(
        mTelephonyManager = mContext.getSystemService(
                TelephonyManager.class).createForSubscriptionId(mDefaultDataSubid);
                TelephonyManager.class).createForSubscriptionId(mDefaultDataSubid);
        mPhoneStateListener = new NetworkProviderPhoneStateListener();
        mTelephonyCallback = new NetworkProviderTelephonyCallback();
        mSubscriptionsListener = new SubscriptionsChangeListener(context, this);
        mSubscriptionsListener = new SubscriptionsChangeListener(context, this);
        mDataEnabledListener = new MobileDataEnabledListener(context, this);
        mDataEnabledListener = new MobileDataEnabledListener(context, this);
        mConnectivityListener = new DataConnectivityListener(context, this);
        mConnectivityListener = new DataConnectivityListener(context, this);
@@ -101,7 +101,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements
        mDataEnabledListener.start(mDefaultDataSubid);
        mDataEnabledListener.start(mDefaultDataSubid);
        mConnectivityListener.start();
        mConnectivityListener.start();
        mSignalStrengthListener.resume();
        mSignalStrengthListener.resume();
        mTelephonyManager.registerPhoneStateListener(mHandler::post, mPhoneStateListener);
        mTelephonyManager.registerTelephonyCallback(mHandler::post, mTelephonyCallback);
        super.onSlicePinned();
        super.onSlicePinned();
    }
    }


@@ -112,7 +112,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements
        mDataEnabledListener.stop();
        mDataEnabledListener.stop();
        mConnectivityListener.stop();
        mConnectivityListener.stop();
        mSignalStrengthListener.pause();
        mSignalStrengthListener.pause();
        mTelephonyManager.unregisterPhoneStateListener(mPhoneStateListener);
        mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback);
        super.onSliceUnpinned();
        super.onSliceUnpinned();
    }
    }


@@ -142,12 +142,12 @@ public class NetworkProviderWorker extends WifiScanWorker implements
            return;
            return;
        }
        }
        if (SubscriptionManager.isUsableSubscriptionId(defaultDataSubId)) {
        if (SubscriptionManager.isUsableSubscriptionId(defaultDataSubId)) {
            mTelephonyManager.unregisterPhoneStateListener(mPhoneStateListener);
            mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback);
            mMobileDataObserver.unregister(mContext);
            mMobileDataObserver.unregister(mContext);


            mSignalStrengthListener.updateSubscriptionIds(Collections.singleton(defaultDataSubId));
            mSignalStrengthListener.updateSubscriptionIds(Collections.singleton(defaultDataSubId));
            mTelephonyManager = mTelephonyManager.createForSubscriptionId(defaultDataSubId);
            mTelephonyManager = mTelephonyManager.createForSubscriptionId(defaultDataSubId);
            mTelephonyManager.registerPhoneStateListener(mHandler::post, mPhoneStateListener);
            mTelephonyManager.registerTelephonyCallback(mHandler::post, mTelephonyCallback);
            mMobileDataObserver.register(mContext, mDefaultDataSubid);
            mMobileDataObserver.register(mContext, mDefaultDataSubid);
            mConfig = getConfig(mContext);
            mConfig = getConfig(mContext);
        } else {
        } else {
@@ -217,10 +217,10 @@ public class NetworkProviderWorker extends WifiScanWorker implements
        }
        }
    }
    }


    class NetworkProviderPhoneStateListener extends PhoneStateListener implements
    class NetworkProviderTelephonyCallback extends TelephonyCallback implements
            PhoneStateListener.DataConnectionStateChangedListener,
            TelephonyCallback.DataConnectionStateListener,
            PhoneStateListener.DisplayInfoChangedListener,
            TelephonyCallback.DisplayInfoListener,
            PhoneStateListener.ServiceStateChangedListener {
            TelephonyCallback.ServiceStateListener {
        @Override
        @Override
        public void onServiceStateChanged(ServiceState state) {
        public void onServiceStateChanged(ServiceState state) {
            Log.d(TAG, "onServiceStateChanged voiceState=" + state.getState()
            Log.d(TAG, "onServiceStateChanged voiceState=" + state.getState()
+1 −1
Original line number Original line Diff line number Diff line
@@ -77,7 +77,7 @@ public abstract class CdmaBasePreferenceController extends TelephonyBasePreferen
        if (mAllowedNetworkTypesListener == null) {
        if (mAllowedNetworkTypesListener == null) {
            mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
            mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
                    mContext.getMainExecutor());
                    mContext.getMainExecutor());
            mAllowedNetworkTypesListener.setAllowedNetworkTypesChangedListener(
            mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
                    () -> updatePreference());
                    () -> updatePreference());
        }
        }
    }
    }
Loading