diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-10 20:20:20 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-10 20:20:20 +0000 |
commit | 888e37345a9cdb12d2e563dd677d914f96538529 (patch) | |
tree | f3327982ce2a09618da658a61d2cd443e773536d | |
parent | 9c9b8595444e421b1cb4d6d3c2d926ce4c192da5 (diff) | |
parent | ca8e83ebd5116474e683e6554cf5b29200e40fe0 (diff) | |
download | service_entitlement-888e37345a9cdb12d2e563dd677d914f96538529.tar.gz |
Snap for 10641560 from ca8e83ebd5116474e683e6554cf5b29200e40fe0 to simpleperf-release
Change-Id: I21f76946b5ba5e8ed72b9820494dec007944c7bf
5 files changed, 61 insertions, 5 deletions
@@ -22,6 +22,7 @@ java_defaults { libs: [ "androidx.annotation_annotation", "auto_value_annotations", + "error_prone_annotations", ], plugins: ["auto_value_plugin"], sdk_version: "system_current", 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/http/HttpRequest.java b/java/com/android/libraries/entitlement/http/HttpRequest.java index 57b5561..ec5ca7a 100644 --- a/java/com/android/libraries/entitlement/http/HttpRequest.java +++ b/java/com/android/libraries/entitlement/http/HttpRequest.java @@ -26,6 +26,7 @@ import com.android.libraries.entitlement.CarrierConfig; import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableListMultimap; import com.google.common.net.HttpHeaders; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.json.JSONObject; @@ -74,6 +75,7 @@ public abstract class HttpRequest { abstract ImmutableListMultimap.Builder<String, String> requestPropertiesBuilder(); /** Adds an HTTP header field. */ + @CanIgnoreReturnValue public Builder addRequestProperty(String key, String value) { requestPropertiesBuilder().put(key, value); return this; @@ -84,6 +86,7 @@ public abstract class HttpRequest { * {@link #addRequestProperty(String, String)} multiple times with the same key and * one value at a time. */ + @CanIgnoreReturnValue public Builder addRequestProperty(String key, List<String> value) { requestPropertiesBuilder().putAll(key, value); return this; 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); |