diff options
author | Prasath Balakrishnan <bpras@codeaurora.org> | 2015-09-28 20:21:27 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:21:21 -0600 |
commit | d6cbd3ea2c2cd6ee5bfa3a06649962661b909ca0 (patch) | |
tree | aef24df1dd20cf85f23e4b7b1f7033d6a988bd89 /src/com/android/settings/deviceinfo | |
parent | 43f908faf7f46349061c80ea9e50377d719c855e (diff) | |
download | packages_apps_Settings-d6cbd3ea2c2cd6ee5bfa3a06649962661b909ca0.zip packages_apps_Settings-d6cbd3ea2c2cd6ee5bfa3a06649962661b909ca0.tar.gz packages_apps_Settings-d6cbd3ea2c2cd6ee5bfa3a06649962661b909ca0.tar.bz2 |
Settings: Display 14 digit IMEI(Ignore Check Digit)
Show 14 digit IMEI instead of 15 digit based on the
config (ignore check digit)
Change-Id: I2bdfb61ad2964cdae7175f0aaa9da53a5ac2642a
CRs-Fixed: 808534
Diffstat (limited to 'src/com/android/settings/deviceinfo')
-rw-r--r-- | src/com/android/settings/deviceinfo/ImeiInformation.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/com/android/settings/deviceinfo/ImeiInformation.java b/src/com/android/settings/deviceinfo/ImeiInformation.java index d82e6c9..707afea 100644 --- a/src/com/android/settings/deviceinfo/ImeiInformation.java +++ b/src/com/android/settings/deviceinfo/ImeiInformation.java @@ -16,6 +16,7 @@ package com.android.settings.deviceinfo; import com.android.internal.logging.MetricsLogger; +import com.android.internal.telephony.ConfigResourceUtil; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneFactory; @@ -42,6 +43,7 @@ public class ImeiInformation extends InstrumentedPreferenceActivity { private SubscriptionManager mSubscriptionManager; private boolean isMultiSIM = false; + private static final int IMEI_14_DIGIT = 14; @Override protected void onCreate(Bundle savedInstanceState) { @@ -65,8 +67,24 @@ public class ImeiInformation extends InstrumentedPreferenceActivity { private void setPreferenceValue(int phoneId) { final Phone phone = PhoneFactory.getPhone(phoneId); + ConfigResourceUtil mConfigResUtil = new ConfigResourceUtil(); + String imeiStr = null; + + boolean enable14DigitImei = false; + try { + enable14DigitImei = mConfigResUtil.getBooleanValue(phone.getContext(), + "config_enable_display_14digit_imei"); + } catch(RuntimeException ex) { + //do Nothing + } if (phone != null) { + imeiStr = phone.getImei(); + if (enable14DigitImei && + imeiStr != null && imeiStr.length() > 14) { + imeiStr = imeiStr.substring(0, IMEI_14_DIGIT); + } + if (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) { setSummaryText(KEY_MEID_NUMBER, phone.getMeid()); setSummaryText(KEY_MIN_NUMBER, phone.getCdmaMin()); @@ -81,7 +99,7 @@ public class ImeiInformation extends InstrumentedPreferenceActivity { if (phone.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) { // Show ICC ID and IMEI for LTE device setSummaryText(KEY_ICC_ID, phone.getIccSerialNumber()); - setSummaryText(KEY_IMEI, phone.getImei()); + setSummaryText(KEY_IMEI, imeiStr); } else { // device is not GSM/UMTS, do not display GSM/UMTS features // check Null in case no specified preference in overlay xml @@ -89,7 +107,7 @@ public class ImeiInformation extends InstrumentedPreferenceActivity { removePreferenceFromScreen(KEY_ICC_ID); } } else { - setSummaryText(KEY_IMEI, phone.getImei()); + setSummaryText(KEY_IMEI, imeiStr); setSummaryText(KEY_IMEI_SV, phone.getDeviceSvn()); // device is not CDMA, do not display CDMA features // check Null in case no specified preference in overlay xml |