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

This commit is contained in:
Pengquan Meng
2019-05-10 06:10:48 +00:00
committed by Android (Google) Code Review
2 changed files with 34 additions and 14 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.simstatus;
import static android.content.Context.CARRIER_CONFIG_SERVICE; import static android.content.Context.CARRIER_CONFIG_SERVICE;
import static android.content.Context.EUICC_SERVICE; import static android.content.Context.EUICC_SERVICE;
import static android.content.Context.TELEPHONY_SERVICE; import static android.content.Context.TELEPHONY_SERVICE;
import static android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE;
import android.Manifest; import android.Manifest;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
@@ -36,6 +37,7 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager; import android.telephony.euicc.EuiccManager;
import android.text.BidiFormatter; 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.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume; import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause { public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause {
private final static String TAG = "SimStatusDialogCtrl"; 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"; "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO";
private final static String CELL_BROADCAST_RECEIVER_APP = "com.android.cellbroadcastreceiver"; 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 SimStatusDialogFragment mDialog;
private final SubscriptionInfo mSubscriptionInfo;
private final TelephonyManager mTelephonyManager; private final TelephonyManager mTelephonyManager;
private final SubscriptionManager mSubscriptionManager;
private final CarrierConfigManager mCarrierConfigManager; private final CarrierConfigManager mCarrierConfigManager;
private final EuiccManager mEuiccManager; private final EuiccManager mEuiccManager;
private final Resources mRes; private final Resources mRes;
@@ -134,11 +146,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
mDialog = dialog; mDialog = dialog;
mContext = dialog.getContext(); mContext = dialog.getContext();
mSubscriptionInfo = getPhoneSubscriptionInfo(slotId); mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
mTelephonyManager = (TelephonyManager) mContext.getSystemService( mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
TELEPHONY_SERVICE); mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
mCarrierConfigManager = (CarrierConfigManager) mContext.getSystemService( mEuiccManager = mContext.getSystemService(EuiccManager.class);
CARRIER_CONFIG_SERVICE); mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
mEuiccManager = (EuiccManager) mContext.getSystemService(EUICC_SERVICE);
mRes = mContext.getResources(); mRes = mContext.getResources();
@@ -155,9 +166,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
mPhoneStateListener = getPhoneStateListener(); mPhoneStateListener = getPhoneStateListener();
updateNetworkProvider();
final ServiceState serviceState = getCurrentServiceState(); final ServiceState serviceState = getCurrentServiceState();
updateNetworkProvider(serviceState);
updatePhoneNumber(); updatePhoneNumber();
updateLatestAreaInfo(); updateLatestAreaInfo();
updateServiceState(serviceState); updateServiceState(serviceState);
@@ -179,6 +190,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
| PhoneStateListener.LISTEN_SERVICE_STATE); | PhoneStateListener.LISTEN_SERVICE_STATE);
mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
if (mShowLatestAreaInfo) { if (mShowLatestAreaInfo) {
mContext.registerReceiver(mAreaInfoReceiver, mContext.registerReceiver(mAreaInfoReceiver,
@@ -198,6 +210,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
return; return;
} }
mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId()) mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); .listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
@@ -206,8 +219,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
} }
private void updateNetworkProvider(ServiceState serviceState) { private void updateNetworkProvider() {
mDialog.setText(NETWORK_PROVIDER_VALUE_ID, serviceState.getOperatorAlphaLong()); final CharSequence carrierName =
mSubscriptionInfo != null ? mSubscriptionInfo.getCarrierName() : null;
mDialog.setText(NETWORK_PROVIDER_VALUE_ID, carrierName);
} }
private void updatePhoneNumber() { private void updatePhoneNumber() {
@@ -441,7 +456,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
@Override @Override
public void onServiceStateChanged(ServiceState serviceState) { public void onServiceStateChanged(ServiceState serviceState) {
updateNetworkProvider(serviceState); updateNetworkProvider();
updateServiceState(serviceState); updateServiceState(serviceState);
updateRoamingStatus(serviceState); updateRoamingStatus(serviceState);
} }

View File

@@ -63,6 +63,7 @@ import android.telephony.PhoneStateListener;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager; import android.telephony.euicc.EuiccManager;
@@ -103,6 +104,8 @@ public class SimStatusDialogControllerTest {
private PersistableBundle mPersistableBundle; private PersistableBundle mPersistableBundle;
@Mock @Mock
private EuiccManager mEuiccManager; private EuiccManager mEuiccManager;
@Mock
private SubscriptionManager mSubscriptionManager;
private SimStatusDialogController mController; private SimStatusDialogController mController;
private Context mContext; private Context mContext;
@@ -123,6 +126,7 @@ public class SimStatusDialogControllerTest {
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener(); doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
doReturn("").when(mController).getPhoneNumber(); doReturn("").when(mController).getPhoneNumber();
doReturn(mSignalStrength).when(mController).getSignalStrength(); doReturn(mSignalStrength).when(mController).getSignalStrength();
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
when(mEuiccManager.isEnabled()).thenReturn(true); when(mEuiccManager.isEnabled()).thenReturn(true);
when(mEuiccManager.getEid()).thenReturn(""); when(mEuiccManager.getEid()).thenReturn("");
@@ -130,6 +134,7 @@ public class SimStatusDialogControllerTest {
ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager); ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo); ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager); ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
ReflectionHelpers.setField(mController, "mSubscriptionManager", mSubscriptionManager);
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle); when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);
final ShadowPackageManager shadowPackageManager = final ShadowPackageManager shadowPackageManager =
@@ -141,8 +146,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() { public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
final String carrierName = "foobar"; final CharSequence carrierName = "foobar";
when(mServiceState.getOperatorAlphaLong()).thenReturn(carrierName); doReturn(carrierName).when(mSubscriptionInfo).getCarrierName();
mController.initialize(); mController.initialize();