diff options
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 2 | ||||
| -rwxr-xr-x | telephony/java/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 aa916e0b7003..27e08d490f45 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.       *       * <p>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 0c591e4d951c..c21b6d986523 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -447,9 +447,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() { |