diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java index 13c5989a1dd..2c7b5f4262d 100644 --- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java +++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java @@ -101,6 +101,8 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { Preference multiImeiPreference = createNewPreference(screen.getContext()); multiImeiPreference.setOrder(imeiPreferenceOrder + 1 + simSlotNumber); multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber)); + multiImeiPreference.setEnabled(true); + multiImeiPreference.setCopyingEnabled(true); category.addPreference(multiImeiPreference); } } @@ -146,10 +148,9 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { return true; } - private void updatePreference(Preference preference, int simSlot) { + @VisibleForTesting + protected void updatePreference(Preference preference, int simSlot) { SubscriptionInfo subInfo = getSubscriptionInfo(simSlot); - preference.setEnabled(subInfo != null); - preference.setCopyingEnabled(subInfo != null); preference.setTitle(getTitle(simSlot)); preference.setSummary(getSummary()); } diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java index f3a935820ac..9d700a62476 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java @@ -20,6 +20,7 @@ import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA; import static android.telephony.TelephonyManager.PHONE_TYPE_GSM; import static android.telephony.TelephonyManager.PHONE_TYPE_NONE; import static com.android.settings.core.BasePreferenceController.AVAILABLE; +import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -117,6 +118,16 @@ public class ImeiInfoPreferenceControllerTest { "imei_info2", mSecondSimPreference, phoneType2); } + @Test + public void updatePreference_simSlotWithoutSim_shouldBeEnabled() { + mSecondController = createPreferenceController(null, + "imei_info2", mSecondSimPreference, PHONE_TYPE_NONE); + + mSecondController.updatePreference(mSecondSimPreference, -1); + + assertThat(mSecondSimPreference.isEnabled()).isTrue(); + } + @Ignore @Test public void displayPreference_multiSimGsm_shouldAddSecondPreference() {