SimStatusDialogControllerTest converted to JUnit

Bug: 175389659
Test: atest -c SimStatusDialogControllerTest
Change-Id: Id2cfb01714f1756f9251b2319d83a1609488b0f6
This commit is contained in:
Jeremy Goldman
2020-12-15 15:44:48 +08:00
parent 8fca3deb38
commit e068542f53
3 changed files with 84 additions and 114 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.deviceinfo.simstatus; package com.android.settings.deviceinfo.simstatus;
import static androidx.lifecycle.Lifecycle.Event;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
@@ -54,21 +56,23 @@ import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settingslib.DeviceInfoUtils; import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause { /**
* Controller for Sim Status information within the About Phone Settings page.
*/
public class SimStatusDialogController implements LifecycleObserver {
private final static String TAG = "SimStatusDialogCtrl"; private final static String TAG = "SimStatusDialogCtrl";
@@ -263,7 +267,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
} }
@Override /**
* OnResume lifecycle event, resume listening for phone state or subscription changes.
*/
@OnLifecycleEvent(Event.ON_RESUME)
public void onResume() { public void onResume() {
if (mSubscriptionInfo == null) { if (mSubscriptionInfo == null) {
return; return;
@@ -288,7 +295,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
mIsRegisteredListener = true; mIsRegisteredListener = true;
} }
@Override /**
* onPause lifecycle event, no longer listen for phone state or subscription changes.
*/
@OnLifecycleEvent(Event.ON_PAUSE)
public void onPause() { public void onPause() {
if (mSubscriptionInfo == null) { if (mSubscriptionInfo == null) {
if (mIsRegisteredListener) { if (mIsRegisteredListener) {
@@ -318,7 +328,8 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
mDialog.setText(NETWORK_PROVIDER_VALUE_ID, carrierName); mDialog.setText(NETWORK_PROVIDER_VALUE_ID, carrierName);
} }
private void updatePhoneNumber() { @VisibleForTesting
protected void updatePhoneNumber() {
// If formattedNumber is null or empty, it'll display as "Unknown". // If formattedNumber is null or empty, it'll display as "Unknown".
mDialog.setText(PHONE_NUMBER_VALUE_ID, mDialog.setText(PHONE_NUMBER_VALUE_ID,
DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, mSubscriptionInfo)); DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, mSubscriptionInfo));
@@ -592,7 +603,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
@VisibleForTesting @VisibleForTesting
void requestForUpdateEid() { protected void requestForUpdateEid() {
ThreadUtils.postOnBackgroundThread(() -> { ThreadUtils.postOnBackgroundThread(() -> {
final AtomicReference<String> eid = getEid(mSlotIndex); final AtomicReference<String> eid = getEid(mSlotIndex);
ThreadUtils.postOnMainThread(() -> updateEid(eid)); ThreadUtils.postOnMainThread(() -> updateEid(eid));
@@ -600,7 +611,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
@VisibleForTesting @VisibleForTesting
AtomicReference<String> getEid(int slotIndex) { protected AtomicReference<String> getEid(int slotIndex) {
boolean shouldHaveEid = false; boolean shouldHaveEid = false;
String eid = null; String eid = null;
if (mTelephonyManager.getActiveModemCount() > MAX_PHONE_COUNT_SINGLE_SIM) { if (mTelephonyManager.getActiveModemCount() > MAX_PHONE_COUNT_SINGLE_SIM) {
@@ -638,7 +649,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
@VisibleForTesting @VisibleForTesting
void updateEid(AtomicReference<String> eid) { protected void updateEid(AtomicReference<String> eid) {
if (eid == null) { if (eid == null) {
mDialog.removeSettingFromScreen(EID_INFO_LABEL_ID); mDialog.removeSettingFromScreen(EID_INFO_LABEL_ID);
mDialog.removeSettingFromScreen(EID_INFO_VALUE_ID); mDialog.removeSettingFromScreen(EID_INFO_VALUE_ID);
@@ -753,7 +764,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
} }
@VisibleForTesting @VisibleForTesting
PhoneStateListener getPhoneStateListener() { protected PhoneStateListener getPhoneStateListener() {
return new PhoneStateListener() { return new PhoneStateListener() {
@Override @Override
public void onDataConnectionStateChanged(int state) { public void onDataConnectionStateChanged(int state) {

View File

@@ -28,13 +28,11 @@ import static com.android.settings.deviceinfo.simstatus.SimStatusDialogControlle
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.NETWORK_PROVIDER_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.NETWORK_PROVIDER_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_LABEL_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_LABEL_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.PHONE_NUMBER_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ROAMING_INFO_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ROAMING_INFO_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SERVICE_STATE_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SERVICE_STATE_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_LABEL_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_LABEL_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_VALUE_ID;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
@@ -45,16 +43,11 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
import android.telephony.CellSignalStrength; import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthCdma;
import android.telephony.CellSignalStrengthLte;
import android.telephony.CellSignalStrengthWcdma;
import android.telephony.PhoneStateListener; import android.telephony.PhoneStateListener;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
@@ -65,34 +58,27 @@ import android.telephony.UiccCardInfo;
import android.telephony.euicc.EuiccManager; import android.telephony.euicc.EuiccManager;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
import androidx.test.annotation.UiThreadTest;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowDeviceInfoUtils; import com.android.settings.testutils.ResourcesUtils;
import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore; import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.shadows.ShadowTelephonyManager;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@RunWith(RobolectricTestRunner.class) @RunWith(AndroidJUnit4.class)
@Config(shadows = {ShadowDeviceInfoUtils.class})
public class SimStatusDialogControllerTest { public class SimStatusDialogControllerTest {
@Mock @Mock
@@ -107,14 +93,13 @@ public class SimStatusDialogControllerTest {
@Mock @Mock
private SignalStrength mSignalStrength; private SignalStrength mSignalStrength;
@Mock @Mock
private CellSignalStrengthCdma mCellSignalStrengthCdma; private CellSignalStrength mCellSignalStrengthCdma;
@Mock @Mock
private CellSignalStrengthLte mCellSignalStrengthLte; private CellSignalStrength mCellSignalStrengthLte;
@Mock @Mock
private CellSignalStrengthWcdma mCellSignalStrengthWcdma; private CellSignalStrength mCellSignalStrengthWcdma;
@Mock @Mock
private CarrierConfigManager mCarrierConfigManager; private CarrierConfigManager mCarrierConfigManager;
@Mock
private PersistableBundle mPersistableBundle; private PersistableBundle mPersistableBundle;
@Mock @Mock
private EuiccManager mEuiccManager; private EuiccManager mEuiccManager;
@@ -122,6 +107,7 @@ public class SimStatusDialogControllerTest {
private SimStatusDialogController mController; private SimStatusDialogController mController;
private Context mContext; private Context mContext;
@Mock
private LifecycleOwner mLifecycleOwner; private LifecycleOwner mLifecycleOwner;
private Lifecycle mLifecycle; private Lifecycle mLifecycle;
@@ -131,27 +117,31 @@ public class SimStatusDialogControllerTest {
private static final int MAX_PHONE_COUNT_DUAL_SIM = 2; private static final int MAX_PHONE_COUNT_DUAL_SIM = 2;
@Before @Before
@UiThreadTest
public void setup() { public void setup() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application); mContext = spy(ApplicationProvider.getApplicationContext());
when(mDialog.getContext()).thenReturn(mContext); when(mDialog.getContext()).thenReturn(mContext);
mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner); mLifecycle = new Lifecycle(mLifecycleOwner);
mSubscriptionManager = spy(mContext.getSystemService(SubscriptionManager.class));
mTelephonyManager = spy(mContext.getSystemService(TelephonyManager.class)); mTelephonyManager = spy(mContext.getSystemService(TelephonyManager.class));
final ShadowTelephonyManager shadowTelephonyMgr = shadowOf(mTelephonyManager); mSubscriptionManager = spy(mContext.getSystemService(SubscriptionManager.class));
shadowTelephonyMgr.setTelephonyManagerForSubscriptionId( doReturn(mSubscriptionInfo).when(mSubscriptionManager)
SubscriptionManager.DEFAULT_SUBSCRIPTION_ID, mTelephonyManager); .getActiveSubscriptionInfoForSimSlotIndex(anyInt());
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(
mCarrierConfigManager);
when(mContext.getSystemService(EuiccManager.class)).thenReturn(mEuiccManager);
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
doReturn(2).when(mTelephonyManager).getCardIdForDefaultEuicc(); doReturn(2).when(mTelephonyManager).getCardIdForDefaultEuicc();
doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mTelephonyManager).getDataNetworkType(); doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mTelephonyManager).getDataNetworkType();
doReturn(mEuiccManager).when(mContext).getSystemService(EuiccManager.class);
mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */)); mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */));
ShadowDeviceInfoUtils.setPhoneNumber(""); // CellSignalStrength setup
//CellSignalStrength setup
doReturn(0).when(mCellSignalStrengthCdma).getDbm(); doReturn(0).when(mCellSignalStrengthCdma).getDbm();
doReturn(0).when(mCellSignalStrengthCdma).getAsuLevel(); doReturn(0).when(mCellSignalStrengthCdma).getAsuLevel();
doReturn(0).when(mCellSignalStrengthLte).getDbm(); doReturn(0).when(mCellSignalStrengthLte).getDbm();
@@ -163,12 +153,6 @@ public class SimStatusDialogControllerTest {
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener(); doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt()); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
ReflectionHelpers.setField(mController, "mTelephonyManager", mTelephonyManager);
ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
ReflectionHelpers.setField(mController, "mSubscriptionManager", mSubscriptionManager);
when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM); when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
doReturn(new ArrayList<UiccCardInfo>()).when(mTelephonyManager).getUiccCardsInfo(); doReturn(new ArrayList<UiccCardInfo>()).when(mTelephonyManager).getUiccCardsInfo();
doReturn(new HashMap<Integer, Integer>()).when(mTelephonyManager) doReturn(new HashMap<Integer, Integer>()).when(mTelephonyManager)
@@ -178,23 +162,13 @@ public class SimStatusDialogControllerTest {
when(mEuiccManager.getEid()).thenReturn(""); when(mEuiccManager.getEid()).thenReturn("");
when(mEuiccManager.createForCardId(anyInt())).thenReturn(mEuiccManager); when(mEuiccManager.createForCardId(anyInt())).thenReturn(mEuiccManager);
mPersistableBundle = new PersistableBundle();
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle); when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)) mPersistableBundle.putBoolean(
.thenReturn(true); CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL, true);
doReturn(mServiceState).when(mTelephonyManager).getServiceState(); doReturn(mServiceState).when(mTelephonyManager).getServiceState();
doReturn(mSignalStrength).when(mTelephonyManager).getSignalStrength(); doReturn(mSignalStrength).when(mTelephonyManager).getSignalStrength();
final ShadowPackageManager shadowPackageManager =
Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
final PackageInfo sysUIPackageInfo = new PackageInfo();
sysUIPackageInfo.packageName = "com.android.systemui";
shadowPackageManager.addPackage(sysUIPackageInfo);
}
@After
public void tearDown() {
ShadowDeviceInfoUtils.reset();
} }
@Test @Test
@@ -208,15 +182,10 @@ public class SimStatusDialogControllerTest {
} }
@Test @Test
public void initialize_updatePhoneNumberWith1111111111_shouldUpdatePhoneNumber() { public void initialize_shouldUpdatePhoneNumber() {
ShadowDeviceInfoUtils.setPhoneNumber("1111111111");
final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
mSubscriptionInfo);
mController.initialize(); mController.initialize();
verify(mDialog).setText(PHONE_NUMBER_VALUE_ID, phoneNumber); verify(mController).updatePhoneNumber();
} }
@Test @Test
@@ -235,19 +204,19 @@ public class SimStatusDialogControllerTest {
mController.initialize(); mController.initialize();
final String inServiceText = mContext.getString(R.string.radioInfo_service_in); final String inServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_in");
verify(mDialog).setText(SERVICE_STATE_VALUE_ID, inServiceText); verify(mDialog).setText(SERVICE_STATE_VALUE_ID, inServiceText);
} }
@Test @Test
public void initialize_updateServiceStateWithPowerOff_shouldUpdateTextAndResetSignalStrength() { public void initialize_updateServiceStateWithPowerOff_shouldUpdateTextAndResetSignalStrength() {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_POWER_OFF); when(mServiceState.getState()).thenReturn(ServiceState.STATE_POWER_OFF);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String offServiceText = mContext.getString(R.string.radioInfo_service_off); final String offServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_off");
verify(mDialog).setText(SERVICE_STATE_VALUE_ID, offServiceText); verify(mDialog).setText(SERVICE_STATE_VALUE_ID, offServiceText);
verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, "0"); verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, "0");
} }
@@ -257,12 +226,11 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE); when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
when(mServiceState.getDataRegistrationState()).thenReturn( when(mServiceState.getDataRegistrationState()).thenReturn(
ServiceState.STATE_OUT_OF_SERVICE); ServiceState.STATE_OUT_OF_SERVICE);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String offServiceText = mContext.getString(R.string.radioInfo_service_out); final String offServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_out");
verify(mDialog).setText(SERVICE_STATE_VALUE_ID, offServiceText); verify(mDialog).setText(SERVICE_STATE_VALUE_ID, offServiceText);
verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, "0"); verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, "0");
} }
@@ -271,12 +239,11 @@ public class SimStatusDialogControllerTest {
public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateTextToBeInService() { public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateTextToBeInService() {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE); when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE); when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String inServiceText = mContext.getString(R.string.radioInfo_service_in); final String inServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_in");
verify(mDialog).setText(SERVICE_STATE_VALUE_ID, inServiceText); verify(mDialog).setText(SERVICE_STATE_VALUE_ID, inServiceText);
} }
@@ -287,13 +254,11 @@ public class SimStatusDialogControllerTest {
final int wcdmaDbm = 40; final int wcdmaDbm = 40;
final int wcdmaAsu = 40; final int wcdmaAsu = 40;
setupCellSignalStrength_lteWcdma(lteDbm, lteAsu, wcdmaDbm, wcdmaAsu); setupCellSignalStrength_lteWcdma(lteDbm, lteAsu, wcdmaDbm, wcdmaAsu);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String signalStrengthString = final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); mContext, "sim_signal_strength", lteDbm, lteAsu);
verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
} }
@@ -304,13 +269,11 @@ public class SimStatusDialogControllerTest {
final int cdmaDbm = 30; final int cdmaDbm = 30;
final int cdmaAsu = 30; final int cdmaAsu = 30;
setupCellSignalStrength_lteCdma(lteDbm, lteAsu, cdmaDbm, cdmaAsu); setupCellSignalStrength_lteCdma(lteDbm, lteAsu, cdmaDbm, cdmaAsu);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String signalStrengthString = final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); mContext, "sim_signal_strength", lteDbm, lteAsu);
verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
} }
@@ -318,19 +281,15 @@ public class SimStatusDialogControllerTest {
public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateSignalStrengthTo50() { public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateSignalStrengthTo50() {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE); when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE); when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
final int lteDbm = 50; final int lteDbm = 50;
final int lteAsu = 50; final int lteAsu = 50;
setupCellSignalStrength_lteOnly(lteDbm, lteAsu); setupCellSignalStrength_lteOnly(lteDbm, lteAsu);
when(mPersistableBundle.getBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
mController.initialize(); mController.initialize();
final String signalStrengthString = final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); mContext, "sim_signal_strength", lteDbm, lteAsu);
verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
} }
@@ -362,7 +321,8 @@ public class SimStatusDialogControllerTest {
mController.initialize(); mController.initialize();
final String roamingOnString = mContext.getString(R.string.radioInfo_roaming_in); final String roamingOnString = ResourcesUtils.getResourcesString(
mContext, "radioInfo_roaming_in");
verify(mDialog).setText(ROAMING_INFO_VALUE_ID, roamingOnString); verify(mDialog).setText(ROAMING_INFO_VALUE_ID, roamingOnString);
} }
@@ -372,14 +332,15 @@ public class SimStatusDialogControllerTest {
mController.initialize(); mController.initialize();
final String roamingOffString = mContext.getString(R.string.radioInfo_roaming_not); final String roamingOffString = ResourcesUtils.getResourcesString(
mContext, "radioInfo_roaming_not");
verify(mDialog).setText(ROAMING_INFO_VALUE_ID, roamingOffString); verify(mDialog).setText(ROAMING_INFO_VALUE_ID, roamingOffString);
} }
@Test @Test
public void initialize_doNotShowIccid_shouldRemoveIccidSetting() { public void initialize_doNotShowIccid_shouldRemoveIccidSetting() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL)).thenReturn(false); CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL, false);
mController.initialize(); mController.initialize();
@@ -389,9 +350,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
public void initialize_doNotShowSignalStrength_shouldRemoveSignalStrengthSetting() { public void initialize_doNotShowSignalStrength_shouldRemoveSignalStrengthSetting() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)) CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL, false);
.thenReturn(false);
mController.initialize(); mController.initialize();
@@ -414,8 +374,7 @@ public class SimStatusDialogControllerTest {
@Test @Test
public void initialize_showIccid_shouldSetIccidToSetting() { public void initialize_showIccid_shouldSetIccidToSetting() {
final String iccid = "12351351231241"; final String iccid = "12351351231241";
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL, true);
CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL)).thenReturn(true);
doReturn(iccid).when(mTelephonyManager).getSimSerialNumber(); doReturn(iccid).when(mTelephonyManager).getSimSerialNumber();
mController.initialize(); mController.initialize();
@@ -720,8 +679,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
@Ignore @Ignore
public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() { public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true);
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true); when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true);
mController.initialize(); mController.initialize();
@@ -733,8 +692,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
@Ignore @Ignore
public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() { public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true);
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false); when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false);
mController.initialize(); mController.initialize();
@@ -746,8 +705,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
@Ignore @Ignore
public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() { public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true);
mController.initialize(); mController.initialize();
@@ -757,8 +716,8 @@ public class SimStatusDialogControllerTest {
@Test @Test
@Ignore @Ignore
public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() { public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() {
when(mPersistableBundle.getBoolean( mPersistableBundle.putBoolean(
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false); CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false);
mController.initialize(); mController.initialize();

View File

@@ -26,7 +26,7 @@ public final class ResourcesUtils {
return context.getResources().getString(getResourcesId(context, "string", name)); return context.getResources().getString(getResourcesId(context, "string", name));
} }
public static String getResourcesString(Context context, String name, Object value) { public static String getResourcesString(Context context, String name, Object... value) {
return context.getResources().getString(getResourcesId(context, "string", name), value); return context.getResources().getString(getResourcesId(context, "string", name), value);
} }
} }