Loading src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java +1 −7 Original line number Diff line number Diff line Loading @@ -126,13 +126,7 @@ public class ImeiInfoDialogController { } private SubscriptionInfo getSubscriptionInfo(Context context, int slotId) { final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(context) .getActiveSubscriptionInfoList(true); if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) { return null; } return subscriptionInfoList.get(slotId); return SubscriptionManager.from(context).getActiveSubscriptionInfoForSimSlotIndex(slotId); } @VisibleForTesting Loading src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java +35 −16 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA; import android.content.Context; import android.os.UserManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.annotation.VisibleForTesting; Loading Loading @@ -76,11 +78,27 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { } } @Override public void updateState(Preference preference) { if (preference == null) { return; } int size = mPreferenceList.size(); for (int i = 0; i < size; i++) { Preference pref = mPreferenceList.get(i); updatePreference(pref, i); } } @Override public CharSequence getSummary() { final int phoneType = mTelephonyManager.getPhoneType(); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid() : mTelephonyManager.getImei(); return getSummary(0); } private CharSequence getSummary(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot) : mTelephonyManager.getImei(simSlot); } @Override Loading Loading @@ -117,19 +135,12 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @Override public void copy() { Sliceable.setCopyContent(mContext, getSummary(), mContext.getText(R.string.status_imei)); Sliceable.setCopyContent(mContext, getSummary(0), getTitle(0)); } private void updatePreference(Preference preference, int simSlot) { final int phoneType = mTelephonyManager.getPhoneType(); if (phoneType == PHONE_TYPE_CDMA) { preference.setTitle(getTitleForCdmaPhone(simSlot)); preference.setSummary(getMeid(simSlot)); } else { // GSM phone preference.setTitle(getTitleForGsmPhone(simSlot)); preference.setSummary(mTelephonyManager.getImei(simSlot)); } preference.setTitle(getTitle(simSlot)); preference.setSummary(getSummary(simSlot)); } private CharSequence getTitleForGsmPhone(int simSlot) { Loading @@ -142,9 +153,17 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { : mContext.getString(R.string.status_meid_number); } @VisibleForTesting String getMeid(int simSlot) { return mTelephonyManager.getMeid(simSlot); private CharSequence getTitle(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? getTitleForCdmaPhone(simSlot) : getTitleForGsmPhone(simSlot); } private int getPhoneType(int slotIndex) { SubscriptionInfo subInfo = SubscriptionManager.from(mContext) .getActiveSubscriptionInfoForSimSlotIndex(slotIndex); return mTelephonyManager.getCurrentPhoneType(subInfo != null ? subInfo.getSubscriptionId() : SubscriptionManager.DEFAULT_SUBSCRIPTION_ID); } @VisibleForTesting Loading tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_multiSimGsm_shouldAddSecondPreference() { ReflectionHelpers.setField(mController, "mIsMultiSim", true); when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); mController.displayPreference(mScreen); Loading @@ -104,8 +104,8 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_singleSimCdmaPhone_shouldSetSingleSimCdmaTitleAndMeid() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String meid = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); doReturn(meid).when(mController).getMeid(anyInt()); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.displayPreference(mScreen); Loading @@ -118,8 +118,8 @@ public class ImeiInfoPreferenceControllerTest { ReflectionHelpers.setField(mController, "mIsMultiSim", true); final String meid = "125132215123"; when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); doReturn(meid).when(mController).getMeid(anyInt()); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.displayPreference(mScreen); Loading @@ -134,7 +134,7 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_singleSimGsmPhone_shouldSetSingleSimGsmTitleAndImei() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String imei = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getImei(anyInt())).thenReturn(imei); mController.displayPreference(mScreen); Loading @@ -148,7 +148,7 @@ public class ImeiInfoPreferenceControllerTest { ReflectionHelpers.setField(mController, "mIsMultiSim", true); final String imei = "125132215123"; when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getImei(anyInt())).thenReturn(imei); mController.displayPreference(mScreen); Loading Loading @@ -176,8 +176,8 @@ public class ImeiInfoPreferenceControllerTest { public void copy_shouldCopyImeiToClipboard() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String meid = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid()).thenReturn(meid); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.copy(); Loading Loading
src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java +1 −7 Original line number Diff line number Diff line Loading @@ -126,13 +126,7 @@ public class ImeiInfoDialogController { } private SubscriptionInfo getSubscriptionInfo(Context context, int slotId) { final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(context) .getActiveSubscriptionInfoList(true); if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) { return null; } return subscriptionInfoList.get(slotId); return SubscriptionManager.from(context).getActiveSubscriptionInfoForSimSlotIndex(slotId); } @VisibleForTesting Loading
src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java +35 −16 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA; import android.content.Context; import android.os.UserManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.annotation.VisibleForTesting; Loading Loading @@ -76,11 +78,27 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { } } @Override public void updateState(Preference preference) { if (preference == null) { return; } int size = mPreferenceList.size(); for (int i = 0; i < size; i++) { Preference pref = mPreferenceList.get(i); updatePreference(pref, i); } } @Override public CharSequence getSummary() { final int phoneType = mTelephonyManager.getPhoneType(); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid() : mTelephonyManager.getImei(); return getSummary(0); } private CharSequence getSummary(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot) : mTelephonyManager.getImei(simSlot); } @Override Loading Loading @@ -117,19 +135,12 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @Override public void copy() { Sliceable.setCopyContent(mContext, getSummary(), mContext.getText(R.string.status_imei)); Sliceable.setCopyContent(mContext, getSummary(0), getTitle(0)); } private void updatePreference(Preference preference, int simSlot) { final int phoneType = mTelephonyManager.getPhoneType(); if (phoneType == PHONE_TYPE_CDMA) { preference.setTitle(getTitleForCdmaPhone(simSlot)); preference.setSummary(getMeid(simSlot)); } else { // GSM phone preference.setTitle(getTitleForGsmPhone(simSlot)); preference.setSummary(mTelephonyManager.getImei(simSlot)); } preference.setTitle(getTitle(simSlot)); preference.setSummary(getSummary(simSlot)); } private CharSequence getTitleForGsmPhone(int simSlot) { Loading @@ -142,9 +153,17 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { : mContext.getString(R.string.status_meid_number); } @VisibleForTesting String getMeid(int simSlot) { return mTelephonyManager.getMeid(simSlot); private CharSequence getTitle(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? getTitleForCdmaPhone(simSlot) : getTitleForGsmPhone(simSlot); } private int getPhoneType(int slotIndex) { SubscriptionInfo subInfo = SubscriptionManager.from(mContext) .getActiveSubscriptionInfoForSimSlotIndex(slotIndex); return mTelephonyManager.getCurrentPhoneType(subInfo != null ? subInfo.getSubscriptionId() : SubscriptionManager.DEFAULT_SUBSCRIPTION_ID); } @VisibleForTesting Loading
tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_multiSimGsm_shouldAddSecondPreference() { ReflectionHelpers.setField(mController, "mIsMultiSim", true); when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); mController.displayPreference(mScreen); Loading @@ -104,8 +104,8 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_singleSimCdmaPhone_shouldSetSingleSimCdmaTitleAndMeid() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String meid = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); doReturn(meid).when(mController).getMeid(anyInt()); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.displayPreference(mScreen); Loading @@ -118,8 +118,8 @@ public class ImeiInfoPreferenceControllerTest { ReflectionHelpers.setField(mController, "mIsMultiSim", true); final String meid = "125132215123"; when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); doReturn(meid).when(mController).getMeid(anyInt()); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.displayPreference(mScreen); Loading @@ -134,7 +134,7 @@ public class ImeiInfoPreferenceControllerTest { public void displayPreference_singleSimGsmPhone_shouldSetSingleSimGsmTitleAndImei() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String imei = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getImei(anyInt())).thenReturn(imei); mController.displayPreference(mScreen); Loading @@ -148,7 +148,7 @@ public class ImeiInfoPreferenceControllerTest { ReflectionHelpers.setField(mController, "mIsMultiSim", true); final String imei = "125132215123"; when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_GSM); when(mTelephonyManager.getImei(anyInt())).thenReturn(imei); mController.displayPreference(mScreen); Loading Loading @@ -176,8 +176,8 @@ public class ImeiInfoPreferenceControllerTest { public void copy_shouldCopyImeiToClipboard() { ReflectionHelpers.setField(mController, "mIsMultiSim", false); final String meid = "125132215123"; when(mTelephonyManager.getPhoneType()).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid()).thenReturn(meid); when(mTelephonyManager.getCurrentPhoneType(anyInt())).thenReturn(PHONE_TYPE_CDMA); when(mTelephonyManager.getMeid(anyInt())).thenReturn(meid); mController.copy(); Loading