Merge "[Settings] IMEI should be enabled regardless existance of SIM"

This commit is contained in:
Bonian Chen
2023-02-15 12:22:15 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 3 deletions

View File

@@ -101,6 +101,8 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
Preference multiImeiPreference = createNewPreference(screen.getContext()); Preference multiImeiPreference = createNewPreference(screen.getContext());
multiImeiPreference.setOrder(imeiPreferenceOrder + 1 + simSlotNumber); multiImeiPreference.setOrder(imeiPreferenceOrder + 1 + simSlotNumber);
multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber)); multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber));
multiImeiPreference.setEnabled(true);
multiImeiPreference.setCopyingEnabled(true);
category.addPreference(multiImeiPreference); category.addPreference(multiImeiPreference);
} }
} }
@@ -146,10 +148,9 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
return true; return true;
} }
private void updatePreference(Preference preference, int simSlot) { @VisibleForTesting
protected void updatePreference(Preference preference, int simSlot) {
SubscriptionInfo subInfo = getSubscriptionInfo(simSlot); SubscriptionInfo subInfo = getSubscriptionInfo(simSlot);
preference.setEnabled(subInfo != null);
preference.setCopyingEnabled(subInfo != null);
preference.setTitle(getTitle(simSlot)); preference.setTitle(getTitle(simSlot));
preference.setSummary(getSummary()); preference.setSummary(getSummary());
} }

View File

@@ -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_GSM;
import static android.telephony.TelephonyManager.PHONE_TYPE_NONE; import static android.telephony.TelephonyManager.PHONE_TYPE_NONE;
import static com.android.settings.core.BasePreferenceController.AVAILABLE; 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.anyInt;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@@ -117,6 +118,16 @@ public class ImeiInfoPreferenceControllerTest {
"imei_info2", mSecondSimPreference, phoneType2); "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 @Ignore
@Test @Test
public void displayPreference_multiSimGsm_shouldAddSecondPreference() { public void displayPreference_multiSimGsm_shouldAddSecondPreference() {