Merge "[Sim UI enhancement] remove the "Tap to show info"" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
5fa73d14ab
@@ -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"/>
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
|
@@ -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);
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
@@ -164,6 +142,6 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
|
||||
|
||||
@VisibleForTesting
|
||||
protected Preference createNewPreference(Context context) {
|
||||
return new PhoneNumberSummaryPreference(context);
|
||||
return new Preference(context);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
@@ -103,6 +102,7 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
|
||||
multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber));
|
||||
multiImeiPreference.setEnabled(true);
|
||||
multiImeiPreference.setCopyingEnabled(true);
|
||||
|
||||
category.addPreference(multiImeiPreference);
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
@@ -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) {
|
||||
@@ -195,6 +194,6 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
|
||||
|
||||
@VisibleForTesting
|
||||
Preference createNewPreference(Context context) {
|
||||
return new PhoneNumberSummaryPreference(context);
|
||||
return new Preference(context);
|
||||
}
|
||||
}
|
||||
|
@@ -92,6 +92,7 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) :
|
||||
}
|
||||
preference.title = title
|
||||
preference.dialogTitle = title
|
||||
preference.summary = eid
|
||||
updateDialog()
|
||||
}
|
||||
}
|
||||
@@ -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 {
|
||||
|
@@ -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;
|
||||
@@ -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);
|
||||
@@ -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);
|
||||
@@ -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);
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user