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

Commit 2877221d authored by Jack Yu's avatar Jack Yu
Browse files

Added subscription info conversion method

Added the conversion method. Also renamed some methods that have
inappropriate prefix.

Bug: 239607619
Test: atest SubscriptionInfoInternalTest SubscriptionDatabaseManagerTest
Merged-In: Iacf77ff6b930cde934da4dc40085f1680ba6ac21
Change-Id: Iacf77ff6b930cde934da4dc40085f1680ba6ac21
parent 451130fc
Loading
Loading
Loading
Loading
+19 −19
Original line number Diff line number Diff line
@@ -148,40 +148,40 @@ public class SubscriptionDatabaseManager extends Handler {
                            SubscriptionInfoInternal::getDataRoaming),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_MCC_STRING,
                            SubscriptionInfoInternal::getMccString),
                            SubscriptionInfoInternal::getMcc),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_MNC_STRING,
                            SubscriptionInfoInternal::getMncString),
                            SubscriptionInfoInternal::getMnc),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_EHPLMNS,
                            SubscriptionInfoInternal::getEhplmns),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_HPLMNS,
                            SubscriptionInfoInternal::getHplmnsRaw),
                            SubscriptionInfoInternal::getHplmns),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_IS_EMBEDDED,
                            SubscriptionInfoInternal::isEmbeddedRaw),
                            SubscriptionInfoInternal::getEmbedded),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_CARD_ID,
                            SubscriptionInfoInternal::getCardString),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_ACCESS_RULES,
                            SubscriptionInfoInternal::getNativeAccessRulesRaw),
                            SubscriptionInfoInternal::getNativeAccessRules),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_ACCESS_RULES_FROM_CARRIER_CONFIGS,
                            SubscriptionInfoInternal::getCarrierConfigAccessRulesRaw),
                            SubscriptionInfoInternal::getCarrierConfigAccessRules),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_IS_REMOVABLE,
                            SubscriptionInfoInternal::isRemovableEmbeddedRaw),
                            SubscriptionInfoInternal::getRemovableEmbedded),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_ENHANCED_4G_MODE_ENABLED,
                            SubscriptionInfoInternal::isEnhanced4GModeEnabledRaw),
                            SubscriptionInfoInternal::getEnhanced4GModeEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_VT_IMS_ENABLED,
                            SubscriptionInfoInternal::isVideoTelephonyEnabledRaw),
                            SubscriptionInfoInternal::getVideoTelephonyEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_WFC_IMS_ENABLED,
                            SubscriptionInfoInternal::isWifiCallingEnabledRaw),
                            SubscriptionInfoInternal::getWifiCallingEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_WFC_IMS_MODE,
                            SubscriptionInfoInternal::getWifiCallingMode),
@@ -190,13 +190,13 @@ public class SubscriptionDatabaseManager extends Handler {
                            SubscriptionInfoInternal::getWifiCallingModeForRoaming),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_WFC_IMS_ROAMING_ENABLED,
                            SubscriptionInfoInternal::isWifiCallingEnabledForRoamingRaw),
                            SubscriptionInfoInternal::getWifiCallingEnabledForRoaming),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_IS_OPPORTUNISTIC,
                            SubscriptionInfoInternal::isOpportunisticRaw),
                            SubscriptionInfoInternal::getOpportunistic),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_GROUP_UUID,
                            SubscriptionInfoInternal::getGroupUuidRaw),
                            SubscriptionInfoInternal::getGroupUuid),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_ISO_COUNTRY_CODE,
                            SubscriptionInfoInternal::getCountryIso),
@@ -214,19 +214,19 @@ public class SubscriptionDatabaseManager extends Handler {
                            SubscriptionInfoInternal::getGroupOwner),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_ENABLED_MOBILE_DATA_POLICIES,
                            SubscriptionInfoInternal::getEnabledMobileDataPoliciesRaw),
                            SubscriptionInfoInternal::getEnabledMobileDataPolicies),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_IMSI,
                            SubscriptionInfoInternal::getImsi),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_UICC_APPLICATIONS_ENABLED,
                            SubscriptionInfoInternal::areUiccApplicationsEnabledRaw),
                            SubscriptionInfoInternal::getUiccApplicationsEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_IMS_RCS_UCE_ENABLED,
                            SubscriptionInfoInternal::isRcsUceEnabledRaw),
                            SubscriptionInfoInternal::getRcsUceEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_CROSS_SIM_CALLING_ENABLED,
                            SubscriptionInfoInternal::isCrossSimCallingEnabledRaw),
                            SubscriptionInfoInternal::getCrossSimCallingEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_RCS_CONFIG,
                            SubscriptionInfoInternal::getRcsConfig),
@@ -238,13 +238,13 @@ public class SubscriptionDatabaseManager extends Handler {
                            SubscriptionInfoInternal::getDeviceToDeviceStatusSharingPreference),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_VOIMS_OPT_IN_STATUS,
                            SubscriptionInfoInternal::isVoImsOptInEnabledRaw),
                            SubscriptionInfoInternal::getVoImsOptInEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_D2D_STATUS_SHARING_SELECTED_CONTACTS,
                            SubscriptionInfoInternal::getDeviceToDeviceStatusSharingContacts),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_NR_ADVANCED_CALLING_ENABLED,
                            SubscriptionInfoInternal::isNrAdvancedCallingEnabledRaw),
                            SubscriptionInfoInternal::getNrAdvancedCallingEnabled),
                    new AbstractMap.SimpleImmutableEntry<>(
                            SimInfo.COLUMN_PHONE_NUMBER_SOURCE_CARRIER,
                            SubscriptionInfoInternal::getNumberFromCarrier),
+112 −63
Original line number Diff line number Diff line
@@ -42,7 +42,9 @@ import android.telephony.SubscriptionManager.SimDisplayNameSource;
import android.telephony.SubscriptionManager.SubscriptionType;
import android.telephony.SubscriptionManager.UsageSetting;
import android.telephony.TelephonyManager;
import android.telephony.UiccAccessRule;
import android.telephony.ims.ImsMmTelManager;
import android.text.TextUtils;

import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.util.TelephonyUtils;
@@ -59,9 +61,9 @@ import java.util.Objects;
 * The difference between {@link SubscriptionInfo} and this class is that {@link SubscriptionInfo}
 * is a subset of this class. This is intended to solve the problem that some database fields
 * required higher permission like
 * {@link android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE} to access while
 * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE} to access while
 * {@link SubscriptionManager#getActiveSubscriptionIdList()} only requires
 * {@link android.Manifest.permission.READ_PHONE_STATE} to access. Sometimes blanking out fields in
 * {@link android.Manifest.permission#READ_PHONE_STATE} to access. Sometimes blanking out fields in
 * {@link SubscriptionInfo} creates ambiguity for clients hard to distinguish between insufficient
 * permission versus true failure.
 *
@@ -180,7 +182,7 @@ public class SubscriptionInfoInternal {
    /**
     * Whether an embedded subscription is on a removable card. Such subscriptions are marked
     * inaccessible as soon as the current card is removed. Otherwise, they will remain accessible
     * unless explicitly deleted. Only meaningful when {@link #isEmbedded()} is {@code true}. It
     * unless explicitly deleted. Only meaningful when {@link #getEmbedded()} is {@code 1}. It
     * is intended to use integer to fit the database format.
     */
    private final int mIsRemovableEmbedded;
@@ -251,8 +253,8 @@ public class SubscriptionInfoInternal {
    /**
     * The profile class populated from the profile metadata if present. Otherwise,
     * the profile class defaults to {@link SubscriptionManager#PROFILE_CLASS_UNSET} if there is no
     * profile metadata or the subscription is not on an eUICC ({@link #isEmbedded} returns
     * {@code false}).
     * profile metadata or the subscription is not on an eUICC ({@link #getEmbedded} returns
     * {@code 0}).
     */
    @ProfileClass
    private final int mProfileClass;
@@ -531,7 +533,7 @@ public class SubscriptionInfoInternal {
     * @return The mobile country code.
     */
    @NonNull
    public String getMccString() {
    public String getMcc() {
        return mMcc;
    }

@@ -539,7 +541,7 @@ public class SubscriptionInfoInternal {
     * @return The mobile network code.
     */
    @NonNull
    public String getMncString() {
    public String getMnc() {
        return mMnc;
    }

@@ -555,7 +557,7 @@ public class SubscriptionInfoInternal {
     * @return Home PLMNs associated with this subscription.
     */
    @NonNull
    public String getHplmnsRaw() {
    public String getHplmns() {
        return mHplmns;
    }

@@ -567,9 +569,9 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return The raw database value of {@link #isEmbedded()}.
     * @return {@code 1} if the subscription is from eSIM.
     */
    public int isEmbeddedRaw() {
    public int getEmbedded() {
        return mIsEmbedded;
    }

@@ -591,7 +593,7 @@ public class SubscriptionInfoInternal {
     * stored in the database.
     */
    @NonNull
    public byte[] getNativeAccessRulesRaw() {
    public byte[] getNativeAccessRules() {
        return mNativeAccessRules;
    }

@@ -600,65 +602,69 @@ public class SubscriptionInfoInternal {
     * This does not include access rules from the Uicc, whether embedded or non-embedded. This
     * is the raw string stored in the database.
     */
    public byte[] getCarrierConfigAccessRulesRaw() {
    public byte[] getCarrierConfigAccessRules() {
        return mCarrierConfigAccessRules;
    }

    /**
     * Whether an embedded subscription is on a removable card. Such subscriptions are marked
     * inaccessible as soon as the current card is removed. Otherwise, they will remain accessible
     * unless explicitly deleted. Only meaningful when {@link #isEmbedded()} is {@code true}.
     * @return {@code 1} if an embedded subscription is on a removable card. Such subscriptions are
     * marked inaccessible as soon as the current card is removed. Otherwise, they will remain
     * accessible unless explicitly deleted. Only meaningful when {@link #getEmbedded()} is 1.
     */
    public boolean isRemovableEmbedded() {
        return mIsRemovableEmbedded != 0;
    }

    /**
     * @return The raw database value of {@link #isRemovableEmbedded()}.
     * @return {@code 1} if an embedded subscription is on a removable card. Such subscriptions are
     * marked inaccessible as soon as the current card is removed. Otherwise, they will remain
     * accessible unless explicitly deleted. Only meaningful when {@link #getEmbedded()} is 1.
     */
    public int isRemovableEmbeddedRaw() {
    public int getRemovableEmbedded() {
        return mIsRemovableEmbedded;
    }

    /**
     * @return Whether enhanced 4G mode is enabled by the user or not.
     * @return {@code true} if enhanced 4G mode is enabled by the user or not.
     */
    public boolean isEnhanced4GModeEnabled() {
        return mIsEnhanced4GModeEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isEnhanced4GModeEnabled()}.
     * @return {@code 1} if enhanced 4G mode is enabled by the user or not.
     */
    public int isEnhanced4GModeEnabledRaw() {
    public int getEnhanced4GModeEnabled() {
        return mIsEnhanced4GModeEnabled;
    }

    /**
     * @return Whether video telephony is enabled by the user or not.
     * @return {@code true} if video telephony is enabled by the user or not.
     */
    public boolean isVideoTelephonyEnabled() {
        return mIsVideoTelephonyEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isVideoTelephonyEnabled()}.
     * @return {@code 1} if video telephony is enabled by the user or not.
     */
    public int isVideoTelephonyEnabledRaw() {
    public int getVideoTelephonyEnabled() {
        return mIsVideoTelephonyEnabled;
    }

    /**
     * @return Whether Wi-Fi calling is enabled by the user or not when the device is not roaming.
     * @return {@code true} if Wi-Fi calling is enabled by the user or not when the device is not
     * roaming.
     */
    public boolean isWifiCallingEnabled() {
        return mIsWifiCallingEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isWifiCallingEnabled()}.
     * @return {@code 1} if Wi-Fi calling is enabled by the user or not when the device is not
     * roaming.
     */
    public int isWifiCallingEnabledRaw() {
    public int getWifiCallingEnabled() {
        return mIsWifiCallingEnabled;
    }

@@ -671,7 +677,7 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return Whether Wi-Fi calling is enabled by the user or not when the device is roaming.
     * @return Wi-Fi calling mode when the device is roaming.
     */
    @ImsMmTelManager.WiFiCallingMode
    public int getWifiCallingModeForRoaming() {
@@ -679,16 +685,17 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return Whether Wi-Fi calling is enabled by the user or not when the device is roaming.
     * @return {@code true} if Wi-Fi calling is enabled by the user or not when the device is
     * roaming.
     */
    public boolean isWifiCallingEnabledForRoaming() {
        return mIsWifiCallingEnabledForRoaming != 0;
    }

    /**
     * @return The raw database value of {@link #isWifiCallingEnabledForRoaming()}.
     * @return {@code 1} if Wi-Fi calling is enabled by the user or not when the device is roaming.
     */
    public int isWifiCallingEnabledForRoamingRaw() {
    public int getWifiCallingEnabledForRoaming() {
        return mIsWifiCallingEnabledForRoaming;
    }

@@ -696,29 +703,32 @@ public class SubscriptionInfoInternal {
     * An opportunistic subscription connects to a network that is
     * limited in functionality and / or coverage.
     *
     * @return Whether subscription is opportunistic.
     * @return {@code true} if subscription is opportunistic.
     */
    public boolean isOpportunistic() {
        return mIsOpportunistic != 0;
    }

    /**
     * @return The raw database value of {@link #isOpportunistic()}.
     * An opportunistic subscription connects to a network that is
     * limited in functionality and / or coverage.
     *
     * @return {@code 1} if subscription is opportunistic.
     */
    public int isOpportunisticRaw() {
    public int getOpportunistic() {
        return mIsOpportunistic;
    }

    /**
     * Used in scenarios where different subscriptions are bundled as a group.
     * It's typically a primary and an opportunistic subscription. (see {@link #isOpportunistic()})
     * It's typically a primary and an opportunistic subscription. (see {@link #getOpportunistic()})
     * Such that those subscriptions will have some affiliated behaviors such as opportunistic
     * subscription may be invisible to the user.
     *
     * @return Group UUID in string format.
     */
    @NonNull
    public String getGroupUuidRaw() {
    public String getGroupUuid() {
        return mGroupUuid;
    }

@@ -741,8 +751,8 @@ public class SubscriptionInfoInternal {
    /**
     * @return The profile class populated from the profile metadata if present. Otherwise,
     * the profile class defaults to {@link SubscriptionManager#PROFILE_CLASS_UNSET} if there is no
     * profile metadata or the subscription is not on an eUICC ({@link #isEmbedded} return
     * {@code false}).
     * profile metadata or the subscription is not on an eUICC ({@link #getEmbedded} return
     * {@code 0}).
     */
    @ProfileClass
    public int getProfileClass() {
@@ -775,7 +785,7 @@ public class SubscriptionInfoInternal {
     * @see com.android.internal.telephony.data.DataSettingsManager#getMobileDataPolicyEnabled
     */
    @NonNull
    public String getEnabledMobileDataPoliciesRaw() {
    public String getEnabledMobileDataPolicies() {
        return mEnabledMobileDataPolicies;
    }

@@ -795,14 +805,14 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return The raw database value of {@link #areUiccApplicationsEnabled()}.
     * @return {@code 1} if Uicc applications are set to be enabled or disabled.
     */
    public int areUiccApplicationsEnabledRaw() {
    public int getUiccApplicationsEnabled() {
        return mAreUiccApplicationsEnabled;
    }

    /**
     * @return Whether the user has enabled IMS RCS User Capability Exchange (UCE) for this
     * @return {@code true} if the user has enabled IMS RCS User Capability Exchange (UCE) for this
     * subscription.
     */
    public boolean isRcsUceEnabled() {
@@ -810,23 +820,24 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return The raw database value of {@link #isRcsUceEnabled()}.
     * @return {@code 1} if the user has enabled IMS RCS User Capability Exchange (UCE) for this
     * subscription.
     */
    public int isRcsUceEnabledRaw() {
    public int getRcsUceEnabled() {
        return mIsRcsUceEnabled;
    }

    /**
     * @return Whether the user has enabled cross SIM calling for this subscription.
     * @return {@code true} if the user has enabled cross SIM calling for this subscription.
     */
    public boolean isCrossSimCallingEnabled() {
        return mIsCrossSimCallingEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isCrossSimCallingEnabled()}.
     * @return {@code 1} if the user has enabled cross SIM calling for this subscription.
     */
    public int isCrossSimCallingEnabledRaw() {
    public int getCrossSimCallingEnabled() {
        return mIsCrossSimCallingEnabled;
    }

@@ -858,16 +869,16 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return Whether the user has opted-in voice over IMS.
     * @return {@code true} if the user has opted-in voice over IMS.
     */
    public boolean isVoImsOptInEnabled() {
        return mIsVoImsOptInEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isVoImsOptInEnabled()}.
     * @return {@code 1} if the user has opted-in voice over IMS.
     */
    public int isVoImsOptInEnabledRaw() {
    public int getVoImsOptInEnabled() {
        return mIsVoImsOptInEnabled;
    }

@@ -880,16 +891,16 @@ public class SubscriptionInfoInternal {
    }

    /**
     * @return Whether the user has enabled NR advanced calling.
     * @return {@code true} if the user has enabled NR advanced calling.
     */
    public boolean isNrAdvancedCallingEnabled() {
        return mIsNrAdvancedCallingEnabled != 0;
    }

    /**
     * @return The raw database value of {@link #isNrAdvancedCallingEnabled()}.
     * @return {@code 1} if the user has enabled NR advanced calling.
     */
    public int isNrAdvancedCallingEnabledRaw() {
    public int getNrAdvancedCallingEnabled() {
        return mIsNrAdvancedCallingEnabled;
    }

@@ -960,6 +971,44 @@ public class SubscriptionInfoInternal {
        return mIsGroupDisabled;
    }

    /** @return converted {@link SubscriptionInfo}. */
    @NonNull
    public SubscriptionInfo toSubscriptionInfo() {
        return new SubscriptionInfo.Builder()
                .setId(mId)
                .setIccId(mIccId)
                .setSimSlotIndex(mSimSlotIndex)
                .setDisplayName(mDisplayName)
                .setCarrierName(mCarrierName)
                .setDisplayNameSource(mDisplayNameSource)
                .setIconTint(mIconTint)
                .setNumber(mNumber)
                .setDataRoaming(mDataRoaming)
                .setMcc(mMcc)
                .setMnc(mMnc)
                .setEhplmns(TextUtils.isEmpty(mEhplmns) ? null : mEhplmns.split(","))
                .setHplmns(TextUtils.isEmpty(mHplmns) ? null : mHplmns.split(","))
                .setCountryIso(mCountryIso)
                .setEmbedded(mIsEmbedded != 0)
                .setNativeAccessRules(mNativeAccessRules.length == 0
                        ? null : UiccAccessRule.decodeRules(mNativeAccessRules))
                .setCardString(mCardString)
                .setCardId(mCardId)
                .setOpportunistic(mIsOpportunistic != 0)
                .setGroupUuid(mGroupUuid)
                .setGroupDisabled(mIsGroupDisabled)
                .setCarrierId(mCarrierId)
                .setProfileClass(mProfileClass)
                .setType(mType)
                .setGroupOwner(mGroupOwner)
                .setCarrierConfigAccessRules(mCarrierConfigAccessRules.length == 0
                        ? null : UiccAccessRule.decodeRules(mCarrierConfigAccessRules))
                .setUiccApplicationsEnabled(mAreUiccApplicationsEnabled != 0)
                .setPortIndex(mPortIndex)
                .setUsageSetting(mUsageSetting)
                .build();
    }

    /**
     * Get ID stripped PII information on user build.
     *
@@ -1214,8 +1263,8 @@ public class SubscriptionInfoInternal {
        /**
         * Whether an embedded subscription is on a removable card. Such subscriptions are marked
         * inaccessible as soon as the current card is removed. Otherwise, they will remain
         * accessible unless explicitly deleted. Only meaningful when {@link #isEmbedded()} is
         * {@code true}.
         * accessible unless explicitly deleted. Only meaningful when {@link #getEmbedded()} is
         * {@code 1}.
         */
        private int mIsRemovableEmbedded = 0;

@@ -1278,8 +1327,8 @@ public class SubscriptionInfoInternal {
        /**
         * The profile class populated from the profile metadata if present. Otherwise, the profile
         * class defaults to {@link SubscriptionManager#PROFILE_CLASS_UNSET} if there is no profile
         * metadata or the subscription is not on an eUICC ({@link #isEmbedded} returns
         * {@code false}).
         * metadata or the subscription is not on an eUICC ({@link #getEmbedded} returns
         * {@code 0}).
         */
        @ProfileClass
        private int mProfileClass = SubscriptionManager.PROFILE_CLASS_UNSET;
@@ -1658,7 +1707,7 @@ public class SubscriptionInfoInternal {
        /**
         * Set whether the subscription is from eSIM or not.
         *
         * @param isEmbedded {@code true} if the subscription is from eSIM.
         * @param isEmbedded {@code 1} if the subscription is from eSIM.
         *
         * @return The builder.
         */
@@ -1717,10 +1766,10 @@ public class SubscriptionInfoInternal {
        /**
         * Set whether an embedded subscription is on a removable card. Such subscriptions are
         * marked inaccessible as soon as the current card is removed. Otherwise, they will remain
         * accessible unless explicitly deleted. Only meaningful when {@link #isEmbedded()} is
         * {@code true}.
         * accessible unless explicitly deleted. Only meaningful when {@link #getEmbedded()} is
         * {@code 1}.
         *
         * @param isRemovableEmbedded {@code true} if the subscription is from the removable
         * @param isRemovableEmbedded {@code 1} if the subscription is from the removable
         * embedded SIM.
         *
         * @return The builder.
@@ -1815,7 +1864,7 @@ public class SubscriptionInfoInternal {
        /**
         * Set whether the subscription is opportunistic or not.
         *
         * @param isOpportunistic {@code true} if the subscription is opportunistic.
         * @param isOpportunistic {@code 1} if the subscription is opportunistic.
         * @return The builder.
         */
        @NonNull
@@ -1933,7 +1982,7 @@ public class SubscriptionInfoInternal {
        /**
         * Set whether Uicc applications are configured to enable or not.
         *
         * @param areUiccApplicationsEnabled {@code true} if Uicc applications are configured to
         * @param areUiccApplicationsEnabled {@code 1} if Uicc applications are configured to
         * enable.
         * @return The builder.
         */
@@ -2145,7 +2194,7 @@ public class SubscriptionInfoInternal {
         * subscriptions in the group are deactivated (unplugged pSIM or deactivated eSIM profile),
         * we should disable this opportunistic subscription.
         *
         * @param isGroupDisabled {@code true} if group of the subscription is disabled.
         * @param isGroupDisabled {@code 1} if group of the subscription is disabled.
         * @return The builder.
         */
        @NonNull
+42 −42

File changed.

Preview size limit exceeded, changes collapsed.

+272 −0

File added.

Preview size limit exceeded, changes collapsed.