Modify getDeviceId() to get device id independent of Subscription.
+ Add getDeviceId() in ITelephony to find device id independent of
subscription.
Bug: 18780202
Change-Id: I21cc38418eb7f4f1b300c6372e1dc7548385c112
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 99d0af1..9df693c 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -620,7 +620,11 @@
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
public String getDeviceId() {
- return getDeviceId(getDefaultSim());
+ try {
+ return getITelephony().getDeviceId();
+ } catch (RemoteException ex) {
+ return null;
+ }
}
/**
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index d6e40ae9..bf3ee09 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -865,8 +865,18 @@
* @return {@code True} if the user has enabled video calling, {@code false} otherwise.
*/
boolean isVideoCallingEnabled();
+
/**
* Get IMS Registration Status
*/
boolean isImsRegistered();
+
+ /**
+ * Returns the unique device ID of phone, for example, the IMEI for
+ * GSM and the MEID for CDMA phones. Return null if device ID is not available.
+ *
+ * <p>Requires Permission:
+ * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
+ */
+ String getDeviceId();
}