From 3158cf689f4994ec53c3b727f9b6ad7751a5551b Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Fri, 20 Aug 2010 16:24:02 -0700 Subject: [PATCH] Change CDMAPhone.getDeviceId to return MEID or ESN. This allows devices with only ESN's to work. bug: 2938223 Change-Id: I33939151c59f598b939e73d98f1178669d6ceb75 --- telephony/java/android/telephony/TelephonyManager.java | 2 +- .../com/android/internal/telephony/cdma/CDMAPhone.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 4ee95609c3e1..278e8cab3290 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -177,7 +177,7 @@ public class TelephonyManager { /** * Returns the unique device ID, for example, the IMEI for GSM and the MEID - * for CDMA phones. Return null if device ID is not available. + * or ESN for CDMA phones. Return null if device ID is not available. * *

Requires Permission: * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java index 1f5accf38f21..58dfeb985df1 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -430,9 +430,14 @@ public class CDMAPhone extends PhoneBase { return mMeid; } - //returns MEID in CDMA + //returns MEID or ESN in CDMA public String getDeviceId() { - return getMeid(); + String id = getMeid(); + if ((id == null) || id.matches("^0*$")) { + Log.d(LOG_TAG, "getDeviceId(): MEID is not initialized use ESN"); + id = getEsn(); + } + return id; } public String getDeviceSvn() {