Loading res/xml/my_device_info.xml +3 −3 Original line number Diff line number Diff line Loading @@ -52,11 +52,12 @@ settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/> <!-- Phone number --> <com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference android:key="phone_number" android:order="3" android:title="@string/status_number" android:summary="@string/summary_placeholder" android:selectable="false" settings:isPreferenceVisible="@bool/config_show_sim_info" settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController" settings:enableCopying="true"/> Loading Loading @@ -118,7 +119,6 @@ android:key="eid_info" android:order="31" android:title="@string/status_eid" android:summary="@string/device_info_protected_single_press" android:positiveButtonText="@string/dlg_ok" android:dialogLayout="@layout/dialog_eid_status" settings:isPreferenceVisible="@bool/config_show_sim_info" Loading @@ -126,7 +126,7 @@ settings:controller="com.android.settings.deviceinfo.simstatus.SimEidPreferenceController"/> <!-- IMEI --> <com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference android:key="imei_info" android:order="32" android:title="@string/status_imei" Loading src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java +3 −25 Original line number Diff line number Diff line Loading @@ -55,28 +55,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override public CharSequence getSummary() { return mContext.getString(R.string.device_info_protected_single_press); } @Override public boolean handlePreferenceTreeClick(Preference preference) { String prefKey = preference.getKey(); if (prefKey.startsWith(KEY_PHONE_NUMBER)) { int simSlotNumber = 0; if (!TextUtils.equals(prefKey, KEY_PHONE_NUMBER)) { // Get multisim slot number from preference key. // Multisim preference key is KEY_PHONE_NUMBER + simSlotNumber simSlotNumber = Integer.parseInt( prefKey.replaceAll("[^0-9]", "")); } final Preference simStatusPreference = mPreferenceList.get(simSlotNumber); simStatusPreference.setSummary(getPhoneNumber(simSlotNumber)); } return super.handlePreferenceTreeClick(preference); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); Loading Loading @@ -105,7 +83,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) { final Preference simStatusPreference = mPreferenceList.get(simSlotNumber); simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber)); simStatusPreference.setSummary(getSummary()); simStatusPreference.setSummary(getPhoneNumber(simSlotNumber)); } } Loading Loading @@ -155,7 +133,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { } @VisibleForTesting protected CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) { protected String getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) { final String phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(mContext, subscriptionInfo); return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default) Loading @@ -164,6 +142,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { @VisibleForTesting protected Preference createNewPreference(Context context) { return new PhoneNumberSummaryPreference(context); return new Preference(context); } } src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java +7 −8 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.deviceinfo.PhoneNumberSummaryPreference; import com.android.settings.deviceinfo.simstatus.SlotSimStatus; import com.android.settings.network.SubscriptionUtil; import com.android.settingslib.Utils; Loading Loading @@ -103,6 +102,7 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber)); multiImeiPreference.setEnabled(true); multiImeiPreference.setCopyingEnabled(true); category.addPreference(multiImeiPreference); } } Loading @@ -112,11 +112,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { updatePreference(preference, keyToSlotIndex(preference.getKey())); } @Override public CharSequence getSummary() { return mContext.getString(R.string.device_info_protected_single_press); } private CharSequence getSummary(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot) Loading Loading @@ -150,8 +145,12 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @VisibleForTesting protected void updatePreference(Preference preference, int simSlot) { if (simSlot < 0) { preference.setVisible(false); return; } preference.setTitle(getTitle(simSlot)); preference.setSummary(getSummary()); preference.setSummary(getSummary(simSlot)); } private CharSequence getTitleForGsmPhone(int simSlot, boolean isPrimaryImei) { Loading Loading @@ -195,6 +194,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @VisibleForTesting Preference createNewPreference(Context context) { return new PhoneNumberSummaryPreference(context); return new Preference(context); } } src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt +1 −3 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) : } preference.title = title preference.dialogTitle = title preference.summary = eid updateDialog() } } Loading Loading @@ -130,9 +131,6 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) : val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode) qrCodeView.setImageBitmap(getEidQrCode(eid)) // After "Tap to show", eid is displayed on preference. preference.summary = textView.text } override fun handlePreferenceTreeClick(preference: Preference): Boolean { Loading tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java +8 −23 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.ResourcesUtils; import org.junit.Before; Loading Loading @@ -89,26 +88,9 @@ public class PhoneNumberPreferenceControllerTest { mCategory.setKey(categoryKey); mScreen.addPreference(mCategory); doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(mSecondPreference).when(mController).createNewPreference(mContext); } @Test public void getAvailabilityStatus_isVoiceCapable_shouldBeAVAILABLE() { when(mTelephonyManager.isVoiceCapable()).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } @Test public void getAvailabilityStatus_isNotVoiceCapable_shouldBeUNSUPPORTED_ON_DEVICE() { when(mTelephonyManager.isVoiceCapable()).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.UNSUPPORTED_ON_DEVICE); } @Test public void displayPreference_multiSim_shouldAddSecondPreference() { when(mTelephonyManager.getPhoneCount()).thenReturn(2); Loading @@ -123,6 +105,7 @@ public class PhoneNumberPreferenceControllerTest { @Test public void updateState_singleSim_shouldUpdateTitleAndPhoneNumber() { final String phoneNumber = "1111111111"; doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); when(mTelephonyManager.getPhoneCount()).thenReturn(1); mController.displayPreference(mScreen); Loading @@ -136,6 +119,7 @@ public class PhoneNumberPreferenceControllerTest { @Test public void updateState_multiSim_shouldUpdateTitleAndPhoneNumberOfMultiplePreferences() { final String phoneNumber = "1111111111"; doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); when(mTelephonyManager.getPhoneCount()).thenReturn(2); mController.displayPreference(mScreen); Loading @@ -153,11 +137,11 @@ public class PhoneNumberPreferenceControllerTest { @Test public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() { when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null); mController.displayPreference(mScreen); CharSequence primaryNumber = mController.getSummary(); mController.updateState(mPreference); assertThat(primaryNumber).isNotNull(); assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString( verify(mPreference).setSummary(ResourcesUtils.getResourcesString( mContext, "device_info_default")); } Loading @@ -166,9 +150,10 @@ public class PhoneNumberPreferenceControllerTest { List<SubscriptionInfo> infos = new ArrayList<>(); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(infos); CharSequence primaryNumber = mController.getSummary(); mController.displayPreference(mScreen); mController.updateState(mPreference); assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString( verify(mPreference).setSummary(ResourcesUtils.getResourcesString( mContext, "device_info_default")); } } Loading
res/xml/my_device_info.xml +3 −3 Original line number Diff line number Diff line Loading @@ -52,11 +52,12 @@ settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/> <!-- Phone number --> <com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference android:key="phone_number" android:order="3" android:title="@string/status_number" android:summary="@string/summary_placeholder" android:selectable="false" settings:isPreferenceVisible="@bool/config_show_sim_info" settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController" settings:enableCopying="true"/> Loading Loading @@ -118,7 +119,6 @@ android:key="eid_info" android:order="31" android:title="@string/status_eid" android:summary="@string/device_info_protected_single_press" android:positiveButtonText="@string/dlg_ok" android:dialogLayout="@layout/dialog_eid_status" settings:isPreferenceVisible="@bool/config_show_sim_info" Loading @@ -126,7 +126,7 @@ settings:controller="com.android.settings.deviceinfo.simstatus.SimEidPreferenceController"/> <!-- IMEI --> <com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference android:key="imei_info" android:order="32" android:title="@string/status_imei" Loading
src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java +3 −25 Original line number Diff line number Diff line Loading @@ -55,28 +55,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override public CharSequence getSummary() { return mContext.getString(R.string.device_info_protected_single_press); } @Override public boolean handlePreferenceTreeClick(Preference preference) { String prefKey = preference.getKey(); if (prefKey.startsWith(KEY_PHONE_NUMBER)) { int simSlotNumber = 0; if (!TextUtils.equals(prefKey, KEY_PHONE_NUMBER)) { // Get multisim slot number from preference key. // Multisim preference key is KEY_PHONE_NUMBER + simSlotNumber simSlotNumber = Integer.parseInt( prefKey.replaceAll("[^0-9]", "")); } final Preference simStatusPreference = mPreferenceList.get(simSlotNumber); simStatusPreference.setSummary(getPhoneNumber(simSlotNumber)); } return super.handlePreferenceTreeClick(preference); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); Loading Loading @@ -105,7 +83,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) { final Preference simStatusPreference = mPreferenceList.get(simSlotNumber); simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber)); simStatusPreference.setSummary(getSummary()); simStatusPreference.setSummary(getPhoneNumber(simSlotNumber)); } } Loading Loading @@ -155,7 +133,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { } @VisibleForTesting protected CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) { protected String getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) { final String phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(mContext, subscriptionInfo); return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default) Loading @@ -164,6 +142,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { @VisibleForTesting protected Preference createNewPreference(Context context) { return new PhoneNumberSummaryPreference(context); return new Preference(context); } }
src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java +7 −8 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.deviceinfo.PhoneNumberSummaryPreference; import com.android.settings.deviceinfo.simstatus.SlotSimStatus; import com.android.settings.network.SubscriptionUtil; import com.android.settingslib.Utils; Loading Loading @@ -103,6 +102,7 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber)); multiImeiPreference.setEnabled(true); multiImeiPreference.setCopyingEnabled(true); category.addPreference(multiImeiPreference); } } Loading @@ -112,11 +112,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { updatePreference(preference, keyToSlotIndex(preference.getKey())); } @Override public CharSequence getSummary() { return mContext.getString(R.string.device_info_protected_single_press); } private CharSequence getSummary(int simSlot) { final int phoneType = getPhoneType(simSlot); return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot) Loading Loading @@ -150,8 +145,12 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @VisibleForTesting protected void updatePreference(Preference preference, int simSlot) { if (simSlot < 0) { preference.setVisible(false); return; } preference.setTitle(getTitle(simSlot)); preference.setSummary(getSummary()); preference.setSummary(getSummary(simSlot)); } private CharSequence getTitleForGsmPhone(int simSlot, boolean isPrimaryImei) { Loading Loading @@ -195,6 +194,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController { @VisibleForTesting Preference createNewPreference(Context context) { return new PhoneNumberSummaryPreference(context); return new Preference(context); } }
src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt +1 −3 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) : } preference.title = title preference.dialogTitle = title preference.summary = eid updateDialog() } } Loading Loading @@ -130,9 +131,6 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) : val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode) qrCodeView.setImageBitmap(getEidQrCode(eid)) // After "Tap to show", eid is displayed on preference. preference.summary = textView.text } override fun handlePreferenceTreeClick(preference: Preference): Boolean { Loading
tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java +8 −23 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.ResourcesUtils; import org.junit.Before; Loading Loading @@ -89,26 +88,9 @@ public class PhoneNumberPreferenceControllerTest { mCategory.setKey(categoryKey); mScreen.addPreference(mCategory); doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(mSecondPreference).when(mController).createNewPreference(mContext); } @Test public void getAvailabilityStatus_isVoiceCapable_shouldBeAVAILABLE() { when(mTelephonyManager.isVoiceCapable()).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } @Test public void getAvailabilityStatus_isNotVoiceCapable_shouldBeUNSUPPORTED_ON_DEVICE() { when(mTelephonyManager.isVoiceCapable()).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( BasePreferenceController.UNSUPPORTED_ON_DEVICE); } @Test public void displayPreference_multiSim_shouldAddSecondPreference() { when(mTelephonyManager.getPhoneCount()).thenReturn(2); Loading @@ -123,6 +105,7 @@ public class PhoneNumberPreferenceControllerTest { @Test public void updateState_singleSim_shouldUpdateTitleAndPhoneNumber() { final String phoneNumber = "1111111111"; doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); when(mTelephonyManager.getPhoneCount()).thenReturn(1); mController.displayPreference(mScreen); Loading @@ -136,6 +119,7 @@ public class PhoneNumberPreferenceControllerTest { @Test public void updateState_multiSim_shouldUpdateTitleAndPhoneNumberOfMultiplePreferences() { final String phoneNumber = "1111111111"; doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt()); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); when(mTelephonyManager.getPhoneCount()).thenReturn(2); mController.displayPreference(mScreen); Loading @@ -153,11 +137,11 @@ public class PhoneNumberPreferenceControllerTest { @Test public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() { when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null); mController.displayPreference(mScreen); CharSequence primaryNumber = mController.getSummary(); mController.updateState(mPreference); assertThat(primaryNumber).isNotNull(); assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString( verify(mPreference).setSummary(ResourcesUtils.getResourcesString( mContext, "device_info_default")); } Loading @@ -166,9 +150,10 @@ public class PhoneNumberPreferenceControllerTest { List<SubscriptionInfo> infos = new ArrayList<>(); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(infos); CharSequence primaryNumber = mController.getSummary(); mController.displayPreference(mScreen); mController.updateState(mPreference); assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString( verify(mPreference).setSummary(ResourcesUtils.getResourcesString( mContext, "device_info_default")); } }