Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a96b863a authored by Pengquan Meng's avatar Pengquan Meng Committed by Android (Google) Code Review
Browse files

Merge "Add multiple esim support for SubscriptionManager"

parents 745811ae 70bb7c03
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -5827,6 +5827,7 @@ package android.telephony {
  public class SubscriptionManager {
  public class SubscriptionManager {
    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
    method public void requestEmbeddedSubscriptionInfoListRefresh();
    method public void requestEmbeddedSubscriptionInfoListRefresh();
    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
    method public void setDefaultDataSubId(int);
    method public void setDefaultDataSubId(int);
    method public void setDefaultSmsSubId(int);
    method public void setDefaultSmsSubId(int);
    field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
    field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
+37 −3
Original line number Original line Diff line number Diff line
@@ -1198,7 +1198,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
     * <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
     * to an operation done outside the scope of a request initiated by the platform to the
@@ -1206,17 +1207,50 @@ public class SubscriptionManager {
     * were made through the EuiccService.
     * were made through the EuiccService.
     *
     *
     * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission.
     * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission.
     *
     * @see {@link TelephonyManager#getCardIdForDefaultEuicc()} for more information on the card ID.
     *
     * @hide
     * @hide
     */
     */
    @SystemApi
    @SystemApi
    public void requestEmbeddedSubscriptionInfoListRefresh() {
    public void requestEmbeddedSubscriptionInfoListRefresh() {
        int cardId = TelephonyManager.from(mContext).getCardIdForDefaultEuicc();
        try {
        try {
            ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
            ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
            if (iSub != null) {
            if (iSub != null) {
                iSub.requestEmbeddedSubscriptionInfoListRefresh();
                iSub.requestEmbeddedSubscriptionInfoListRefresh(cardId);
            }
            }
        } catch (RemoteException ex) {
        } 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.");
        }
        }
    }
    }


+1 −1
Original line number Original line Diff line number Diff line
@@ -104,7 +104,7 @@ interface ISub {
    /**
    /**
     * @see android.telephony.SubscriptionManager#requestEmbeddedSubscriptionInfoListRefresh
     * @see android.telephony.SubscriptionManager#requestEmbeddedSubscriptionInfoListRefresh
     */
     */
    oneway void requestEmbeddedSubscriptionInfoListRefresh();
    oneway void requestEmbeddedSubscriptionInfoListRefresh(int cardId);


    /**
    /**
     * Add a new SubscriptionInfo to subinfo database if needed
     * Add a new SubscriptionInfo to subinfo database if needed