Loading src/com/android/settings/deviceinfo/ImeiInformation.java +21 −3 Original line number Original line Diff line number Diff line Loading @@ -21,8 +21,13 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; import android.text.TextUtils; import android.text.style.TtsSpan; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.telephony.Phone; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; Loading Loading @@ -80,7 +85,7 @@ public class ImeiInformation extends SettingsPreferenceFragment { if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) { if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) { // Show ICC ID and IMEI for LTE device // Show ICC ID and IMEI for LTE device setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber()); setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber()); setSummaryText(KEY_IMEI, phone.getImei()); setSummaryTextAsDigit(KEY_IMEI, phone.getImei()); } else { } else { // device is not GSM/UMTS, do not display GSM/UMTS features // device is not GSM/UMTS, do not display GSM/UMTS features // check Null in case no specified preference in overlay xml // check Null in case no specified preference in overlay xml Loading @@ -88,8 +93,8 @@ public class ImeiInformation extends SettingsPreferenceFragment { removePreferenceFromScreen(KEY_ICC_ID); removePreferenceFromScreen(KEY_ICC_ID); } } } else { } else { setSummaryText(KEY_IMEI, phone.getImei()); setSummaryTextAsDigit(KEY_IMEI, phone.getImei()); setSummaryText(KEY_IMEI_SV, phone.getDeviceSvn()); setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn()); // device is not CDMA, do not display CDMA features // device is not CDMA, do not display CDMA features // check Null in case no specified preference in overlay xml // check Null in case no specified preference in overlay xml removePreferenceFromScreen(KEY_PRL_VERSION); removePreferenceFromScreen(KEY_PRL_VERSION); Loading Loading @@ -128,10 +133,23 @@ public class ImeiInformation extends SettingsPreferenceFragment { } } private void setSummaryText(String key, String text) { private void setSummaryText(String key, String text) { setSummaryText(key, text, false /* forceDigit */); } private void setSummaryTextAsDigit(String key, String text) { setSummaryText(key, text, true /* forceDigit */); } private void setSummaryText(String key, CharSequence text, boolean forceDigit) { final Preference preference = findPreference(key); final Preference preference = findPreference(key); if (TextUtils.isEmpty(text)) { if (TextUtils.isEmpty(text)) { text = getResources().getString(R.string.device_info_default); text = getResources().getString(R.string.device_info_default); } else if (forceDigit && TextUtils.isDigitsOnly(text)) { final Spannable spannable = new SpannableStringBuilder(text); final TtsSpan span = new TtsSpan.DigitsBuilder(text.toString()).build(); spannable.setSpan(span, 0, spannable.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); text = spannable; } } if (preference != null) { if (preference != null) { Loading Loading
src/com/android/settings/deviceinfo/ImeiInformation.java +21 −3 Original line number Original line Diff line number Diff line Loading @@ -21,8 +21,13 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; import android.text.TextUtils; import android.text.style.TtsSpan; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.telephony.Phone; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; Loading Loading @@ -80,7 +85,7 @@ public class ImeiInformation extends SettingsPreferenceFragment { if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) { if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) { // Show ICC ID and IMEI for LTE device // Show ICC ID and IMEI for LTE device setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber()); setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber()); setSummaryText(KEY_IMEI, phone.getImei()); setSummaryTextAsDigit(KEY_IMEI, phone.getImei()); } else { } else { // device is not GSM/UMTS, do not display GSM/UMTS features // device is not GSM/UMTS, do not display GSM/UMTS features // check Null in case no specified preference in overlay xml // check Null in case no specified preference in overlay xml Loading @@ -88,8 +93,8 @@ public class ImeiInformation extends SettingsPreferenceFragment { removePreferenceFromScreen(KEY_ICC_ID); removePreferenceFromScreen(KEY_ICC_ID); } } } else { } else { setSummaryText(KEY_IMEI, phone.getImei()); setSummaryTextAsDigit(KEY_IMEI, phone.getImei()); setSummaryText(KEY_IMEI_SV, phone.getDeviceSvn()); setSummaryTextAsDigit(KEY_IMEI_SV, phone.getDeviceSvn()); // device is not CDMA, do not display CDMA features // device is not CDMA, do not display CDMA features // check Null in case no specified preference in overlay xml // check Null in case no specified preference in overlay xml removePreferenceFromScreen(KEY_PRL_VERSION); removePreferenceFromScreen(KEY_PRL_VERSION); Loading Loading @@ -128,10 +133,23 @@ public class ImeiInformation extends SettingsPreferenceFragment { } } private void setSummaryText(String key, String text) { private void setSummaryText(String key, String text) { setSummaryText(key, text, false /* forceDigit */); } private void setSummaryTextAsDigit(String key, String text) { setSummaryText(key, text, true /* forceDigit */); } private void setSummaryText(String key, CharSequence text, boolean forceDigit) { final Preference preference = findPreference(key); final Preference preference = findPreference(key); if (TextUtils.isEmpty(text)) { if (TextUtils.isEmpty(text)) { text = getResources().getString(R.string.device_info_default); text = getResources().getString(R.string.device_info_default); } else if (forceDigit && TextUtils.isDigitsOnly(text)) { final Spannable spannable = new SpannableStringBuilder(text); final TtsSpan span = new TtsSpan.DigitsBuilder(text.toString()).build(); spannable.setSpan(span, 0, spannable.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); text = spannable; } } if (preference != null) { if (preference != null) { Loading