diff options
| author | 2018-12-19 13:50:22 -0800 | |
|---|---|---|
| committer | 2018-12-20 11:37:29 -0800 | |
| commit | f697be5eca7eb5cd9405b74cb305557cbbc57af8 (patch) | |
| tree | 0648f67cb13178f4a7dfcccb3e7006d8f5535322 | |
| parent | 4465267f1de82b88c80a0aafd54b880814a104c8 (diff) | |
Add systemApi for Activation type & selection profile action
Bug: 119315548
Test: TreeHugger
Change-Id: Ib237918928c0fefbbcc21eeb5f34a85fbfc2a344
| -rw-r--r-- | api/system-current.txt | 5 | ||||
| -rw-r--r-- | telephony/java/android/telephony/euicc/EuiccManager.java | 71 |
2 files changed, 75 insertions, 1 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index dfcae63f164e..a12cb4fa63e3 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6408,12 +6408,17 @@ package android.telephony.euicc { method public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent); method public int getOtaStatus(); field public static final java.lang.String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED"; + field public static final java.lang.String ACTION_PROFILE_SELECTION = "android.telephony.euicc.action.PROFILE_SELECTION"; field public static final java.lang.String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION"; + field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2 + field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1 + field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3 field public static final int EUICC_OTA_FAILED = 2; // 0x2 field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1 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_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE"; field public static final java.lang.String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS"; field public static final java.lang.String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION"; } diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java index ebf198702bb9..dc94e4cea2e9 100644 --- a/telephony/java/android/telephony/euicc/EuiccManager.java +++ b/telephony/java/android/telephony/euicc/EuiccManager.java @@ -61,7 +61,6 @@ public class EuiccManager { public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS"; - /** * Broadcast Action: The eUICC OTA status is changed. * <p class="note"> @@ -87,6 +86,20 @@ public class EuiccManager { "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE"; /** + * Intent action to select a profile to enable before download a new eSIM profile. + * + * May be called during device provisioning when there are multiple slots having profiles on + * them. This Intent launches a screen for all the current existing profiles and let users to + * choose which one they want to enable. In this case, the slot contains the profile will be + * activated. + * + * @hide + */ + @SystemApi + public static final String ACTION_PROFILE_SELECTION = + "android.telephony.euicc.action.PROFILE_SELECTION"; + + /** * Intent action to provision an embedded subscription. * * <p>May be called during device provisioning to launch a screen to perform embedded SIM @@ -132,6 +145,16 @@ public class EuiccManager { public static final int EMBEDDED_SUBSCRIPTION_RESULT_ERROR = 2; /** + * Key for an extra set on the {@link #ACTION_PROVISION_EMBEDDED_SUBSCRIPTION} intent for which + * kind of activation flow will be evolved. (see {@code EUICC_ACTIVATION_}) + * + * @hide + */ + @SystemApi + public static final String EXTRA_ACTIVATION_TYPE = + "android.telephony.euicc.extra.ACTIVATION_TYPE"; + + /** * Key for an extra set on {@link PendingIntent} result callbacks providing a detailed result * code. * @@ -197,6 +220,52 @@ public class EuiccManager { public static final String META_DATA_CARRIER_ICON = "android.telephony.euicc.carriericon"; /** + * Euicc activation type which will be included in {@link #EXTRA_ACTIVATION_TYPE} and used to + * decide which kind of activation flow should be lauched. + * + * @hide + */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(prefix = {"EUICC_ACTIVATION_"}, value = { + EUICC_ACTIVATION_TYPE_DEFAULT, + EUICC_ACTIVATION_TYPE_BACKUP, + EUICC_ACTIVATION_TYPE_TRANSFER + + }) + public @interface EuiccActivationType{} + + + /** + * The default euicc activation type which includes checking server side and downloading the + * profile based on carrier's download configuration. + * + * @hide + */ + @SystemApi + public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; + + /** + * The euicc activation type used when the default download process failed. LPA will start the + * backup flow and try to download the profile for the carrier. + * + * @hide + */ + @SystemApi + public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; + + /** + * The activation flow of eSIM seamless transfer will be used. LPA will start normal eSIM + * activation flow and if it's failed, the name of the carrier selected will be recorded. After + * the future device pairing, LPA will contact this carrier to transfer it from the other device + * to this device. + * + * @hide + */ + @SystemApi + public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; + + + /** * Euicc OTA update status which can be got by {@link #getOtaStatus} * @hide */ |