aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManikanta Tadikonda <mtadikonda@google.com>2023-08-05 02:22:00 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-08-05 02:22:00 +0000
commit69a525e1c3d360ff32c3f9ab2151fb5c464c7008 (patch)
tree00177ba9b2ed3955ee64afe44fdfab25fe16b5df
parent3861e01492278f642d19d4a08c770b5747ee27d6 (diff)
parent7dac58eb244a42f2a49e3e36958055ecb4c85dc5 (diff)
downloadservice_entitlement-69a525e1c3d360ff32c3f9ab2151fb5c464c7008.tar.gz
Added TerminalId params for GetPhoneNumber. am: e0773a8085 am: 398ab1e4a5 am: f67ba527b7 am: a2fddfa6e5 am: 7dac58eb24
Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/service_entitlement/+/2691154 Change-Id: Idc9ce1690393e43781b96544ee9cef98993e9bb4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--java/com/android/libraries/entitlement/Ts43Operation.java17
-rw-r--r--java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java37
-rw-r--r--tests/src/com/android/libraries/entitlement/Ts43OperationTest.java8
3 files changed, 57 insertions, 5 deletions
diff --git a/java/com/android/libraries/entitlement/Ts43Operation.java b/java/com/android/libraries/entitlement/Ts43Operation.java
index 681220a..4221514 100644
--- a/java/com/android/libraries/entitlement/Ts43Operation.java
+++ b/java/com/android/libraries/entitlement/Ts43Operation.java
@@ -36,6 +36,7 @@ import com.android.libraries.entitlement.odsa.CheckEligibilityOperation;
import com.android.libraries.entitlement.odsa.CheckEligibilityOperation.CheckEligibilityRequest;
import com.android.libraries.entitlement.odsa.CheckEligibilityOperation.CheckEligibilityResponse;
import com.android.libraries.entitlement.odsa.DownloadInfo;
+import com.android.libraries.entitlement.odsa.GetPhoneNumberOperation.GetPhoneNumberRequest;
import com.android.libraries.entitlement.odsa.GetPhoneNumberOperation.GetPhoneNumberResponse;
import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServiceRequest;
import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServiceResponse;
@@ -854,17 +855,25 @@ public class Ts43Operation {
* Get the phone number as described in GSMA Service Entitlement Configuration section 6.2 and
* 6.5.8.
*
+ * @param getPhoneNumberRequest The get phone number request.
* @return The phone number response from the network.
* @throws ServiceEntitlementException The exception for error case. If it's an HTTP response
* error from the server, the error code can be retrieved by
* {@link ServiceEntitlementException#getHttpStatus()}
*/
@NonNull
- public GetPhoneNumberResponse getPhoneNumber() throws ServiceEntitlementException {
+ public GetPhoneNumberResponse getPhoneNumber(
+ @NonNull GetPhoneNumberRequest getPhoneNumberRequest)
+ throws ServiceEntitlementException {
ServiceEntitlementRequest.Builder builder =
ServiceEntitlementRequest.builder()
- .setEntitlementVersion(mEntitlementVersion)
- .setTerminalId(mImei);
+ .setEntitlementVersion(mEntitlementVersion);
+
+ if (!TextUtils.isEmpty(getPhoneNumberRequest.terminalId())) {
+ builder.setTerminalId(getPhoneNumberRequest.terminalId());
+ } else {
+ builder.setTerminalId(mImei);
+ }
if (mTokenType == TOKEN_TYPE_NORMAL) {
builder.setAuthenticationToken(mAuthToken);
@@ -883,7 +892,7 @@ public class Ts43Operation {
try {
rawXml =
mServiceEntitlement.performEsimOdsa(
- EsimOdsaOperation.OPERATION_GET_PHONE_NUMBER, request, operation);
+ Ts43Constants.APP_PHONE_NUMBER_INFORMATION, request, operation);
} catch (ServiceEntitlementException e) {
Log.w(TAG, "getPhoneNumber: Failed to perform ODSA operation. e=" + e);
throw e;
diff --git a/java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java b/java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java
index 4ae07f1..3a30f0a 100644
--- a/java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java
+++ b/java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java
@@ -25,6 +25,43 @@ import com.google.auto.value.AutoValue;
*/
public final class GetPhoneNumberOperation {
/**
+ * Get phone number request described in GSMA Service Entitlement Configuration section 6.4.8.
+ */
+ @AutoValue
+ public abstract static class GetPhoneNumberRequest {
+ /**
+ * Returns the terminal id.
+ */
+ @NonNull
+ public abstract String terminalId();
+
+ /** Returns a new {@link GetPhoneNumberRequest.Builder} object. */
+ @NonNull
+ public static Builder builder() {
+ return new AutoValue_GetPhoneNumberOperation_GetPhoneNumberRequest
+ .Builder()
+ .setTerminalId("");
+ }
+
+ /** Builder. */
+ @AutoValue.Builder
+ public abstract static class Builder {
+ /**
+ * Sets the terminal id.
+ *
+ * @param terminalId The terminal id.
+ * @return The builder.
+ */
+ @NonNull
+ public abstract Builder setTerminalId(@NonNull String terminalId);
+
+ /** Returns the {@link GetPhoneNumberRequest} object. */
+ @NonNull
+ public abstract GetPhoneNumberRequest build();
+ }
+ }
+
+ /**
* Get phone number response described in GSMA Service Entitlement Configuration section
* 6.5.8.
*/
diff --git a/tests/src/com/android/libraries/entitlement/Ts43OperationTest.java b/tests/src/com/android/libraries/entitlement/Ts43OperationTest.java
index 6d90c5d..97e2193 100644
--- a/tests/src/com/android/libraries/entitlement/Ts43OperationTest.java
+++ b/tests/src/com/android/libraries/entitlement/Ts43OperationTest.java
@@ -35,6 +35,7 @@ import com.android.libraries.entitlement.odsa.AcquireTemporaryTokenOperation.Acq
import com.android.libraries.entitlement.odsa.CheckEligibilityOperation;
import com.android.libraries.entitlement.odsa.CheckEligibilityOperation.CheckEligibilityRequest;
import com.android.libraries.entitlement.odsa.CheckEligibilityOperation.CheckEligibilityResponse;
+import com.android.libraries.entitlement.odsa.GetPhoneNumberOperation.GetPhoneNumberRequest;
import com.android.libraries.entitlement.odsa.GetPhoneNumberOperation.GetPhoneNumberResponse;
import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServiceRequest;
import com.android.libraries.entitlement.odsa.ManageServiceOperation.ManageServiceResponse;
@@ -62,6 +63,7 @@ public class Ts43OperationTest {
private static final String SUBSCRIPTION_SERVICE_URL = "http://www.MNO.org/CDSubs";
private static final String SUBSCRIPTION_SERVICE_USER_DATA = "imsi=XX";
private static final String IMEI = "861536030196001";
+ private static final String TERMINAL_ID = "861536030196005";
private static final String COMPANION_TERMINAL_ID = "98112687006099944";
private static final String COMPANION_TERMINAL_EID = "JHSDHljhsdfy763hh";
private static final String ICCID = "123456789";
@@ -376,7 +378,11 @@ public class Ts43OperationTest {
public void testGetPhoneNumber() throws Exception {
doReturn(GET_PHONE_NUMBER_RESPONSE).when(mMockHttpResponse).body();
- GetPhoneNumberResponse response = mTs43Operation.getPhoneNumber();
+ GetPhoneNumberRequest request = GetPhoneNumberRequest.builder()
+ .setTerminalId(TERMINAL_ID)
+ .build();
+
+ GetPhoneNumberResponse response = mTs43Operation.getPhoneNumber(request);
assertThat(response.operationResult()).isEqualTo(
EsimOdsaOperation.OPERATION_RESULT_SUCCESS);
assertThat(response.msisdn()).isEqualTo(MSISDN);