diff options
| author | 2018-11-29 18:33:17 -0800 | |
|---|---|---|
| committer | 2019-01-14 13:45:58 -0800 | |
| commit | eb7ac7396ac5a1b5a56a8feff251bf47e30e93a1 (patch) | |
| tree | 9e504024badb3d9bbda39ac3888e46a935e78850 | |
| parent | 7bc14fcc38cf0aea91b7f896bca7978a92d7cab6 (diff) | |
cherry-picked "Add multiple esim support for SubscriptionManager"
Bug: 112902036
Test: atest FrameworksTelephonyTests
Merged-In: Iea25c78e4f9c0b1e16add5f796b293e7ace08c67
Change-Id: Iea25c78e4f9c0b1e16add5f796b293e7ace08c67
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | telephony/java/android/telephony/SubscriptionManager.java | 40 | ||||
| -rwxr-xr-x | telephony/java/com/android/internal/telephony/ISub.aidl | 2 |
3 files changed, 39 insertions, 4 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 5a04ff00984f..077377336133 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5541,6 +5541,7 @@ package android.telephony { method public void requestEmbeddedSubscriptionInfoListRefresh(); method public void setDefaultDataSubId(int); method public void setDefaultSmsSubId(int); + method public void requestEmbeddedSubscriptionInfoListRefresh(int); field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI; field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2 diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index fae5d30f17b1..bb85fc24bc99 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1270,7 +1270,8 @@ public class SubscriptionManager { } /** - * Request a refresh of the platform cache of profile information. + * Request a refresh of the platform cache of profile information for the eUICC which + * corresponds to the card ID returned by {@link TelephonyManager#getCardIdForDefaultEuicc()}. * * <p>Should be called by the EuiccService implementation whenever this information changes due * to an operation done outside the scope of a request initiated by the platform to the @@ -1278,17 +1279,50 @@ public class SubscriptionManager { * were made through the EuiccService. * * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission. + * + * @see {@link TelephonyManager#getCardIdForDefaultEuicc()} for more information on the card ID. + * * @hide */ @SystemApi public void requestEmbeddedSubscriptionInfoListRefresh() { + int cardId = TelephonyManager.from(mContext).getCardIdForDefaultEuicc(); try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { - iSub.requestEmbeddedSubscriptionInfoListRefresh(); + iSub.requestEmbeddedSubscriptionInfoListRefresh(cardId); } } catch (RemoteException ex) { - // ignore it + logd("requestEmbeddedSubscriptionInfoListFresh for card = " + cardId + " failed."); + } + } + + /** + * Request a refresh of the platform cache of profile information for the eUICC with the given + * {@code cardId}. + * + * <p>Should be called by the EuiccService implementation whenever this information changes due + * to an operation done outside the scope of a request initiated by the platform to the + * EuiccService. There is no need to refresh for downloads, deletes, or other operations that + * were made through the EuiccService. + * + * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission. + * + * @param cardId the card ID of the eUICC. + * + * @see {@link TelephonyManager#getCardIdForDefaultEuicc()} for more information on the card ID. + * + * @hide + */ + @SystemApi + public void requestEmbeddedSubscriptionInfoListRefresh(int cardId) { + try { + ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); + if (iSub != null) { + iSub.requestEmbeddedSubscriptionInfoListRefresh(cardId); + } + } catch (RemoteException ex) { + logd("requestEmbeddedSubscriptionInfoListFresh for card = " + cardId + " failed."); } } diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl index 65d1a920a324..88c72197fb25 100755 --- a/telephony/java/com/android/internal/telephony/ISub.aidl +++ b/telephony/java/com/android/internal/telephony/ISub.aidl @@ -104,7 +104,7 @@ interface ISub { /** * @see android.telephony.SubscriptionManager#requestEmbeddedSubscriptionInfoListRefresh */ - oneway void requestEmbeddedSubscriptionInfoListRefresh(); + oneway void requestEmbeddedSubscriptionInfoListRefresh(int cardId); /** * Add a new SubscriptionInfo to subinfo database if needed |