summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Qingxi Li <qingxi@google.com> 2018-12-19 13:50:22 -0800
committer Qingxi Li <qingxi@google.com> 2018-12-20 11:37:29 -0800
commitf697be5eca7eb5cd9405b74cb305557cbbc57af8 (patch)
tree0648f67cb13178f4a7dfcccb3e7006d8f5535322
parent4465267f1de82b88c80a0aafd54b880814a104c8 (diff)
Add systemApi for Activation type & selection profile action
Bug: 119315548 Test: TreeHugger Change-Id: Ib237918928c0fefbbcc21eeb5f34a85fbfc2a344
-rw-r--r--api/system-current.txt5
-rw-r--r--telephony/java/android/telephony/euicc/EuiccManager.java71
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
*/