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

Commit b73d3c70 authored by Pengquan Meng's avatar Pengquan Meng Committed by Android (Google) Code Review
Browse files

Merge "Fixed network name for about/sim_status" into qt-dev

parents 35890fab 0ab776f6
Loading
Loading
Loading
Loading
+27 −12
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.simstatus;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
import static android.content.Context.EUICC_SERVICE;
import static android.content.Context.TELEPHONY_SERVICE;
import static android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE;

import android.Manifest;
import android.content.BroadcastReceiver;
@@ -36,6 +37,7 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager;
import android.text.BidiFormatter;
@@ -53,8 +55,6 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;

import java.util.List;

public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause {

    private final static String TAG = "SimStatusDialogCtrl";
@@ -98,9 +98,21 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
            "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO";
    private final static String CELL_BROADCAST_RECEIVER_APP = "com.android.cellbroadcastreceiver";

    private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener =
            new OnSubscriptionsChangedListener() {
                @Override
                public void onSubscriptionsChanged() {
                    mSubscriptionInfo = mSubscriptionManager.getActiveSubscriptionInfo(
                            mSubscriptionInfo.getSubscriptionId());
                    updateNetworkProvider();
                }
            };

    private SubscriptionInfo mSubscriptionInfo;

    private final SimStatusDialogFragment mDialog;
    private final SubscriptionInfo mSubscriptionInfo;
    private final TelephonyManager mTelephonyManager;
    private final SubscriptionManager mSubscriptionManager;
    private final CarrierConfigManager mCarrierConfigManager;
    private final EuiccManager mEuiccManager;
    private final Resources mRes;
@@ -134,11 +146,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
        mDialog = dialog;
        mContext = dialog.getContext();
        mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
        mTelephonyManager = (TelephonyManager) mContext.getSystemService(
                TELEPHONY_SERVICE);
        mCarrierConfigManager = (CarrierConfigManager) mContext.getSystemService(
                CARRIER_CONFIG_SERVICE);
        mEuiccManager = (EuiccManager) mContext.getSystemService(EUICC_SERVICE);
        mTelephonyManager =  mContext.getSystemService(TelephonyManager.class);
        mCarrierConfigManager =  mContext.getSystemService(CarrierConfigManager.class);
        mEuiccManager =  mContext.getSystemService(EuiccManager.class);
        mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);

        mRes = mContext.getResources();

@@ -155,9 +166,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
        }

        mPhoneStateListener = getPhoneStateListener();
        updateNetworkProvider();

        final ServiceState serviceState = getCurrentServiceState();
        updateNetworkProvider(serviceState);
        updatePhoneNumber();
        updateLatestAreaInfo();
        updateServiceState(serviceState);
@@ -179,6 +190,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
                PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
                        | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
                        | PhoneStateListener.LISTEN_SERVICE_STATE);
        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);

        if (mShowLatestAreaInfo) {
            mContext.registerReceiver(mAreaInfoReceiver,
@@ -198,6 +210,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
            return;
        }

        mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
        mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
                .listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);

@@ -206,8 +219,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
        }
    }

    private void updateNetworkProvider(ServiceState serviceState) {
        mDialog.setText(NETWORK_PROVIDER_VALUE_ID, serviceState.getOperatorAlphaLong());
    private void updateNetworkProvider() {
        final CharSequence carrierName =
                mSubscriptionInfo != null ? mSubscriptionInfo.getCarrierName() : null;
        mDialog.setText(NETWORK_PROVIDER_VALUE_ID, carrierName);
    }

    private void updatePhoneNumber() {
@@ -441,7 +456,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O

            @Override
            public void onServiceStateChanged(ServiceState serviceState) {
                updateNetworkProvider(serviceState);
                updateNetworkProvider();
                updateServiceState(serviceState);
                updateRoamingStatus(serviceState);
            }
+7 −2
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager;

@@ -103,6 +104,8 @@ public class SimStatusDialogControllerTest {
    private PersistableBundle mPersistableBundle;
    @Mock
    private EuiccManager mEuiccManager;
    @Mock
    private SubscriptionManager mSubscriptionManager;

    private SimStatusDialogController mController;
    private Context mContext;
@@ -123,6 +126,7 @@ public class SimStatusDialogControllerTest {
        doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
        doReturn("").when(mController).getPhoneNumber();
        doReturn(mSignalStrength).when(mController).getSignalStrength();
        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());

        when(mEuiccManager.isEnabled()).thenReturn(true);
        when(mEuiccManager.getEid()).thenReturn("");
@@ -130,6 +134,7 @@ public class SimStatusDialogControllerTest {
        ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
        ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
        ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
        ReflectionHelpers.setField(mController, "mSubscriptionManager", mSubscriptionManager);
        when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);

        final ShadowPackageManager shadowPackageManager =
@@ -141,8 +146,8 @@ public class SimStatusDialogControllerTest {

    @Test
    public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
        final String carrierName = "foobar";
        when(mServiceState.getOperatorAlphaLong()).thenReturn(carrierName);
        final CharSequence carrierName = "foobar";
        doReturn(carrierName).when(mSubscriptionInfo).getCarrierName();

        mController.initialize();