Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2193be3 authored by Jiashen Wang's avatar Jiashen Wang Committed by Gerrit Code Review
Browse files

Merge changes from topics "downloadable_init_change_1", "downloadable_init_change_2"

* changes:
  Do now throw exception when activation code is empty
  Init DownloadableSubscription with Confirmation Code
parents 4548fab7 68418a01
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41716,6 +41716,14 @@ package android.telephony.euicc {
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription> CREATOR;
  }
  public static final class DownloadableSubscription.Builder {
    ctor public DownloadableSubscription.Builder(@NonNull android.telephony.euicc.DownloadableSubscription);
    ctor public DownloadableSubscription.Builder(@NonNull String);
    method @NonNull public android.telephony.euicc.DownloadableSubscription build();
    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setConfirmationCode(@NonNull String);
    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setEncodedActivationCode(@NonNull String);
  }
  public final class EuiccInfo implements android.os.Parcelable {
    ctor public EuiccInfo(@Nullable String);
    method public int describeContents();
+2 −6
Original line number Diff line number Diff line
@@ -10907,12 +10907,8 @@ package android.telephony.euicc {
  public static final class DownloadableSubscription.Builder {
    ctor public DownloadableSubscription.Builder();
    ctor public DownloadableSubscription.Builder(android.telephony.euicc.DownloadableSubscription);
    method public android.telephony.euicc.DownloadableSubscription build();
    method public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(java.util.List<android.telephony.UiccAccessRule>);
    method public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(String);
    method public android.telephony.euicc.DownloadableSubscription.Builder setConfirmationCode(String);
    method public android.telephony.euicc.DownloadableSubscription.Builder setEncodedActivationCode(String);
    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
  }
  public class EuiccCardManager {
+45 −7
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */
package android.telephony.euicc;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.app.PendingIntent;
@@ -102,44 +103,81 @@ public final class DownloadableSubscription implements Parcelable {
        this.accessRules = accessRules;
    }

    /** @hide */
    @SystemApi
    public static final class Builder {
        @Nullable private String encodedActivationCode;
        @Nullable private String confirmationCode;
        @Nullable private String carrierName;
        List<UiccAccessRule> accessRules;

        /** @hide */
        @SystemApi
        public Builder() {}

        public Builder(DownloadableSubscription baseSubscription) {
        public Builder(@NonNull DownloadableSubscription baseSubscription) {
            encodedActivationCode = baseSubscription.getEncodedActivationCode();
            confirmationCode = baseSubscription.getConfirmationCode();
            carrierName = baseSubscription.getCarrierName();
            accessRules = baseSubscription.getAccessRules();
        }

        public Builder(@NonNull String encodedActivationCode) {
            this.encodedActivationCode = encodedActivationCode;
        }

        /**
         * Builds a {@link DownloadableSubscription} object.
         * @return a non-null {@link DownloadableSubscription} object.
         */
        @NonNull
        public DownloadableSubscription build() {
            return new DownloadableSubscription(encodedActivationCode, confirmationCode,
                    carrierName, accessRules);
        }

        public Builder setEncodedActivationCode(String value) {
        /**
         * Sets the encoded activation code.
         * @param value the activation code to use. An activation code can be parsed from a user
         *              scanned QR code. The format of activation code is defined in SGP.22. For
         *              example, "1$SMDP.GSMA.COM$04386-AGYFT-A74Y8-3F815$1.3.6.1.4.1.31746". For
         *              detail, see {@code com.android.euicc.data.ActivationCode}. Must not be null.
         */
        @NonNull
        public Builder setEncodedActivationCode(@NonNull String value) {
            encodedActivationCode = value;
            return this;
        }

        public Builder setConfirmationCode(String value) {
        /**
         * Sets the confirmation code.
         * @param value the confirmation code to use to authenticate the carrier server got
         *              subscription download.
         */
        @NonNull
        public Builder setConfirmationCode(@NonNull String value) {
            confirmationCode = value;
            return this;
        }

        public Builder setCarrierName(String value) {
        /**
         * Sets the user-visible carrier name.
         * @param value carrier name.
         * @hide
         */
        @NonNull
        @SystemApi
        public Builder setCarrierName(@NonNull String value) {
            carrierName = value;
            return this;
        }

        public Builder setAccessRules(List<UiccAccessRule> value) {
        /**
         * Sets the {@link UiccAccessRule}s dictating access to this subscription.
         * @param value A list of {@link UiccAccessRule}s.
         * @hide
         */
        @NonNull
        @SystemApi
        public Builder setAccessRules(@NonNull List<UiccAccessRule> value) {
            accessRules = value;
            return this;
        }