aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-08-10 20:20:20 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-08-10 20:20:20 +0000
commit888e37345a9cdb12d2e563dd677d914f96538529 (patch)
treef3327982ce2a09618da658a61d2cd443e773536d
parent9c9b8595444e421b1cb4d6d3c2d926ce4c192da5 (diff)
parentca8e83ebd5116474e683e6554cf5b29200e40fe0 (diff)
downloadservice_entitlement-888e37345a9cdb12d2e563dd677d914f96538529.tar.gz
Snap for 10641560 from ca8e83ebd5116474e683e6554cf5b29200e40fe0 to simpleperf-release
Change-Id: I21f76946b5ba5e8ed72b9820494dec007944c7bf
-rw-r--r--Android.bp1
-rw-r--r--java/com/android/libraries/entitlement/Ts43Operation.java17
-rw-r--r--java/com/android/libraries/entitlement/http/HttpRequest.java3
-rw-r--r--java/com/android/libraries/entitlement/odsa/GetPhoneNumberOperation.java37
-rw-r--r--tests/src/com/android/libraries/entitlement/Ts43OperationTest.java8
5 files changed, 61 insertions, 5 deletions
diff --git a/Android.bp b/Android.bp
index 09d2bd9..333f0b3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -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);