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

Commit 3a748b1b authored by Chen Xu's avatar Chen Xu Committed by Android (Google) Code Review
Browse files

Merge "new System API for preferred network mode"

parents a7dc405f d9ae503a
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -5454,6 +5454,7 @@ package android.telephony {
    method public deprecated boolean getDataEnabled(int);
    method public boolean getEmergencyCallbackMode();
    method public java.lang.String getIsimDomain();
    method public int getPreferredNetworkType(int);
    method public int getSimApplicationState();
    method public int getSimCardState();
    method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
@@ -5498,6 +5499,29 @@ package android.telephony {
    field public static final java.lang.String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
    field public static final java.lang.String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
    field public static final java.lang.String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
    field public static final int NETWORK_MODE_CDMA_EVDO = 4; // 0x4
    field public static final int NETWORK_MODE_CDMA_NO_EVDO = 5; // 0x5
    field public static final int NETWORK_MODE_EVDO_NO_CDMA = 6; // 0x6
    field public static final int NETWORK_MODE_GLOBAL = 7; // 0x7
    field public static final int NETWORK_MODE_GSM_ONLY = 1; // 0x1
    field public static final int NETWORK_MODE_GSM_UMTS = 3; // 0x3
    field public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8; // 0x8
    field public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; // 0xa
    field public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9; // 0x9
    field public static final int NETWORK_MODE_LTE_ONLY = 11; // 0xb
    field public static final int NETWORK_MODE_LTE_TDSCDMA = 15; // 0xf
    field public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; // 0x16
    field public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; // 0x11
    field public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; // 0x14
    field public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; // 0x13
    field public static final int NETWORK_MODE_LTE_WCDMA = 12; // 0xc
    field public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; // 0x15
    field public static final int NETWORK_MODE_TDSCDMA_GSM = 16; // 0x10
    field public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; // 0x12
    field public static final int NETWORK_MODE_TDSCDMA_ONLY = 13; // 0xd
    field public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; // 0xe
    field public static final int NETWORK_MODE_WCDMA_ONLY = 2; // 0x2
    field public static final int NETWORK_MODE_WCDMA_PREF = 0; // 0x0
    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
+200 −3
Original line number Diff line number Diff line
@@ -5679,6 +5679,202 @@ public class TelephonyManager {
        }
    }

    /** @hide */
    @IntDef(prefix = { "NETWORK_MODE_" }, value = {
            NETWORK_MODE_WCDMA_PREF,
            NETWORK_MODE_GSM_ONLY,
            NETWORK_MODE_WCDMA_ONLY,
            NETWORK_MODE_GSM_UMTS,
            NETWORK_MODE_CDMA_EVDO,
            NETWORK_MODE_CDMA_NO_EVDO,
            NETWORK_MODE_EVDO_NO_CDMA,
            NETWORK_MODE_GLOBAL,
            NETWORK_MODE_LTE_CDMA_EVDO,
            NETWORK_MODE_LTE_GSM_WCDMA,
            NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA,
            NETWORK_MODE_LTE_ONLY,
            NETWORK_MODE_LTE_WCDMA,
            NETWORK_MODE_TDSCDMA_ONLY,
            NETWORK_MODE_TDSCDMA_WCDMA,
            NETWORK_MODE_LTE_TDSCDMA,
            NETWORK_MODE_TDSCDMA_GSM,
            NETWORK_MODE_LTE_TDSCDMA_GSM,
            NETWORK_MODE_TDSCDMA_GSM_WCDMA,
            NETWORK_MODE_LTE_TDSCDMA_WCDMA,
            NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA,
            NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA,
            NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface PrefNetworkMode{}

    /**
     * preferred network mode is GSM/WCDMA (WCDMA preferred).
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF;

    /**
     * preferred network mode is GSM only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY;

    /**
     * preferred network mode is WCDMA only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY;

    /**
     * preferred network mode is GSM/WCDMA (auto mode, according to PRL).
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS;

    /**
     * preferred network mode is CDMA and EvDo (auto mode, according to PRL).
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_CDMA_EVDO = RILConstants.NETWORK_MODE_CDMA;

    /**
     * preferred network mode is CDMA only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;

    /**
     * preferred network mode is EvDo only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;

    /**
     * preferred network mode is GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL).
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL;

    /**
     * preferred network mode is LTE, CDMA and EvDo.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_CDMA_EVDO = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;

    /**
     * preferred network mode is LTE, GSM/WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_GSM_WCDMA = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;

    /**
     * preferred network mode is LTE, CDMA, EvDo, GSM/WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA =
            RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;

    /**
     * preferred network mode is LTE Only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ONLY;

    /**
     * preferred network mode is LTE/WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_WCDMA = RILConstants.NETWORK_MODE_LTE_WCDMA;

    /**
     * preferred network mode is TD-SCDMA only.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_TDSCDMA_ONLY = RILConstants.NETWORK_MODE_TDSCDMA_ONLY;

    /**
     * preferred network mode is TD-SCDMA and WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_TDSCDMA_WCDMA = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;

    /**
     * preferred network mode is TD-SCDMA and LTE.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_TDSCDMA = RILConstants.NETWORK_MODE_LTE_TDSCDMA;

    /**
     * preferred network mode is TD-SCDMA and GSM.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_TDSCDMA_GSM = RILConstants.NETWORK_MODE_TDSCDMA_GSM;

    /**
     * preferred network mode is TD-SCDMA,GSM and LTE.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_TDSCDMA_GSM =
            RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;

    /**
     * preferred network mode is TD-SCDMA, GSM/WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA =
            RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;

    /**
     * preferred network mode is TD-SCDMA, WCDMA and LTE.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA =
            RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;

    /**
     * preferred network mode is TD-SCDMA, GSM/WCDMA and LTE.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA =
            RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;

    /**
     * preferred network mode is TD-SCDMA,EvDo,CDMA,GSM/WCDMA.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
            RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
    /**
     * preferred network mode is TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo.
     * @hide
     */
    @SystemApi
    public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
            RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;

    /**
     * Get the preferred network type.
     * Used for device configuration by some CDMA operators.
@@ -5687,11 +5883,12 @@ public class TelephonyManager {
     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
     * app has carrier privileges (see {@link #hasCarrierPrivileges}).
     *
     * @return the preferred network type, defined in RILConstants.java.
     * @return the preferred network type.
     * @hide
     */
    @UnsupportedAppUsage
    public int getPreferredNetworkType(int subId) {
    @RequiresPermission((android.Manifest.permission.MODIFY_PHONE_STATE))
    @SystemApi
    public @PrefNetworkMode int getPreferredNetworkType(int subId) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)