Merge "[Sim UI enhancement] remove the "Tap to show info"" into main

This commit is contained in:
SongFerng Wang
2024-01-31 19:53:35 +00:00
committed by Android (Google) Code Review
5 changed files with 22 additions and 62 deletions

View File

@@ -52,11 +52,12 @@
settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/> settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/>
<!-- Phone number --> <!-- Phone number -->
<com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference
android:key="phone_number" android:key="phone_number"
android:order="3" android:order="3"
android:title="@string/status_number" android:title="@string/status_number"
android:summary="@string/summary_placeholder" android:summary="@string/summary_placeholder"
android:selectable="false"
settings:isPreferenceVisible="@bool/config_show_sim_info" settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController" settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
settings:enableCopying="true"/> settings:enableCopying="true"/>
@@ -118,7 +119,6 @@
android:key="eid_info" android:key="eid_info"
android:order="31" android:order="31"
android:title="@string/status_eid" android:title="@string/status_eid"
android:summary="@string/device_info_protected_single_press"
android:positiveButtonText="@string/dlg_ok" android:positiveButtonText="@string/dlg_ok"
android:dialogLayout="@layout/dialog_eid_status" android:dialogLayout="@layout/dialog_eid_status"
settings:isPreferenceVisible="@bool/config_show_sim_info" settings:isPreferenceVisible="@bool/config_show_sim_info"
@@ -126,7 +126,7 @@
settings:controller="com.android.settings.deviceinfo.simstatus.SimEidPreferenceController"/> settings:controller="com.android.settings.deviceinfo.simstatus.SimEidPreferenceController"/>
<!-- IMEI --> <!-- IMEI -->
<com.android.settings.deviceinfo.PhoneNumberSummaryPreference <Preference
android:key="imei_info" android:key="imei_info"
android:order="32" android:order="32"
android:title="@string/status_imei" android:title="@string/status_imei"

View File

@@ -55,28 +55,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
AVAILABLE : UNSUPPORTED_ON_DEVICE; 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 @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);
@@ -105,7 +83,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) { for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) {
final Preference simStatusPreference = mPreferenceList.get(simSlotNumber); final Preference simStatusPreference = mPreferenceList.get(simSlotNumber);
simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber)); simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber));
simStatusPreference.setSummary(getSummary()); simStatusPreference.setSummary(getPhoneNumber(simSlotNumber));
} }
} }
@@ -155,7 +133,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
} }
@VisibleForTesting @VisibleForTesting
protected CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) { protected String getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
final String phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(mContext, final String phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(mContext,
subscriptionInfo); subscriptionInfo);
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default) return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
@@ -164,6 +142,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
@VisibleForTesting @VisibleForTesting
protected Preference createNewPreference(Context context) { protected Preference createNewPreference(Context context) {
return new PhoneNumberSummaryPreference(context); return new Preference(context);
} }
} }

View File

@@ -33,7 +33,6 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.deviceinfo.PhoneNumberSummaryPreference;
import com.android.settings.deviceinfo.simstatus.SlotSimStatus; import com.android.settings.deviceinfo.simstatus.SlotSimStatus;
import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
@@ -103,6 +102,7 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber)); multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber));
multiImeiPreference.setEnabled(true); multiImeiPreference.setEnabled(true);
multiImeiPreference.setCopyingEnabled(true); multiImeiPreference.setCopyingEnabled(true);
category.addPreference(multiImeiPreference); category.addPreference(multiImeiPreference);
} }
} }
@@ -112,11 +112,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
updatePreference(preference, keyToSlotIndex(preference.getKey())); updatePreference(preference, keyToSlotIndex(preference.getKey()));
} }
@Override
public CharSequence getSummary() {
return mContext.getString(R.string.device_info_protected_single_press);
}
private CharSequence getSummary(int simSlot) { private CharSequence getSummary(int simSlot) {
final int phoneType = getPhoneType(simSlot); final int phoneType = getPhoneType(simSlot);
return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot) return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot)
@@ -150,8 +145,12 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
@VisibleForTesting @VisibleForTesting
protected void updatePreference(Preference preference, int simSlot) { protected void updatePreference(Preference preference, int simSlot) {
if (simSlot < 0) {
preference.setVisible(false);
return;
}
preference.setTitle(getTitle(simSlot)); preference.setTitle(getTitle(simSlot));
preference.setSummary(getSummary()); preference.setSummary(getSummary(simSlot));
} }
private CharSequence getTitleForGsmPhone(int simSlot, boolean isPrimaryImei) { private CharSequence getTitleForGsmPhone(int simSlot, boolean isPrimaryImei) {
@@ -195,6 +194,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
@VisibleForTesting @VisibleForTesting
Preference createNewPreference(Context context) { Preference createNewPreference(Context context) {
return new PhoneNumberSummaryPreference(context); return new Preference(context);
} }
} }

View File

@@ -92,6 +92,7 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) :
} }
preference.title = title preference.title = title
preference.dialogTitle = title preference.dialogTitle = title
preference.summary = eid
updateDialog() updateDialog()
} }
} }
@@ -130,9 +131,6 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) :
val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode) val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode)
qrCodeView.setImageBitmap(getEidQrCode(eid)) qrCodeView.setImageBitmap(getEidQrCode(eid))
// After "Tap to show", eid is displayed on preference.
preference.summary = textView.text
} }
override fun handlePreferenceTreeClick(preference: Preference): Boolean { override fun handlePreferenceTreeClick(preference: Preference): Boolean {

View File

@@ -37,7 +37,6 @@ import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.ResourcesUtils; import com.android.settings.testutils.ResourcesUtils;
import org.junit.Before; import org.junit.Before;
@@ -89,26 +88,9 @@ public class PhoneNumberPreferenceControllerTest {
mCategory.setKey(categoryKey); mCategory.setKey(categoryKey);
mScreen.addPreference(mCategory); mScreen.addPreference(mCategory);
doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
doReturn(mSecondPreference).when(mController).createNewPreference(mContext); 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 @Test
public void displayPreference_multiSim_shouldAddSecondPreference() { public void displayPreference_multiSim_shouldAddSecondPreference() {
when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneCount()).thenReturn(2);
@@ -123,6 +105,7 @@ public class PhoneNumberPreferenceControllerTest {
@Test @Test
public void updateState_singleSim_shouldUpdateTitleAndPhoneNumber() { public void updateState_singleSim_shouldUpdateTitleAndPhoneNumber() {
final String phoneNumber = "1111111111"; final String phoneNumber = "1111111111";
doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
when(mTelephonyManager.getPhoneCount()).thenReturn(1); when(mTelephonyManager.getPhoneCount()).thenReturn(1);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
@@ -136,6 +119,7 @@ public class PhoneNumberPreferenceControllerTest {
@Test @Test
public void updateState_multiSim_shouldUpdateTitleAndPhoneNumberOfMultiplePreferences() { public void updateState_multiSim_shouldUpdateTitleAndPhoneNumberOfMultiplePreferences() {
final String phoneNumber = "1111111111"; final String phoneNumber = "1111111111";
doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
when(mTelephonyManager.getPhoneCount()).thenReturn(2); when(mTelephonyManager.getPhoneCount()).thenReturn(2);
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
@@ -153,11 +137,11 @@ public class PhoneNumberPreferenceControllerTest {
@Test @Test
public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() { public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() {
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
mController.displayPreference(mScreen);
CharSequence primaryNumber = mController.getSummary(); mController.updateState(mPreference);
assertThat(primaryNumber).isNotNull(); verify(mPreference).setSummary(ResourcesUtils.getResourcesString(
assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString(
mContext, "device_info_default")); mContext, "device_info_default"));
} }
@@ -166,9 +150,10 @@ public class PhoneNumberPreferenceControllerTest {
List<SubscriptionInfo> infos = new ArrayList<>(); List<SubscriptionInfo> infos = new ArrayList<>();
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(infos); 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")); mContext, "device_info_default"));
} }
} }