summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/deviceinfo
diff options
context:
space:
mode:
authorPrasath Balakrishnan <bpras@codeaurora.org>2015-09-28 20:21:27 +0530
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:21:21 -0600
commitd6cbd3ea2c2cd6ee5bfa3a06649962661b909ca0 (patch)
treeaef24df1dd20cf85f23e4b7b1f7033d6a988bd89 /src/com/android/settings/deviceinfo
parent43f908faf7f46349061c80ea9e50377d719c855e (diff)
downloadpackages_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.java22
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