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"/>
|
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"
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user