diff options
| author | 2018-03-28 04:18:51 +0000 | |
|---|---|---|
| committer | 2018-03-28 04:18:51 +0000 | |
| commit | a78a764fe3ce57f673cd60cc58f40ae87c19669b (patch) | |
| tree | 6bf2171f053555e2aec16875b23281695cea557c | |
| parent | 0c1c9cd7f2a343bb7bb9881326d7bb34db2e2fad (diff) | |
| parent | 59159c437a8696c67b92c4e4cbf57402cb018cad (diff) | |
Merge "Address comments from API Review." into pi-dev
| -rw-r--r-- | api/current.txt | 1 | ||||
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | telephony/java/android/telephony/SubscriptionInfo.java | 2 | ||||
| -rw-r--r-- | telephony/java/android/telephony/SubscriptionManager.java | 14 | ||||
| -rw-r--r-- | telephony/java/android/telephony/euicc/DownloadableSubscription.java | 23 | ||||
| -rw-r--r-- | telephony/java/android/telephony/euicc/EuiccManager.java | 4 |
6 files changed, 32 insertions, 13 deletions
diff --git a/api/current.txt b/api/current.txt index 052b7f8e7101..954c71fb61ab 100644 --- a/api/current.txt +++ b/api/current.txt @@ -42676,6 +42676,7 @@ package android.telephony.euicc { field public static final int EMBEDDED_SUBSCRIPTION_RESULT_OK = 0; // 0x0 field public static final int EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR = 1; // 0x1 field public static final java.lang.String EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DETAILED_CODE"; + field public static final java.lang.String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION"; field public static final java.lang.String META_DATA_CARRIER_ICON = "android.telephony.euicc.carriericon"; } diff --git a/api/system-current.txt b/api/system-current.txt index ced5224bdad3..5568dbad0e8c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5501,7 +5501,6 @@ package android.telephony.euicc { field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4 field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5 field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3 - field public static final java.lang.String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION"; field public static final java.lang.String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS"; } diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java index 77413d9c730d..936505ca407d 100644 --- a/telephony/java/android/telephony/SubscriptionInfo.java +++ b/telephony/java/android/telephony/SubscriptionInfo.java @@ -335,7 +335,7 @@ public class SubscriptionInfo implements Parcelable { return this.mCountryIso; } - /** @return whether the subscription is an embedded one. */ + /** @return whether the subscription is an eUICC one. */ public boolean isEmbedded() { return this.mIsEmbedded; } diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 472a6fbc0c1b..7664b94b87c9 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1925,26 +1925,28 @@ public class SubscriptionManager { * * @param info The subscription to check. * @return whether the app is authorized to manage this subscription per its metadata. - * @throws UnsupportedOperationException if this subscription is not embedded. + * @throws IllegalArgumentException if this subscription is not embedded. */ public boolean canManageSubscription(SubscriptionInfo info) { return canManageSubscription(info, mContext.getPackageName()); } /** - * Checks whether the given app is authorized to manage the given subscription according to its - * metadata. Only supported for embedded subscriptions (if {@code SubscriptionInfo#isEmbedded} + * Checks whether the given app is authorized to manage the given subscription. An app can only + * be authorized if it is included in the {@link android.telephony.UiccAccessRule} of the + * {@link android.telephony.SubscriptionInfo} with the access status. + * Only supported for embedded subscriptions (if {@link SubscriptionInfo#isEmbedded} * returns true). * * @param info The subscription to check. * @param packageName Package name of the app to check. - * @return whether the app is authorized to manage this subscription per its metadata. - * @throws UnsupportedOperationException if this subscription is not embedded. + * @return whether the app is authorized to manage this subscription per its access rules. + * @throws IllegalArgumentException if this subscription is not embedded. * @hide */ public boolean canManageSubscription(SubscriptionInfo info, String packageName) { if (!info.isEmbedded()) { - throw new UnsupportedOperationException("Not an embedded subscription"); + throw new IllegalArgumentException("Not an embedded subscription"); } if (info.getAccessRules() == null) { return false; diff --git a/telephony/java/android/telephony/euicc/DownloadableSubscription.java b/telephony/java/android/telephony/euicc/DownloadableSubscription.java index 88db22b82c5c..edf3b08fbdd2 100644 --- a/telephony/java/android/telephony/euicc/DownloadableSubscription.java +++ b/telephony/java/android/telephony/euicc/DownloadableSubscription.java @@ -17,6 +17,7 @@ package android.telephony.euicc; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.app.PendingIntent; import android.os.Parcel; import android.os.Parcelable; import android.telephony.UiccAccessRule; @@ -26,7 +27,14 @@ import java.util.List; import com.android.internal.util.Preconditions; -/** Information about a subscription which is available for download. */ +/** + * Information about a subscription which is downloadable to an eUICC using + * {@link EuiccManager#downloadSubscription(DownloadableSubscription, boolean, PendingIntent). + * + * <p>For example, a DownloadableSubscription can be created through an activation code parsed from + * a QR code. A server address can be parsed from the activation code to download more information + * about the profile, such as carrier name, access rules, etc. + */ public final class DownloadableSubscription implements Parcelable { public static final Creator<DownloadableSubscription> CREATOR = @@ -136,7 +144,15 @@ public final class DownloadableSubscription implements Parcelable { /** * Create a DownloadableSubscription for the given activation code. * - * @param encodedActivationCode the activation code to use. Must not be null. + * <p>This fills the encodedActivationCode field. Other fields like confirmationCode, + * carrierName and accessRules may be filled in the implementation of + * {@code android.service.euicc.EuiccService} if exists. + * + * @param encodedActivationCode the activation code to use. An activation code can be parsed + * from a user scanned QR code. The format of activation code is defined in SGP.22. For + * example, "1$SMDP.GSMA.COM$04386-AGYFT-A74Y8-3F815$1.3.6.1.4.1.31746". For detail, see + * {@code com.android.euicc.data.ActivationCode}. Must not be null. + * * @return the {@link DownloadableSubscription} which may be passed to * {@link EuiccManager#downloadSubscription}. */ @@ -157,6 +173,9 @@ public final class DownloadableSubscription implements Parcelable { /** * Returns the confirmation code. + * + * <p>As an example, the confirmation code can be input by the user through a carrier app or the + * UI component of the eUICC local profile assistant (LPA) application. */ @Nullable public String getConfirmationCode() { diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java index dff1c6fe35f6..b732d4d92127 100644 --- a/telephony/java/android/telephony/euicc/EuiccManager.java +++ b/telephony/java/android/telephony/euicc/EuiccManager.java @@ -142,11 +142,9 @@ public class EuiccManager { "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DETAILED_CODE"; /** - * Key for an extra set on {@link #getDownloadableSubscriptionMetadata} PendingIntent result + * Key for an extra set on {@code #getDownloadableSubscriptionMetadata} PendingIntent result * callbacks providing the downloadable subscription metadata. - * @hide */ - @SystemApi public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION"; |