diff options
author | Manikanta Tadikonda <mtadikonda@google.com> | 2023-08-05 01:16:06 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-08-05 01:16:06 +0000 |
commit | a2fddfa6e59162f7f24ba1341bbfab79d040756c (patch) | |
tree | 00177ba9b2ed3955ee64afe44fdfab25fe16b5df | |
parent | 6c1e91c2160424f08ea513d98b864834bf200e87 (diff) | |
parent | f67ba527b789dccbb277fee4ac876a3e8e19176e (diff) | |
download | service_entitlement-a2fddfa6e59162f7f24ba1341bbfab79d040756c.tar.gz |
Added TerminalId params for GetPhoneNumber. am: e0773a8085 am: 398ab1e4a5 am: f67ba527b7
Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/service_entitlement/+/2691154
Change-Id: Id6d2d75e7317a0ac6cd0f8e64f4ad08553d499dc
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); |