Loading src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +27 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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"; Loading Loading @@ -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; Loading Loading @@ -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(); Loading @@ -155,9 +166,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O } mPhoneStateListener = getPhoneStateListener(); updateNetworkProvider(); final ServiceState serviceState = getCurrentServiceState(); updateNetworkProvider(serviceState); updatePhoneNumber(); updateLatestAreaInfo(); updateServiceState(serviceState); Loading @@ -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, Loading @@ -198,6 +210,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O return; } mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener); mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId()) .listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); Loading @@ -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() { Loading Loading @@ -441,7 +456,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O @Override public void onServiceStateChanged(ServiceState serviceState) { updateNetworkProvider(serviceState); updateNetworkProvider(); updateServiceState(serviceState); updateRoamingStatus(serviceState); } Loading tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java +7 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -103,6 +104,8 @@ public class SimStatusDialogControllerTest { private PersistableBundle mPersistableBundle; @Mock private EuiccManager mEuiccManager; @Mock private SubscriptionManager mSubscriptionManager; private SimStatusDialogController mController; private Context mContext; Loading @@ -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(""); Loading @@ -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 = Loading @@ -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(); Loading Loading
src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +27 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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"; Loading Loading @@ -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; Loading Loading @@ -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(); Loading @@ -155,9 +166,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O } mPhoneStateListener = getPhoneStateListener(); updateNetworkProvider(); final ServiceState serviceState = getCurrentServiceState(); updateNetworkProvider(serviceState); updatePhoneNumber(); updateLatestAreaInfo(); updateServiceState(serviceState); Loading @@ -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, Loading @@ -198,6 +210,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O return; } mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener); mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId()) .listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); Loading @@ -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() { Loading Loading @@ -441,7 +456,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O @Override public void onServiceStateChanged(ServiceState serviceState) { updateNetworkProvider(serviceState); updateNetworkProvider(); updateServiceState(serviceState); updateRoamingStatus(serviceState); } Loading
tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java +7 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -103,6 +104,8 @@ public class SimStatusDialogControllerTest { private PersistableBundle mPersistableBundle; @Mock private EuiccManager mEuiccManager; @Mock private SubscriptionManager mSubscriptionManager; private SimStatusDialogController mController; private Context mContext; Loading @@ -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(""); Loading @@ -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 = Loading @@ -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(); Loading