OSDN Git Service

Add Sub-ID-from-phone-account converter method.
authorSantos Cordon <santoscordon@google.com>
Tue, 3 Feb 2015 18:57:16 +0000 (10:57 -0800)
committerEtan Cohen <etancohen@google.com>
Mon, 2 Mar 2015 19:17:20 +0000 (11:17 -0800)
There are several places in the code that currently attempt to parse the
sub ID directly from the phone account which is undesireable.  Before we
can change from using the subID to using an ICC ID with the phone
accounts, we need to create a conversion method so that no other
components are parsing the sub ID out of the phone account directly.

Change-Id: I74547fe0807da2fe13f3ff4422cd1d0a7a20d04c

telephony/java/android/telephony/TelephonyManager.java
telephony/java/com/android/internal/telephony/ITelephony.aidl

index a7350c9..b96f528 100644 (file)
@@ -29,6 +29,7 @@ import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
+import android.telecom.PhoneAccount;
 import android.util.Log;
 
 import com.android.internal.telecom.ITelecomService;
@@ -3779,7 +3780,7 @@ public class TelephonyManager {
 
    /**
     * Returns the IMS Registration Status
-    *@hide
+    * @hide
     */
    public boolean isImsRegistered() {
        try {
@@ -4130,4 +4131,21 @@ public class TelephonyManager {
                     ServiceState.rilRadioTechnologyToString(type));
         }
     }
+
+    /**
+     * Returns the subscription ID for the given phone account.
+     * @hide
+     */
+    public int getSubIdForPhoneAccount(PhoneAccount phoneAccount) {
+        int retval = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        try {
+            ITelephony service = getITelephony();
+            if (service != null) {
+                retval = service.getSubIdForPhoneAccount(phoneAccount);
+            }
+        } catch (RemoteException e) {
+        }
+
+        return retval;
+    }
 }
index bf3ee09..62c8746 100644 (file)
@@ -18,6 +18,7 @@ package com.android.internal.telephony;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.telecom.PhoneAccount;
 import android.telephony.CellInfo;
 import android.telephony.IccOpenLogicalChannelResponse;
 import android.telephony.NeighboringCellInfo;
@@ -879,4 +880,9 @@ interface ITelephony {
       *   {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
       */
     String getDeviceId();
+
+    /**
+     * Returns the subscription ID associated with the specified PhoneAccount.
+     */
+    int getSubIdForPhoneAccount(in PhoneAccount phoneAccount);
 }