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

Commit ec0c47f5 authored by Grace Chen's avatar Grace Chen Committed by android-build-merger
Browse files

Merge "Add profile class in SubscriptionInfo database"

am: 1403b61c

Change-Id: I5cc8988669ff19888aa4b31c91bfbe1145cdccc1
parents 0aab1259 1403b61c
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -5392,6 +5392,7 @@ package android.telephony {
  public class SubscriptionInfo implements android.os.Parcelable {
  public class SubscriptionInfo implements android.os.Parcelable {
    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
    method public int getCardId();
    method public int getCardId();
    method public int getProfileClass();
  }
  }


  public class SubscriptionManager {
  public class SubscriptionManager {
@@ -5400,6 +5401,11 @@ package android.telephony {
    method public void setDefaultDataSubId(int);
    method public void setDefaultDataSubId(int);
    method public void setDefaultSmsSubId(int);
    method public void setDefaultSmsSubId(int);
    field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
    field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
    field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
    field public static final android.net.Uri VT_ENABLED_CONTENT_URI;
    field public static final android.net.Uri VT_ENABLED_CONTENT_URI;
    field public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
    field public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
    field public static final android.net.Uri WFC_MODE_CONTENT_URI;
    field public static final android.net.Uri WFC_MODE_CONTENT_URI;
+33 −8
Original line number Original line Diff line number Diff line
@@ -173,6 +173,16 @@ public class SubscriptionInfo implements Parcelable {
     */
     */
    private boolean mIsGroupDisabled = false;
    private boolean mIsGroupDisabled = false;


    /**
     * Profile class, PROFILE_CLASS_TESTING, PROFILE_CLASS_OPERATIONAL
     * PROFILE_CLASS_PROVISIONING, or PROFILE_CLASS_UNSET.
     * A profile on the eUICC can be defined as test, operational, provisioning, or unset.
     * The profile class will be populated from the profile metadata if present. Otherwise,
     * the profile class defaults to unset if there is no profile metadata or the subscription
     * is not on an eUICC ({@link #isEmbedded} returns false).
     */
    private int mProfileClass;

    /**
    /**
     * @hide
     * @hide
     */
     */
@@ -182,7 +192,8 @@ public class SubscriptionInfo implements Parcelable {
            @Nullable UiccAccessRule[] accessRules, String cardString) {
            @Nullable UiccAccessRule[] accessRules, String cardString) {
        this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
        this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
                roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString,
                roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString,
                false, null, true, TelephonyManager.UNKNOWN_CARRIER_ID);
                false, null, true, TelephonyManager.UNKNOWN_CARRIER_ID,
                SubscriptionManager.PROFILE_CLASS_DEFAULT);
    }
    }


    /**
    /**
@@ -192,10 +203,10 @@ public class SubscriptionInfo implements Parcelable {
            CharSequence carrierName, int nameSource, int iconTint, String number, int roaming,
            CharSequence carrierName, int nameSource, int iconTint, String number, int roaming,
            Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
            Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
            @Nullable UiccAccessRule[] accessRules, String cardString, boolean isOpportunistic,
            @Nullable UiccAccessRule[] accessRules, String cardString, boolean isOpportunistic,
            @Nullable String groupUUID, boolean isMetered, int carrierId) {
            @Nullable String groupUUID, boolean isMetered, int carrierId, int profileClass) {
        this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
        this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
                roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString, -1,
                roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString, -1,
                isOpportunistic, groupUUID, isMetered, false, carrierId);
                isOpportunistic, groupUUID, isMetered, false, carrierId, profileClass);
    }
    }


    /**
    /**
@@ -206,7 +217,7 @@ public class SubscriptionInfo implements Parcelable {
            Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
            Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
            @Nullable UiccAccessRule[] accessRules, String cardString, int cardId,
            @Nullable UiccAccessRule[] accessRules, String cardString, int cardId,
            boolean isOpportunistic, @Nullable String groupUUID, boolean isMetered,
            boolean isOpportunistic, @Nullable String groupUUID, boolean isMetered,
            boolean isGroupDisabled, int carrierid) {
            boolean isGroupDisabled, int carrierid, int profileClass) {
        this.mId = id;
        this.mId = id;
        this.mIccId = iccId;
        this.mIccId = iccId;
        this.mSimSlotIndex = simSlotIndex;
        this.mSimSlotIndex = simSlotIndex;
@@ -229,6 +240,7 @@ public class SubscriptionInfo implements Parcelable {
        this.mIsMetered = isMetered;
        this.mIsMetered = isMetered;
        this.mIsGroupDisabled = isGroupDisabled;
        this.mIsGroupDisabled = isGroupDisabled;
        this.mCarrierId = carrierid;
        this.mCarrierId = carrierid;
        this.mProfileClass = profileClass;
    }
    }




@@ -465,6 +477,15 @@ public class SubscriptionInfo implements Parcelable {
        return mIsMetered;
        return mIsMetered;
    }
    }


    /**
     * @return the profile class of this subscription.
     * @hide
     */
    @SystemApi
    public @SubscriptionManager.ProfileClass int getProfileClass() {
        return this.mProfileClass;
    }

    /**
    /**
     * Checks whether the app with the given context is authorized to manage this subscription
     * Checks whether the app with the given context is authorized to manage this subscription
     * according to its metadata. Only supported for embedded subscriptions (if {@link #isEmbedded}
     * according to its metadata. Only supported for embedded subscriptions (if {@link #isEmbedded}
@@ -589,11 +610,12 @@ public class SubscriptionInfo implements Parcelable {
            boolean isMetered = source.readBoolean();
            boolean isMetered = source.readBoolean();
            boolean isGroupDisabled = source.readBoolean();
            boolean isGroupDisabled = source.readBoolean();
            int carrierid = source.readInt();
            int carrierid = source.readInt();
            int profileClass = source.readInt();


            return new SubscriptionInfo(id, iccId, simSlotIndex, displayName, carrierName,
            return new SubscriptionInfo(id, iccId, simSlotIndex, displayName, carrierName,
                    nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc, countryIso,
                    nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc, countryIso,
                    isEmbedded, accessRules, cardString, cardId, isOpportunistic, groupUUID,
                    isEmbedded, accessRules, cardString, cardId, isOpportunistic, groupUUID,
                    isMetered, isGroupDisabled, carrierid);
                    isMetered, isGroupDisabled, carrierid, profileClass);
        }
        }


        @Override
        @Override
@@ -626,6 +648,7 @@ public class SubscriptionInfo implements Parcelable {
        dest.writeBoolean(mIsMetered);
        dest.writeBoolean(mIsMetered);
        dest.writeBoolean(mIsGroupDisabled);
        dest.writeBoolean(mIsGroupDisabled);
        dest.writeInt(mCarrierId);
        dest.writeInt(mCarrierId);
        dest.writeInt(mProfileClass);
    }
    }


    @Override
    @Override
@@ -661,7 +684,8 @@ public class SubscriptionInfo implements Parcelable {
                + " accessRules " + Arrays.toString(mAccessRules)
                + " accessRules " + Arrays.toString(mAccessRules)
                + " cardString=" + cardStringToPrint + " cardId=" + mCardId
                + " cardString=" + cardStringToPrint + " cardId=" + mCardId
                + " isOpportunistic " + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
                + " isOpportunistic " + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
                + " isMetered=" + mIsMetered + " mIsGroupDisabled=" + mIsGroupDisabled + "}";
                + " isMetered=" + mIsMetered + " mIsGroupDisabled=" + mIsGroupDisabled
                + " profileClass=" + mProfileClass + "}";
    }
    }


    @Override
    @Override
@@ -669,7 +693,7 @@ public class SubscriptionInfo implements Parcelable {
        return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded,
        return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded,
                mIsOpportunistic, mGroupUUID, mIsMetered, mIccId, mNumber, mMcc, mMnc,
                mIsOpportunistic, mGroupUUID, mIsMetered, mIccId, mNumber, mMcc, mMnc,
                mCountryIso, mCardString, mCardId, mDisplayName, mCarrierName, mAccessRules,
                mCountryIso, mCardString, mCardId, mDisplayName, mCarrierName, mAccessRules,
                mIsGroupDisabled, mCarrierId);
                mIsGroupDisabled, mCarrierId, mProfileClass);
    }
    }


    @Override
    @Override
@@ -704,6 +728,7 @@ public class SubscriptionInfo implements Parcelable {
                && Objects.equals(mCardId, toCompare.mCardId)
                && Objects.equals(mCardId, toCompare.mCardId)
                && TextUtils.equals(mDisplayName, toCompare.mDisplayName)
                && TextUtils.equals(mDisplayName, toCompare.mDisplayName)
                && TextUtils.equals(mCarrierName, toCompare.mCarrierName)
                && TextUtils.equals(mCarrierName, toCompare.mCarrierName)
                && Arrays.equals(mAccessRules, toCompare.mAccessRules);
                && Arrays.equals(mAccessRules, toCompare.mAccessRules)
                && mProfileClass == toCompare.mProfileClass;
    }
    }
}
}
+69 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.net.NetworkPolicyManager.OVERRIDE_UNMETERED;
import android.Manifest;
import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.CallbackExecutor;
import android.annotation.DurationMillisLong;
import android.annotation.DurationMillisLong;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.RequiresPermission;
@@ -62,6 +63,8 @@ import com.android.internal.telephony.ISub;
import com.android.internal.telephony.ITelephonyRegistry;
import com.android.internal.telephony.ITelephonyRegistry;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneConstants;


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Arrays;
import java.util.Collections;
import java.util.Collections;
@@ -602,6 +605,72 @@ public class SubscriptionManager {
     */
     */
    public static final String IS_METERED = "is_metered";
    public static final String IS_METERED = "is_metered";


    /**
     * TelephonyProvider column name for the profile class of a subscription
     * Only present if {@link #IS_EMBEDDED} is 1.
     * <P>Type: INTEGER (int)</P>
     * @hide
     */
    public static final String PROFILE_CLASS = "profile_class";

    /**
     * Profile class of the subscription
     * @hide
     */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(prefix = { "PROFILE_CLASS_" }, value = {
            PROFILE_CLASS_TESTING,
            PROFILE_CLASS_PROVISIONING,
            PROFILE_CLASS_OPERATIONAL,
            PROFILE_CLASS_UNSET,
            PROFILE_CLASS_DEFAULT
    })
    public @interface ProfileClass {}

    /**
     * A testing profile can be pre-loaded or downloaded onto
     * the eUICC and provides connectivity to test equipment
     * for the purpose of testing the device and the eUICC. It
     * is not intended to store any operator credentials.
     * @hide
     */
    @SystemApi
    public static final int PROFILE_CLASS_TESTING = 0;

    /**
     * A provisioning profile is pre-loaded onto the eUICC and
     * provides connectivity to a mobile network solely for the
     * purpose of provisioning profiles.
     * @hide
     */
    @SystemApi
    public static final int PROFILE_CLASS_PROVISIONING = 1;

    /**
     * An operational profile can be pre-loaded or downloaded
     * onto the eUICC and provides services provided by the
     * operator.
     * @hide
     */
    @SystemApi
    public static final int PROFILE_CLASS_OPERATIONAL = 2;

    /**
     * The profile class is unset. This occurs when profile class
     * info is not available. The subscription either has no profile
     * metadata or the profile metadata did not encode profile class.
     * @hide
     */
    @SystemApi
    public static final int PROFILE_CLASS_UNSET = -1;

    /**
     * Default profile class
     * @hide
     */
    @SystemApi
    public static final int PROFILE_CLASS_DEFAULT = PROFILE_CLASS_UNSET;

    /**
    /**
     * Broadcast Action: The user has changed one of the default subs related to
     * Broadcast Action: The user has changed one of the default subs related to
     * data, phone calls, or sms</p>
     * data, phone calls, or sms</p>