From 535b518ac9bb88dab498e01359cca66c40fe5000 Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Wed, 15 Feb 2023 05:55:24 +0000 Subject: [PATCH] [Settings] IMEI should be enabled regardless existance of SIM Force IMEI fields always enabled. Bug: 266877869 Test: auto Change-Id: Ic164b3c171fd673cfb02d9973d4c210585198707 --- .../deviceinfo/imei/ImeiInfoPreferenceController.java | 7 ++++--- .../imei/ImeiInfoPreferenceControllerTest.java | 11 +++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) 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() {