diff options
author | Manikanta Tadikonda <mtadikonda@google.com> | 2023-08-05 02:22:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-08-05 02:22:00 +0000 |
commit | 69a525e1c3d360ff32c3f9ab2151fb5c464c7008 (patch) | |
tree | 00177ba9b2ed3955ee64afe44fdfab25fe16b5df | |
parent | 3861e01492278f642d19d4a08c770b5747ee27d6 (diff) | |
parent | 7dac58eb244a42f2a49e3e36958055ecb4c85dc5 (diff) | |
download | service_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>
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); |