Loading src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java +11 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class ImeiInfoDialogController { mDialog.setText(ID_PRL_VERSION_VALUE, getCdmaPrlVersion()); if (mSubscriptionInfo != null && isCdmaLteEnabled()) { if ((mSubscriptionInfo != null && isCdmaLteEnabled()) || (mSubscriptionInfo == null && isSimPresent(mSlotId))) { // Show IMEI for LTE device mDialog.setText(ID_IMEI_VALUE, getTextAsDigits(mTelephonyManager.getImei(mSlotId))); Loading Loading @@ -149,6 +150,15 @@ public class ImeiInfoDialogController { return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled(); } boolean isSimPresent(int slotId) { final int simState = mTelephonyManager.getSimState(slotId); if ((simState != TelephonyManager.SIM_STATE_ABSENT) && (simState != TelephonyManager.SIM_STATE_UNKNOWN)) { return true; } return false; } @VisibleForTesting String getMeid() { return mTelephonyManager.getMeid(mSlotId); Loading tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,37 @@ public class ImeiInfoDialogControllerTest { verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS); } @Test public void populateImeiInfo_cdmaSimPresent_shouldSetImeiInfoAndSetAllCdmaSetting() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA); when(mTelephonyManager.getSimState(anyInt())).thenReturn( TelephonyManager.SIM_STATE_PRESENT); mController.populateImeiInfo(); verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER); verify(mDialog).setText(ID_MIN_NUMBER_VALUE, ""); verify(mDialog).setText(ID_PRL_VERSION_VALUE, ""); verify(mDialog).setText(eq(ID_IMEI_VALUE), any()); verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any()); } @Test public void populateImeiInfo_cdmaSimABSENT_shouldSetImeiInfoAndSetAllCdmaSetting() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA); when(mTelephonyManager.getSimState(anyInt())).thenReturn(TelephonyManager.SIM_STATE_ABSENT); mController.populateImeiInfo(); verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER); verify(mDialog).setText(ID_MIN_NUMBER_VALUE, ""); verify(mDialog).setText(ID_PRL_VERSION_VALUE, ""); verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS); } @Test public void populateImeiInfo_gsmSimDisabled_shouldSetImeiAndRemoveCdmaSettings() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); Loading Loading
src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java +11 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class ImeiInfoDialogController { mDialog.setText(ID_PRL_VERSION_VALUE, getCdmaPrlVersion()); if (mSubscriptionInfo != null && isCdmaLteEnabled()) { if ((mSubscriptionInfo != null && isCdmaLteEnabled()) || (mSubscriptionInfo == null && isSimPresent(mSlotId))) { // Show IMEI for LTE device mDialog.setText(ID_IMEI_VALUE, getTextAsDigits(mTelephonyManager.getImei(mSlotId))); Loading Loading @@ -149,6 +150,15 @@ public class ImeiInfoDialogController { return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled(); } boolean isSimPresent(int slotId) { final int simState = mTelephonyManager.getSimState(slotId); if ((simState != TelephonyManager.SIM_STATE_ABSENT) && (simState != TelephonyManager.SIM_STATE_UNKNOWN)) { return true; } return false; } @VisibleForTesting String getMeid() { return mTelephonyManager.getMeid(mSlotId); Loading
tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -142,6 +142,37 @@ public class ImeiInfoDialogControllerTest { verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS); } @Test public void populateImeiInfo_cdmaSimPresent_shouldSetImeiInfoAndSetAllCdmaSetting() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA); when(mTelephonyManager.getSimState(anyInt())).thenReturn( TelephonyManager.SIM_STATE_PRESENT); mController.populateImeiInfo(); verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER); verify(mDialog).setText(ID_MIN_NUMBER_VALUE, ""); verify(mDialog).setText(ID_PRL_VERSION_VALUE, ""); verify(mDialog).setText(eq(ID_IMEI_VALUE), any()); verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any()); } @Test public void populateImeiInfo_cdmaSimABSENT_shouldSetImeiInfoAndSetAllCdmaSetting() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA); when(mTelephonyManager.getSimState(anyInt())).thenReturn(TelephonyManager.SIM_STATE_ABSENT); mController.populateImeiInfo(); verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER); verify(mDialog).setText(ID_MIN_NUMBER_VALUE, ""); verify(mDialog).setText(ID_PRL_VERSION_VALUE, ""); verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS); } @Test public void populateImeiInfo_gsmSimDisabled_shouldSetImeiAndRemoveCdmaSettings() { ReflectionHelpers.setField(mController, "mSubscriptionInfo", null); Loading