Merge "new System API for preferred network mode" am: 314dcd2874

am: 4560dbd05a

Change-Id: I43b606e03b9c3276ba7996a5f7feede5d31c0b01
This commit is contained in:
Chen Xu
2018-09-26 17:58:00 -07:00
committed by android-build-merger
2 changed files with 225 additions and 3 deletions

View File

@@ -5258,6 +5258,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();
@@ -5298,6 +5299,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

View File

@@ -5721,6 +5721,203 @@ 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{}
/**
* network mode is GSM/WCDMA (WCDMA preferred).
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF;
/**
* network mode is GSM only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY;
/**
* network mode is WCDMA only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY;
/**
* 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;
/**
* 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;
/**
* network mode is CDMA only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
/**
* network mode is EvDo only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
/**
* 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;
/**
* 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;
/**
* 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;
/**
* network mode is LTE Only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ONLY;
/**
* network mode is LTE/WCDMA.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_LTE_WCDMA = RILConstants.NETWORK_MODE_LTE_WCDMA;
/**
* network mode is TD-SCDMA only.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_TDSCDMA_ONLY = RILConstants.NETWORK_MODE_TDSCDMA_ONLY;
/**
* network mode is TD-SCDMA and WCDMA.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_TDSCDMA_WCDMA = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
/**
* network mode is TD-SCDMA and LTE.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_LTE_TDSCDMA = RILConstants.NETWORK_MODE_LTE_TDSCDMA;
/**
* network mode is TD-SCDMA and GSM.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_TDSCDMA_GSM = RILConstants.NETWORK_MODE_TDSCDMA_GSM;
/**
* 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;
/**
* network mode is TD-SCDMA, GSM/WCDMA.
* @hide
*/
@SystemApi
public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA =
RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
/**
* 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;
/**
* 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;
/**
* 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;
/**
* 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.
@@ -5729,11 +5926,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)