diff options
author | Jack Yu <jackyu@google.com> | 2023-07-20 23:14:53 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-07-20 23:14:53 +0000 |
commit | 55da5d2907d90a528b053e63ec4e594171280ec6 (patch) | |
tree | 2d5de0d3d868eb8ac3070c53dbc13ff37cae92b8 | |
parent | ae88999480ac1563ba0283f5f6287becaa6c2d4c (diff) | |
parent | b4fb039fc6e0caf8e2fe719011d6acaafaf9c455 (diff) | |
download | service_entitlement-55da5d2907d90a528b053e63ec4e594171280ec6.tar.gz |
Removed OdsaOperation to reduce confusion am: 02e30d66c6 am: 3397628d4b am: 16fd7aefdb am: b4fb039fc6
Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/service_entitlement/+/2666122
Change-Id: I5bdd50e3ab49f1f3ae0ec5cb8ba1cf632d0ff60d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
10 files changed, 135 insertions, 296 deletions
diff --git a/java/com/android/libraries/entitlement/EsimOdsaOperation.java b/java/com/android/libraries/entitlement/EsimOdsaOperation.java index 1cc1bd6..e7b28f6 100644 --- a/java/com/android/libraries/entitlement/EsimOdsaOperation.java +++ b/java/com/android/libraries/entitlement/EsimOdsaOperation.java @@ -16,13 +16,10 @@ package com.android.libraries.entitlement; +import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.StringDef; -import com.android.libraries.entitlement.odsa.OdsaOperation; -import com.android.libraries.entitlement.odsa.OdsaOperation.CompanionService; -import com.android.libraries.entitlement.odsa.OdsaOperation.OperationType; - import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableList; @@ -39,31 +36,25 @@ public abstract class EsimOdsaOperation { public static final String OPERATION_UNKNOWN = ""; /** ODSA operation: CheckEligibility. */ - public static final String OPERATION_CHECK_ELIGIBILITY = - OdsaOperation.OPERATION_CHECK_ELIGIBILITY; + public static final String OPERATION_CHECK_ELIGIBILITY = "CheckEligibility"; /** ODSA operation: ManageSubscription. */ - public static final String OPERATION_MANAGE_SUBSCRIPTION = - OdsaOperation.OPERATION_MANAGE_SUBSCRIPTION; + public static final String OPERATION_MANAGE_SUBSCRIPTION = "ManageSubscription"; /** ODSA operation: ManageService. */ - public static final String OPERATION_MANAGE_SERVICE = - OdsaOperation.OPERATION_MANAGE_SERVICE; + public static final String OPERATION_MANAGE_SERVICE = "ManageService"; /** ODSA operation: AcquireConfiguration. */ - public static final String OPERATION_ACQUIRE_CONFIGURATION = - OdsaOperation.OPERATION_ACQUIRE_CONFIGURATION; + public static final String OPERATION_ACQUIRE_CONFIGURATION = "AcquireConfiguration"; /** ODSA operation: AcquireTemporaryToken. */ - public static final String OPERATION_ACQUIRE_TEMPORARY_TOKEN = - OdsaOperation.OPERATION_ACQUIRE_TEMPORARY_TOKEN; + public static final String OPERATION_ACQUIRE_TEMPORARY_TOKEN = "AcquireTemporaryToken"; /** ODSA operation: GetPhoneNumber */ - public static final String OPERATION_GET_PHONE_NUMBER = - OdsaOperation.OPERATION_GET_PHONE_NUMBER; + public static final String OPERATION_GET_PHONE_NUMBER = "GetPhoneNumber"; /** ODSA operation: AcquirePlan */ - public static final String OPERATION_ACQUIRE_PLAN = OdsaOperation.OPERATION_ACQUIRE_PLAN; + public static final String OPERATION_ACQUIRE_PLAN = "AcquirePlan"; @Retention(RetentionPolicy.SOURCE) @StringDef({ @@ -76,96 +67,129 @@ public abstract class EsimOdsaOperation { OPERATION_ACQUIRE_TEMPORARY_TOKEN, OPERATION_GET_PHONE_NUMBER }) - public @interface Operation { + public @interface OdsaOperation { } /** eSIM device’s service is unknown. */ - public static final int SERVICE_STATUS_UNKNOWN = OdsaOperation.SERVICE_STATUS_UNKNOWN; + public static final int SERVICE_STATUS_UNKNOWN = -1; /** eSIM device’s service is activated. */ - public static final int SERVICE_STATUS_ACTIVATED = OdsaOperation.SERVICE_STATUS_ACTIVATED; + public static final int SERVICE_STATUS_ACTIVATED = 1; /** eSIM device’s service is being activated. */ - public static final int SERVICE_STATUS_ACTIVATING = OdsaOperation.SERVICE_STATUS_ACTIVATING; + public static final int SERVICE_STATUS_ACTIVATING = 2; /** eSIM device’s service is not activated. */ - public static final int SERVICE_STATUS_DEACTIVATED = OdsaOperation.SERVICE_STATUS_DEACTIVATED; + public static final int SERVICE_STATUS_DEACTIVATED = 3; /** eSIM device’s service is not activated and the associated ICCID should not be reused. */ - public static final int SERVICE_STATUS_DEACTIVATED_NO_REUSE = - OdsaOperation.SERVICE_STATUS_DEACTIVATED_NO_REUSE; + public static final int SERVICE_STATUS_DEACTIVATED_NO_REUSE = 4; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + SERVICE_STATUS_UNKNOWN, + SERVICE_STATUS_ACTIVATED, + SERVICE_STATUS_ACTIVATING, + SERVICE_STATUS_DEACTIVATED, + SERVICE_STATUS_DEACTIVATED_NO_REUSE + }) + public @interface OdsaServiceStatus { + } /** Indicates that operation_type is not set. */ - public static final int OPERATION_TYPE_NOT_SET = OdsaOperation.OPERATION_TYPE_NOT_SET; + public static final int OPERATION_TYPE_NOT_SET = -1; /** To activate a subscription, used by {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - public static final int OPERATION_TYPE_SUBSCRIBE = OdsaOperation.OPERATION_TYPE_SUBSCRIBE; + public static final int OPERATION_TYPE_SUBSCRIBE = 0; /** To cancel a subscription, used by {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - public static final int OPERATION_TYPE_UNSUBSCRIBE = OdsaOperation.OPERATION_TYPE_UNSUBSCRIBE; + public static final int OPERATION_TYPE_UNSUBSCRIBE = 1; /** To manage an existing subscription, for {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - public static final int OPERATION_TYPE_CHANGE_SUBSCRIPTION = - OdsaOperation.OPERATION_TYPE_CHANGE_SUBSCRIPTION; + public static final int OPERATION_TYPE_CHANGE_SUBSCRIPTION = 2; /** * To transfer a subscription from an existing device, used by {@link * #OPERATION_MANAGE_SUBSCRIPTION}. */ - public static final int OPERATION_TYPE_TRANSFER_SUBSCRIPTION = - OdsaOperation.OPERATION_TYPE_TRANSFER_SUBSCRIPTION; + public static final int OPERATION_TYPE_TRANSFER_SUBSCRIPTION = 3; /** * To inform the network of a subscription update, used by * {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - public static final int OPERATION_TYPE_UPDATE_SUBSCRIPTION = - OdsaOperation.OPERATION_TYPE_UPDATE_SUBSCRIPTION; + public static final int OPERATION_TYPE_UPDATE_SUBSCRIPTION = 4; /** To activate a service, used by {@link #OPERATION_MANAGE_SERVICE}. */ - public static final int OPERATION_TYPE_ACTIVATE_SERVICE = - OdsaOperation.OPERATION_TYPE_ACTIVATE_SERVICE; + public static final int OPERATION_TYPE_ACTIVATE_SERVICE = 10; /** To deactivate a service, used by {@link #OPERATION_MANAGE_SERVICE}. */ - public static final int OPERATION_TYPE_DEACTIVATE_SERVICE = - OdsaOperation.OPERATION_TYPE_DEACTIVATE_SERVICE; + public static final int OPERATION_TYPE_DEACTIVATE_SERVICE = 11; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + OPERATION_TYPE_NOT_SET, + OPERATION_TYPE_SUBSCRIBE, + OPERATION_TYPE_UNSUBSCRIBE, + OPERATION_TYPE_CHANGE_SUBSCRIPTION, + OPERATION_TYPE_TRANSFER_SUBSCRIPTION, + OPERATION_TYPE_UPDATE_SUBSCRIPTION, + OPERATION_TYPE_ACTIVATE_SERVICE, + OPERATION_TYPE_DEACTIVATE_SERVICE + }) + public @interface OdsaOperationType { + } /** Operation result unknown. */ - public static final int OPERATION_RESULT_UNKNOWN = OdsaOperation.OPERATION_RESULT_UNKNOWN; + public static final int OPERATION_RESULT_UNKNOWN = -1; /** Operation was a success. */ - public static final int OPERATION_RESULT_SUCCESS = OdsaOperation.OPERATION_RESULT_SUCCESS; + public static final int OPERATION_RESULT_SUCCESS = 1; /** There was a general error during processing. */ - public static final int OPERATION_RESULT_ERROR_GENERAL = - OdsaOperation.OPERATION_RESULT_ERROR_GENERAL; + public static final int OPERATION_RESULT_ERROR_GENERAL = 100; /** An invalid operation value was provided in request. */ - public static final int OPERATION_RESULT_ERROR_INVALID_OPERATION = - OdsaOperation.OPERATION_RESULT_ERROR_INVALID_OPERATION; + public static final int OPERATION_RESULT_ERROR_INVALID_OPERATION = 101; /** An invalid parameter name or value was provided in request. */ - public static final int OPERATION_RESULT_ERROR_INVALID_PARAMETER = - OdsaOperation.OPERATION_RESULT_ERROR_INVALID_PARAMETER; + public static final int OPERATION_RESULT_ERROR_INVALID_PARAMETER = 102; /** * The optional operation is not supported by the carrier. Device should continue with the flow. * This error only applies to optional operations (for example ManageService). */ - public static final int OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION = - OdsaOperation.OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION; + public static final int OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION = 103; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + OPERATION_RESULT_UNKNOWN, + OPERATION_RESULT_SUCCESS, + OPERATION_RESULT_ERROR_GENERAL, + OPERATION_RESULT_ERROR_INVALID_OPERATION, + OPERATION_RESULT_ERROR_INVALID_PARAMETER, + OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION + }) + public @interface OdsaOperationResult { + } /** Companion service unknown. For initialization only. */ - public static final String COMPANION_SERVICE_UNKNOWN = OdsaOperation.COMPANION_SERVICE_UNKNOWN; + public static final String COMPANION_SERVICE_UNKNOWN = ""; /** Indicates the companion device carries the same MSISDN as the primary device. */ - public static final String COMPANION_SERVICE_SHARED_NUMBER = - OdsaOperation.COMPANION_SERVICE_SHARED_NUMBER; + public static final String COMPANION_SERVICE_SHARED_NUMBER = "SharedNumber"; /** Indicates the companion device carries a different MSISDN as the primary device. */ - public static final String COMPANION_SERVICE_DIFFERENT_NUMBER = - OdsaOperation.COMPANION_SERVICE_DIFFERENT_NUMBER; + public static final String COMPANION_SERVICE_DIFFERENT_NUMBER = "DiffNumber"; + @Retention(RetentionPolicy.SOURCE) + @StringDef({ + COMPANION_SERVICE_UNKNOWN, + COMPANION_SERVICE_SHARED_NUMBER, + COMPANION_SERVICE_DIFFERENT_NUMBER + }) + public @interface CompanionService { + } /** Returns the ODSA operation. Used by HTTP parameter {@code operation}. */ public abstract String operation(); @@ -345,7 +369,7 @@ public abstract class EsimOdsaOperation { * @see #OPERATION_ACQUIRE_PLAN */ @NonNull - public abstract Builder setOperation(@NonNull @Operation String operation); + public abstract Builder setOperation(@NonNull @OdsaOperation String operation); /** * Sets the detailed type of the eSIM ODSA operation. Used by HTTP parameter @@ -363,7 +387,7 @@ public abstract class EsimOdsaOperation { * @see #OPERATION_TYPE_DEACTIVATE_SERVICE */ @NonNull - public abstract Builder setOperationType(@OperationType int operationType); + public abstract Builder setOperationType(@OdsaOperationType int operationType); /** * Sets the operation targets to be used with temporary token from AcquireTemporaryToken @@ -371,7 +395,7 @@ public abstract class EsimOdsaOperation { */ @NonNull public abstract Builder setOperationTargets( - @NonNull @Operation ImmutableList<String> operationTargets); + @NonNull @OdsaOperation ImmutableList<String> operationTargets); /** * Sets the unique identifier of the companion device, like IMEI. Used by HTTP parameter diff --git a/java/com/android/libraries/entitlement/Ts43Operation.java b/java/com/android/libraries/entitlement/Ts43Operation.java index 77bda9c..a95ff10 100644 --- a/java/com/android/libraries/entitlement/Ts43Operation.java +++ b/java/com/android/libraries/entitlement/Ts43Operation.java @@ -26,6 +26,7 @@ import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaServiceStatus; import com.android.libraries.entitlement.http.HttpConstants; import com.android.libraries.entitlement.odsa.AcquireConfigurationOperation.AcquireConfigurationRequest; import com.android.libraries.entitlement.odsa.AcquireConfigurationOperation.AcquireConfigurationResponse; @@ -39,7 +40,6 @@ import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServi import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServiceResponse; import com.android.libraries.entitlement.odsa.ManageSubscriptionOperation.ManageSubscriptionRequest; import com.android.libraries.entitlement.odsa.ManageSubscriptionOperation.ManageSubscriptionResponse; -import com.android.libraries.entitlement.odsa.OdsaOperation.ServiceStatus; import com.android.libraries.entitlement.odsa.OdsaResponse; import com.android.libraries.entitlement.odsa.PlanOffer; import com.android.libraries.entitlement.utils.Ts43Constants; @@ -995,7 +995,7 @@ public class Ts43Operation { * @return The converted service status. {@link EsimOdsaOperation#SERVICE_STATUS_UNKNOWN} if not * able to convert. */ - @ServiceStatus + @OdsaServiceStatus private int getServiceStatusFromString(@NonNull String serviceStatusString) { switch (serviceStatusString) { case Ts43XmlDoc.ParmValues.SERVICE_STATUS_ACTIVATED: diff --git a/java/com/android/libraries/entitlement/eapaka/EapAkaApi.java b/java/com/android/libraries/entitlement/eapaka/EapAkaApi.java index 1d8d80f..adb4140 100644 --- a/java/com/android/libraries/entitlement/eapaka/EapAkaApi.java +++ b/java/com/android/libraries/entitlement/eapaka/EapAkaApi.java @@ -38,7 +38,6 @@ import com.android.libraries.entitlement.http.HttpConstants.ContentType; import com.android.libraries.entitlement.http.HttpConstants.RequestMethod; import com.android.libraries.entitlement.http.HttpRequest; import com.android.libraries.entitlement.http.HttpResponse; -import com.android.libraries.entitlement.odsa.OdsaOperation; import com.google.common.collect.ImmutableList; import com.google.common.net.HttpHeaders; @@ -289,7 +288,7 @@ public class EapAkaApi { /** * Retrieves HTTP response from performing ODSA operations. - * For operation type, see {@link OdsaOperation}. + * For operation type, see {@link EsimOdsaOperation}. * * <p>Implementation based on GSMA TS.43-v5.0 6.1. */ @@ -424,7 +423,7 @@ public class EapAkaApi { private void appendParametersForEsimOdsaOperation( Uri.Builder urlBuilder, EsimOdsaOperation odsaOperation) { urlBuilder.appendQueryParameter(OPERATION, odsaOperation.operation()); - if (odsaOperation.operationType() != OdsaOperation.OPERATION_TYPE_NOT_SET) { + if (odsaOperation.operationType() != EsimOdsaOperation.OPERATION_TYPE_NOT_SET) { urlBuilder.appendQueryParameter(OPERATION_TYPE, Integer.toString(odsaOperation.operationType())); } diff --git a/java/com/android/libraries/entitlement/odsa/AcquireConfigurationOperation.java b/java/com/android/libraries/entitlement/odsa/AcquireConfigurationOperation.java index c222d85..08a86b8 100644 --- a/java/com/android/libraries/entitlement/odsa/AcquireConfigurationOperation.java +++ b/java/com/android/libraries/entitlement/odsa/AcquireConfigurationOperation.java @@ -20,8 +20,9 @@ import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.libraries.entitlement.odsa.OdsaOperation.CompanionService; -import com.android.libraries.entitlement.odsa.OdsaOperation.ServiceStatus; +import com.android.libraries.entitlement.EsimOdsaOperation; +import com.android.libraries.entitlement.EsimOdsaOperation.CompanionService; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaServiceStatus; import com.android.libraries.entitlement.utils.Ts43Constants; import com.android.libraries.entitlement.utils.Ts43Constants.AppId; import com.android.libraries.entitlement.utils.Ts43Constants.NotificationAction; @@ -342,26 +343,26 @@ public final class AcquireConfigurationOperation { /** * Service status. * - * @see OdsaOperation#SERVICE_STATUS_UNKNOWN - * @see OdsaOperation#SERVICE_STATUS_ACTIVATED - * @see OdsaOperation#SERVICE_STATUS_ACTIVATING - * @see OdsaOperation#SERVICE_STATUS_DEACTIVATED - * @see OdsaOperation#SERVICE_STATUS_DEACTIVATED_NO_REUSE + * @see EsimOdsaOperation#SERVICE_STATUS_UNKNOWN + * @see EsimOdsaOperation#SERVICE_STATUS_ACTIVATED + * @see EsimOdsaOperation#SERVICE_STATUS_ACTIVATING + * @see EsimOdsaOperation#SERVICE_STATUS_DEACTIVATED + * @see EsimOdsaOperation#SERVICE_STATUS_DEACTIVATED_NO_REUSE */ - @ServiceStatus + @OdsaServiceStatus public abstract int serviceStatus(); /** * Specifies the minimum interval (in minutes) with which the device application may * poll the ECS to refresh the current {@link #serviceStatus()} using {@link * AcquireConfigurationRequest}. This parameter will be present only when {@link - * #serviceStatus()} is {@link OdsaOperation#SERVICE_STATUS_ACTIVATING}. If parameter is - * not present or value is 0, this polling procedure is not triggered and ODSA app will - * keep waiting for any external action to continue the flow. + * #serviceStatus()} is {@link EsimOdsaOperation#SERVICE_STATUS_ACTIVATING}. If + * parameter is not present or value is 0, this polling procedure is not triggered and + * ODSA app will keep waiting for any external action to continue the flow. * * <p>The maximum number of {@link AcquireConfigurationRequest} before sending a {@link - * #serviceStatus()} with {@link OdsaOperation#SERVICE_STATUS_DEACTIVATED_NO_REUSE} will - * be defined as an ECS configuration variable (MaxRefreshRequest). + * #serviceStatus()} with {@link EsimOdsaOperation#SERVICE_STATUS_DEACTIVATED_NO_REUSE} + * will be defined as an ECS configuration variable (MaxRefreshRequest). * * <p>{@link #POLLING_INTERVAL_NOT_AVAILABLE} when polling interval is not available. */ @@ -385,7 +386,7 @@ public final class AcquireConfigurationOperation { .Builder() .setType(CONFIGURATION_TYPE_UNKNOWN) .setIccid("") - .setServiceStatus(OdsaOperation.SERVICE_STATUS_UNKNOWN) + .setServiceStatus(EsimOdsaOperation.SERVICE_STATUS_UNKNOWN) .setPollingInterval(POLLING_INTERVAL_NOT_AVAILABLE); } @@ -428,7 +429,7 @@ public final class AcquireConfigurationOperation { * @return The builder. */ @NonNull - public abstract Builder setServiceStatus(@ServiceStatus int serviceStatus); + public abstract Builder setServiceStatus(@OdsaServiceStatus int serviceStatus); /** * Set the polling interval. diff --git a/java/com/android/libraries/entitlement/odsa/AcquireTemporaryTokenOperation.java b/java/com/android/libraries/entitlement/odsa/AcquireTemporaryTokenOperation.java index 13b037d..4f814b9 100644 --- a/java/com/android/libraries/entitlement/odsa/AcquireTemporaryTokenOperation.java +++ b/java/com/android/libraries/entitlement/odsa/AcquireTemporaryTokenOperation.java @@ -19,7 +19,7 @@ package com.android.libraries.entitlement.odsa; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.libraries.entitlement.odsa.OdsaOperation.Operation; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaOperation; import com.android.libraries.entitlement.utils.Ts43Constants; import com.android.libraries.entitlement.utils.Ts43Constants.AppId; @@ -53,7 +53,7 @@ public final class AcquireTemporaryTokenOperation { * {@code operation_targets}. */ @NonNull - @Operation + @OdsaOperation public abstract ImmutableList<String> operationTargets(); /** @@ -99,7 +99,7 @@ public final class AcquireTemporaryTokenOperation { */ @NonNull public abstract Builder setOperationTargets( - @NonNull @Operation ImmutableList<String> operationTargets); + @NonNull @OdsaOperation ImmutableList<String> operationTargets); /** * Sets the unique identifier of the companion device, like IMEI. Used by HTTP parameter @@ -140,7 +140,7 @@ public final class AcquireTemporaryTokenOperation { /** The allowed ODSA operations requested using {@link #temporaryToken()}. */ @NonNull - @Operation + @OdsaOperation public abstract ImmutableList<String> operationTargets(); /** Returns a new {@link AcquireTemporaryTokenRequest.Builder} object. */ @@ -187,7 +187,7 @@ public final class AcquireTemporaryTokenOperation { */ @NonNull public abstract Builder setOperationTargets( - @NonNull @Operation ImmutableList<String> operationTargets); + @NonNull @OdsaOperation ImmutableList<String> operationTargets); /** Returns the {@link AcquireTemporaryTokenResponse} object. */ @NonNull diff --git a/java/com/android/libraries/entitlement/odsa/CheckEligibilityOperation.java b/java/com/android/libraries/entitlement/odsa/CheckEligibilityOperation.java index bd609bf..8dc8d97 100644 --- a/java/com/android/libraries/entitlement/odsa/CheckEligibilityOperation.java +++ b/java/com/android/libraries/entitlement/odsa/CheckEligibilityOperation.java @@ -20,7 +20,7 @@ import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.libraries.entitlement.odsa.OdsaOperation.CompanionService; +import com.android.libraries.entitlement.EsimOdsaOperation.CompanionService; import com.android.libraries.entitlement.utils.HttpConstants; import com.android.libraries.entitlement.utils.HttpConstants.ContentType; import com.android.libraries.entitlement.utils.Ts43Constants; diff --git a/java/com/android/libraries/entitlement/odsa/ManageServiceOperation.java b/java/com/android/libraries/entitlement/odsa/ManageServiceOperation.java index 2609b00..34868a4 100644 --- a/java/com/android/libraries/entitlement/odsa/ManageServiceOperation.java +++ b/java/com/android/libraries/entitlement/odsa/ManageServiceOperation.java @@ -18,9 +18,10 @@ package com.android.libraries.entitlement.odsa; import androidx.annotation.NonNull; -import com.android.libraries.entitlement.odsa.OdsaOperation.CompanionService; -import com.android.libraries.entitlement.odsa.OdsaOperation.OperationType; -import com.android.libraries.entitlement.odsa.OdsaOperation.ServiceStatus; +import com.android.libraries.entitlement.EsimOdsaOperation; +import com.android.libraries.entitlement.EsimOdsaOperation.CompanionService; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaOperationType; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaServiceStatus; import com.android.libraries.entitlement.utils.Ts43Constants; import com.android.libraries.entitlement.utils.Ts43Constants.AppId; @@ -46,7 +47,7 @@ public final class ManageServiceOperation { * Returns the detailed type of the eSIM ODSA operation. Used by HTTP parameter {@code * operation_type}. */ - @OperationType + @OdsaOperationType public abstract int operationType(); /** @@ -104,13 +105,13 @@ public final class ManageServiceOperation { public static Builder builder() { return new AutoValue_ManageServiceOperation_ManageServiceRequest.Builder() .setAppId(Ts43Constants.APP_UNKNOWN) - .setOperationType(OdsaOperation.OPERATION_TYPE_NOT_SET) + .setOperationType(EsimOdsaOperation.OPERATION_TYPE_NOT_SET) .setCompanionTerminalId("") .setCompanionTerminalVendor("") .setCompanionTerminalModel("") .setCompanionTerminalSoftwareVersion("") .setCompanionTerminalFriendlyName("") - .setCompanionTerminalService(OdsaOperation.COMPANION_SERVICE_UNKNOWN) + .setCompanionTerminalService(EsimOdsaOperation.COMPANION_SERVICE_UNKNOWN) .setCompanionTerminalIccid(""); } @@ -133,12 +134,13 @@ public final class ManageServiceOperation { * Sets the detailed type of the eSIM ODSA operation. * * @param operationType Operation type. Only {@link - * OdsaOperation#OPERATION_TYPE_ACTIVATE_SERVICE} and {@link - * OdsaOperation#OPERATION_TYPE_DEACTIVATE_SERVICE} are allowed. + * EsimOdsaOperation#OPERATION_TYPE_ACTIVATE_SERVICE} and {@link + * EsimOdsaOperation#OPERATION_TYPE_DEACTIVATE_SERVICE} are + * allowed. * @return The builder. */ @NonNull - public abstract Builder setOperationType(@OperationType int operationType); + public abstract Builder setOperationType(@OdsaOperationType int operationType); /** * Sets the unique identifier of the companion device, like IMEI. Used by HTTP parameter @@ -235,14 +237,14 @@ public final class ManageServiceOperation { @AutoValue public abstract static class ManageServiceResponse extends OdsaResponse { /** Service status. */ - @ServiceStatus + @OdsaServiceStatus public abstract int serviceStatus(); /** Returns a new {@link ManageServiceResponse.Builder} object. */ @NonNull public static Builder builder() { return new AutoValue_ManageServiceOperation_ManageServiceResponse.Builder() - .setServiceStatus(OdsaOperation.SERVICE_STATUS_UNKNOWN); + .setServiceStatus(EsimOdsaOperation.SERVICE_STATUS_UNKNOWN); } /** Builder */ @@ -255,7 +257,7 @@ public final class ManageServiceOperation { * @return The builder. */ @NonNull - public abstract Builder setServiceStatus(@ServiceStatus int serviceStatus); + public abstract Builder setServiceStatus(@OdsaServiceStatus int serviceStatus); /** Build the {@link ManageServiceResponse} object. */ @NonNull diff --git a/java/com/android/libraries/entitlement/odsa/ManageSubscriptionOperation.java b/java/com/android/libraries/entitlement/odsa/ManageSubscriptionOperation.java index 256f851..8c06b5f 100644 --- a/java/com/android/libraries/entitlement/odsa/ManageSubscriptionOperation.java +++ b/java/com/android/libraries/entitlement/odsa/ManageSubscriptionOperation.java @@ -20,8 +20,9 @@ import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.libraries.entitlement.odsa.OdsaOperation.CompanionService; -import com.android.libraries.entitlement.odsa.OdsaOperation.OperationType; +import com.android.libraries.entitlement.EsimOdsaOperation; +import com.android.libraries.entitlement.EsimOdsaOperation.CompanionService; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaOperationType; import com.android.libraries.entitlement.utils.HttpConstants; import com.android.libraries.entitlement.utils.HttpConstants.ContentType; import com.android.libraries.entitlement.utils.Ts43Constants; @@ -58,7 +59,7 @@ public final class ManageSubscriptionOperation { * Returns the detailed type of the eSIM ODSA operation. Used by HTTP parameter * {@code operation_type}. */ - @OperationType + @OdsaOperationType public abstract int operationType(); /** @@ -219,13 +220,13 @@ public final class ManageSubscriptionOperation { public static Builder builder() { return new AutoValue_ManageSubscriptionOperation_ManageSubscriptionRequest.Builder() .setAppId(Ts43Constants.APP_UNKNOWN) - .setOperationType(OdsaOperation.OPERATION_TYPE_NOT_SET) + .setOperationType(EsimOdsaOperation.OPERATION_TYPE_NOT_SET) .setCompanionTerminalId("") .setCompanionTerminalVendor("") .setCompanionTerminalModel("") .setCompanionTerminalSoftwareVersion("") .setCompanionTerminalFriendlyName("") - .setCompanionTerminalService(OdsaOperation.COMPANION_SERVICE_UNKNOWN) + .setCompanionTerminalService(EsimOdsaOperation.COMPANION_SERVICE_UNKNOWN) .setCompanionTerminalIccid("") .setCompanionTerminalEid("") .setTerminalIccid("") @@ -266,7 +267,7 @@ public final class ManageSubscriptionOperation { * @return The builder. */ @NonNull - public abstract Builder setOperationType(@OperationType int operationType); + public abstract Builder setOperationType(@OdsaOperationType int operationType); /** * Sets the unique identifier of the companion device, like IMEI. Used by HTTP parameter @@ -613,9 +614,9 @@ public final class ManageSubscriptionOperation { * URL refers to web views responsible for a certain action on the eSIM device subscription. * The * Service Provider can provide different URL based on the operation_type input parameter - * ({@link OdsaOperation#OPERATION_TYPE_SUBSCRIBE}, {@link - * OdsaOperation#OPERATION_TYPE_UNSUBSCRIBE}, {@link - * OdsaOperation#OPERATION_TYPE_CHANGE_SUBSCRIPTION}). + * ({@link EsimOdsaOperation#OPERATION_TYPE_SUBSCRIBE}, {@link + * EsimOdsaOperation#OPERATION_TYPE_UNSUBSCRIBE}, {@link + * EsimOdsaOperation#OPERATION_TYPE_CHANGE_SUBSCRIPTION}). * * <p>{@code null} if {@link #subscriptionResult()} is not {@link * #SUBSCRIPTION_RESULT_CONTINUE_TO_WEBSHEET}. @@ -679,9 +680,9 @@ public final class ManageSubscriptionOperation { * @param url URL refers to web views responsible for a certain action on the eSIM * device subscription. The Service Provider can provide different URL based * on the operation_type input parameter ( - * {@link OdsaOperation#OPERATION_TYPE_SUBSCRIBE}, {@link - * OdsaOperation#OPERATION_TYPE_UNSUBSCRIBE}, {@link - * OdsaOperation#OPERATION_TYPE_CHANGE_SUBSCRIPTION}). + * {@link EsimOdsaOperation#OPERATION_TYPE_SUBSCRIBE}, {@link + * EsimOdsaOperation#OPERATION_TYPE_UNSUBSCRIBE}, {@link + * EsimOdsaOperation#OPERATION_TYPE_CHANGE_SUBSCRIPTION}). * @return The builder. */ @NonNull diff --git a/java/com/android/libraries/entitlement/odsa/OdsaOperation.java b/java/com/android/libraries/entitlement/odsa/OdsaOperation.java deleted file mode 100644 index 287b14b..0000000 --- a/java/com/android/libraries/entitlement/odsa/OdsaOperation.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.libraries.entitlement.odsa; - -import androidx.annotation.IntDef; -import androidx.annotation.StringDef; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * HTTP request parameters specific to on device service activation (ODSA). See GSMA spec TS.43 - * section 6.2. - */ -public interface OdsaOperation { - /** ODSA operation unknown. For initialization only. */ - String OPERATION_UNKNOWN = ""; - - /** ODSA operation: CheckEligibility. */ - String OPERATION_CHECK_ELIGIBILITY = "CheckEligibility"; - - /** ODSA operation: ManageSubscription. */ - String OPERATION_MANAGE_SUBSCRIPTION = "ManageSubscription"; - - /** ODSA operation: ManageService. */ - String OPERATION_MANAGE_SERVICE = "ManageService"; - - /** ODSA operation: AcquireConfiguration. */ - String OPERATION_ACQUIRE_CONFIGURATION = "AcquireConfiguration"; - - /** ODSA operation: AcquireTemporaryToken. */ - String OPERATION_ACQUIRE_TEMPORARY_TOKEN = "AcquireTemporaryToken"; - - /** ODSA operation: GetPhoneNumber */ - String OPERATION_GET_PHONE_NUMBER = "GetPhoneNumber"; - - /** ODSA operation: AcquirePlan */ - String OPERATION_ACQUIRE_PLAN = "AcquirePlan"; - - @Retention(RetentionPolicy.SOURCE) - @StringDef({ - OPERATION_UNKNOWN, - OPERATION_CHECK_ELIGIBILITY, - OPERATION_MANAGE_SUBSCRIPTION, - OPERATION_MANAGE_SERVICE, - OPERATION_ACQUIRE_CONFIGURATION, - OPERATION_ACQUIRE_PLAN, - OPERATION_ACQUIRE_TEMPORARY_TOKEN, - OPERATION_GET_PHONE_NUMBER - }) - public @interface Operation { - } - - /** eSIM device’s service is unknown. */ - int SERVICE_STATUS_UNKNOWN = -1; - - /** eSIM device’s service is activated. */ - int SERVICE_STATUS_ACTIVATED = 1; - - /** eSIM device’s service is being activated. */ - int SERVICE_STATUS_ACTIVATING = 2; - - /** eSIM device’s service is not activated. */ - int SERVICE_STATUS_DEACTIVATED = 3; - - /** eSIM device’s service is not activated and the associated ICCID should not be reused. */ - int SERVICE_STATUS_DEACTIVATED_NO_REUSE = 4; - - @Retention(RetentionPolicy.SOURCE) - @IntDef({ - SERVICE_STATUS_UNKNOWN, - SERVICE_STATUS_ACTIVATED, - SERVICE_STATUS_ACTIVATING, - SERVICE_STATUS_DEACTIVATED, - SERVICE_STATUS_DEACTIVATED_NO_REUSE - }) - @interface ServiceStatus { - } - - /** Indicates that operation_type is not set. */ - int OPERATION_TYPE_NOT_SET = -1; - - /** To activate a subscription, used by {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - int OPERATION_TYPE_SUBSCRIBE = 0; - - /** To cancel a subscription, used by {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - int OPERATION_TYPE_UNSUBSCRIBE = 1; - - /** To manage an existing subscription, for {@link #OPERATION_MANAGE_SUBSCRIPTION}. */ - int OPERATION_TYPE_CHANGE_SUBSCRIPTION = 2; - - /** - * To transfer a subscription from an existing device, used by {@link - * #OPERATION_MANAGE_SUBSCRIPTION}. - */ - int OPERATION_TYPE_TRANSFER_SUBSCRIPTION = 3; - - /** - * To inform the network of a subscription update, used by - * {@link #OPERATION_MANAGE_SUBSCRIPTION}. - */ - int OPERATION_TYPE_UPDATE_SUBSCRIPTION = 4; - - /** To activate a service, used by {@link #OPERATION_MANAGE_SERVICE}. */ - int OPERATION_TYPE_ACTIVATE_SERVICE = 10; - - /** To deactivate a service, used by {@link #OPERATION_MANAGE_SERVICE}. */ - int OPERATION_TYPE_DEACTIVATE_SERVICE = 11; - - @Retention(RetentionPolicy.SOURCE) - @IntDef({ - OPERATION_TYPE_NOT_SET, - OPERATION_TYPE_SUBSCRIBE, - OPERATION_TYPE_UNSUBSCRIBE, - OPERATION_TYPE_CHANGE_SUBSCRIPTION, - OPERATION_TYPE_TRANSFER_SUBSCRIPTION, - OPERATION_TYPE_UPDATE_SUBSCRIPTION, - OPERATION_TYPE_ACTIVATE_SERVICE, - OPERATION_TYPE_DEACTIVATE_SERVICE - }) - @interface OperationType { - } - - /** Operation result unknown. */ - int OPERATION_RESULT_UNKNOWN = -1; - - /** Operation was a success. */ - int OPERATION_RESULT_SUCCESS = 1; - - /** There was a general error during processing. */ - int OPERATION_RESULT_ERROR_GENERAL = 100; - - /** An invalid operation value was provided in request. */ - int OPERATION_RESULT_ERROR_INVALID_OPERATION = 101; - - /** An invalid parameter name or value was provided in request. */ - int OPERATION_RESULT_ERROR_INVALID_PARAMETER = 102; - - /** - * The optional operation is not supported by the carrier. Device should continue with the flow. - * This error only applies to optional operations (for example ManageService). - */ - int OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION = 103; - - @Retention(RetentionPolicy.SOURCE) - @IntDef({ - OPERATION_RESULT_UNKNOWN, - OPERATION_RESULT_SUCCESS, - OPERATION_RESULT_ERROR_GENERAL, - OPERATION_RESULT_ERROR_INVALID_OPERATION, - OPERATION_RESULT_ERROR_INVALID_PARAMETER, - OPERATION_RESULT_WARNING_NOT_SUPPORTED_OPERATION - }) - @interface OperationResult { - } - - /** Companion service unknown. For initialization only. */ - String COMPANION_SERVICE_UNKNOWN = ""; - - /** Indicates the companion device carries the same MSISDN as the primary device. */ - String COMPANION_SERVICE_SHARED_NUMBER = "SharedNumber"; - - /** Indicates the companion device carries a different MSISDN as the primary device. */ - String COMPANION_SERVICE_DIFFERENT_NUMBER = "DiffNumber"; - - @Retention(RetentionPolicy.SOURCE) - @StringDef({ - COMPANION_SERVICE_UNKNOWN, - COMPANION_SERVICE_SHARED_NUMBER, - COMPANION_SERVICE_DIFFERENT_NUMBER - }) - @interface CompanionService { - } -} diff --git a/java/com/android/libraries/entitlement/odsa/OdsaResponse.java b/java/com/android/libraries/entitlement/odsa/OdsaResponse.java index 7f59abe..18142c6 100644 --- a/java/com/android/libraries/entitlement/odsa/OdsaResponse.java +++ b/java/com/android/libraries/entitlement/odsa/OdsaResponse.java @@ -19,14 +19,14 @@ package com.android.libraries.entitlement.odsa; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.libraries.entitlement.odsa.OdsaOperation.OperationResult; +import com.android.libraries.entitlement.EsimOdsaOperation.OdsaOperationResult; import java.net.URL; /** ODSA general response described in GSMA Service Entitlement Configuration section 6.5.1. */ public abstract class OdsaResponse { /** Operation result. */ - @OperationResult + @OdsaOperationResult public abstract int operationResult(); /** @@ -52,7 +52,7 @@ public abstract class OdsaResponse { * @return The builder. */ @NonNull - public abstract Builder setOperationResult(@OperationResult int operationResult); + public abstract Builder setOperationResult(@OdsaOperationResult int operationResult); /** * Set the URL to the web view to user on the reason(s) why the authentication failed. |