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

Commit 10de8e54 authored by Nathan Harold's avatar Nathan Harold
Browse files

Update SubscriptionInfo

Add the APIs for SubscriptionInfo

Bug: 210023167
Test: atest SubscriptionControllerTest#testUsageSettingProperty
Change-Id: If1fc602b021801a12778ac06f711456f17b378e4
parent bd5f0d92
Loading
Loading
Loading
Loading
+36 −4
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.os.Build;
import android.os.Parcel;
import android.os.ParcelUuid;
import android.os.Parcelable;
import android.telephony.SubscriptionManager.UsageSetting;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
@@ -226,6 +227,11 @@ public class SubscriptionInfo implements Parcelable {
     */
    private final int mPortIndex;

    /**
     * Subscription's preferred usage setting.
     */
    private int mUsageSetting = SubscriptionManager.USAGE_SETTING_UNKNOWN;

    /**
     * Public copy constructor.
     * @hide
@@ -284,6 +290,7 @@ public class SubscriptionInfo implements Parcelable {
                cardId, isOpportunistic, groupUUID, isGroupDisabled, carrierId, profileClass,
                subType, groupOwner, carrierConfigAccessRules, areUiccApplicationsEnabled, 0);
    }

    /**
     * @hide
     */
@@ -295,6 +302,24 @@ public class SubscriptionInfo implements Parcelable {
            int carrierId, int profileClass, int subType, @Nullable String groupOwner,
            @Nullable UiccAccessRule[] carrierConfigAccessRules,
            boolean areUiccApplicationsEnabled, int portIndex) {
        this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
                roaming, icon, mcc, mnc, countryIso, isEmbedded, nativeAccessRules, cardString,
                cardId, isOpportunistic, groupUUID, isGroupDisabled, carrierId, profileClass,
                subType, groupOwner, carrierConfigAccessRules, areUiccApplicationsEnabled,
                portIndex, SubscriptionManager.USAGE_SETTING_DEFAULT);
    }

    /**
     * @hide
     */
    public SubscriptionInfo(int id, String iccId, int simSlotIndex, CharSequence displayName,
            CharSequence carrierName, int nameSource, int iconTint, String number, int roaming,
            Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
            @Nullable UiccAccessRule[] nativeAccessRules, String cardString, int cardId,
            boolean isOpportunistic, @Nullable String groupUUID, boolean isGroupDisabled,
            int carrierId, int profileClass, int subType, @Nullable String groupOwner,
            @Nullable UiccAccessRule[] carrierConfigAccessRules,
            boolean areUiccApplicationsEnabled, int portIndex, @UsageSetting int usageSetting) {
        this.mId = id;
        this.mIccId = iccId;
        this.mSimSlotIndex = simSlotIndex;
@@ -322,6 +347,7 @@ public class SubscriptionInfo implements Parcelable {
        this.mCarrierConfigAccessRules = carrierConfigAccessRules;
        this.mAreUiccApplicationsEnabled = areUiccApplicationsEnabled;
        this.mPortIndex = portIndex;
        this.mUsageSetting = usageSetting;
    }
    /**
     * @return the subscription ID.
@@ -828,12 +854,14 @@ public class SubscriptionInfo implements Parcelable {
            UiccAccessRule[] carrierConfigAccessRules = source.createTypedArray(
                UiccAccessRule.CREATOR);
            boolean areUiccApplicationsEnabled = source.readBoolean();
            int usageSetting = source.readInt();

            SubscriptionInfo info = new SubscriptionInfo(id, iccId, simSlotIndex, displayName,
                    carrierName, nameSource, iconTint, number, dataRoaming, /* icon= */ null,
                    mcc, mnc, countryIso, isEmbedded, nativeAccessRules, cardString, cardId,
                    isOpportunistic, groupUUID, isGroupDisabled, carrierid, profileClass, subType,
                    groupOwner, carrierConfigAccessRules, areUiccApplicationsEnabled, portId);
                    groupOwner, carrierConfigAccessRules, areUiccApplicationsEnabled,
                    portId, usageSetting);
            info.setAssociatedPlmns(ehplmns, hplmns);
            return info;
        }
@@ -875,6 +903,7 @@ public class SubscriptionInfo implements Parcelable {
        dest.writeString(mGroupOwner);
        dest.writeTypedArray(mCarrierConfigAccessRules, flags);
        dest.writeBoolean(mAreUiccApplicationsEnabled);
        dest.writeInt(mUsageSetting);
    }

    @Override
@@ -919,7 +948,8 @@ public class SubscriptionInfo implements Parcelable {
                + " subscriptionType=" + mSubscriptionType
                + " groupOwner=" + mGroupOwner
                + " carrierConfigAccessRules=" + Arrays.toString(mCarrierConfigAccessRules)
                + " areUiccApplicationsEnabled=" + mAreUiccApplicationsEnabled + "}";
                + " areUiccApplicationsEnabled=" + mAreUiccApplicationsEnabled
                + " usageSetting=" + mUsageSetting + "}";
    }

    @Override
@@ -927,7 +957,8 @@ public class SubscriptionInfo implements Parcelable {
        return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded,
                mIsOpportunistic, mGroupUUID, mIccId, mNumber, mMcc, mMnc, mCountryIso, mCardString,
                mCardId, mDisplayName, mCarrierName, mNativeAccessRules, mIsGroupDisabled,
                mCarrierId, mProfileClass, mGroupOwner, mAreUiccApplicationsEnabled, mPortIndex);
                mCarrierId, mProfileClass, mGroupOwner, mAreUiccApplicationsEnabled, mPortIndex,
                mUsageSetting);
    }

    @Override
@@ -967,6 +998,7 @@ public class SubscriptionInfo implements Parcelable {
                && Arrays.equals(mNativeAccessRules, toCompare.mNativeAccessRules)
                && mProfileClass == toCompare.mProfileClass
                && Arrays.equals(mEhplmns, toCompare.mEhplmns)
                && Arrays.equals(mHplmns, toCompare.mHplmns);
                && Arrays.equals(mHplmns, toCompare.mHplmns)
                && mUsageSetting == toCompare.mUsageSetting;
    }
}