Add NR to preferred network type combination

This add NR 5G to preferred network type and move preferredNetworkMode
from SystemApi to hidden api as we are not going to support
preferredNetworMode enum in the future.

Bug: 111453000
Test: build
Change-Id: I08a8f7bf44a62ef109583b82b22f65fd6f89c71d
(cherry picked from commit 8bcdc4cf66)
Merged-in: I08a8f7bf44a62ef109583b82b22f65fd6f89c71d
This commit is contained in:
chen xu
2019-01-31 00:44:52 -08:00
committed by Pengquan Meng
parent 5a7c4f1c75
commit 32993551f3
3 changed files with 463 additions and 131 deletions

View File

@@ -57,6 +57,9 @@ public class RadioAccessFamily implements Parcelable {
public static final int RAF_LTE = TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
public static final int RAF_LTE_CA = TelephonyManager.NETWORK_TYPE_BITMASK_LTE_CA;
// 5G
public static final int RAF_NR = TelephonyManager.NETWORK_TYPE_BITMASK_NR;
// Grouping of RAFs
// 2G
private static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
@@ -68,6 +71,9 @@ public class RadioAccessFamily implements Parcelable {
// 4G
private static final int LTE = RAF_LTE | RAF_LTE_CA;
// 5G
private static final int NR = RAF_NR;
/* Phone ID of phone */
private int mPhoneId;
@@ -160,84 +166,78 @@ public class RadioAccessFamily implements Parcelable {
@UnsupportedAppUsage
public static int getRafFromNetworkType(int type) {
int raf;
switch (type) {
case RILConstants.NETWORK_MODE_WCDMA_PREF:
raf = GSM | WCDMA;
break;
return GSM | WCDMA;
case RILConstants.NETWORK_MODE_GSM_ONLY:
raf = GSM;
break;
return GSM;
case RILConstants.NETWORK_MODE_WCDMA_ONLY:
raf = WCDMA;
break;
return WCDMA;
case RILConstants.NETWORK_MODE_GSM_UMTS:
raf = GSM | WCDMA;
break;
return GSM | WCDMA;
case RILConstants.NETWORK_MODE_CDMA:
raf = CDMA | EVDO;
break;
return CDMA | EVDO;
case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO:
raf = LTE | CDMA | EVDO;
break;
return LTE | CDMA | EVDO;
case RILConstants.NETWORK_MODE_LTE_GSM_WCDMA:
raf = LTE | GSM | WCDMA;
break;
return LTE | GSM | WCDMA;
case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
raf = LTE | CDMA | EVDO | GSM | WCDMA;
break;
return LTE | CDMA | EVDO | GSM | WCDMA;
case RILConstants.NETWORK_MODE_LTE_ONLY:
raf = LTE;
break;
return LTE;
case RILConstants.NETWORK_MODE_LTE_WCDMA:
raf = LTE | WCDMA;
break;
return LTE | WCDMA;
case RILConstants.NETWORK_MODE_CDMA_NO_EVDO:
raf = CDMA;
break;
return CDMA;
case RILConstants.NETWORK_MODE_EVDO_NO_CDMA:
raf = EVDO;
break;
return EVDO;
case RILConstants.NETWORK_MODE_GLOBAL:
raf = GSM | WCDMA | CDMA | EVDO;
break;
return GSM | WCDMA | CDMA | EVDO;
case RILConstants.NETWORK_MODE_TDSCDMA_ONLY:
raf = RAF_TD_SCDMA;
break;
return RAF_TD_SCDMA;
case RILConstants.NETWORK_MODE_TDSCDMA_WCDMA:
raf = RAF_TD_SCDMA | WCDMA;
break;
return RAF_TD_SCDMA | WCDMA;
case RILConstants.NETWORK_MODE_LTE_TDSCDMA:
raf = LTE | RAF_TD_SCDMA;
break;
return LTE | RAF_TD_SCDMA;
case RILConstants.NETWORK_MODE_TDSCDMA_GSM:
raf = RAF_TD_SCDMA | GSM;
break;
return RAF_TD_SCDMA | GSM;
case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
raf = LTE | RAF_TD_SCDMA | GSM;
break;
return LTE | RAF_TD_SCDMA | GSM;
case RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
raf = RAF_TD_SCDMA | GSM | WCDMA;
break;
return RAF_TD_SCDMA | GSM | WCDMA;
case RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
raf = LTE | RAF_TD_SCDMA | WCDMA;
break;
return LTE | RAF_TD_SCDMA | WCDMA;
case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
raf = LTE | RAF_TD_SCDMA | GSM | WCDMA;
break;
return LTE | RAF_TD_SCDMA | GSM | WCDMA;
case RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
raf = RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
break;
return RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
case RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
raf = LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
break;
return LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
case (RILConstants.NETWORK_MODE_NR_ONLY):
return NR;
case (RILConstants.NETWORK_MODE_NR_LTE):
return NR | LTE;
case (RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO):
return NR | LTE | CDMA | EVDO;
case (RILConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA):
return NR | LTE | GSM | WCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA):
return NR | LTE | CDMA | EVDO | GSM | WCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_WCDMA):
return NR | LTE | WCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA):
return NR | LTE | RAF_TD_SCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM):
return NR | LTE | RAF_TD_SCDMA | GSM;
case (RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA):
return NR | LTE | RAF_TD_SCDMA | WCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA):
return NR | LTE | RAF_TD_SCDMA | GSM | WCDMA;
case (RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA):
return NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
default:
raf = RAF_UNKNOWN;
break;
return RAF_UNKNOWN;
}
return raf;
}
/**
@@ -250,6 +250,7 @@ public class RadioAccessFamily implements Parcelable {
raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf;
raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
raf = ((LTE & raf) > 0) ? (LTE | raf) : raf;
raf = ((NR & raf) > 0) ? (NR | raf) : raf;
return raf;
}
@@ -274,83 +275,78 @@ public class RadioAccessFamily implements Parcelable {
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
public static int getNetworkTypeFromRaf(int raf) {
int type;
raf = getAdjustedRaf(raf);
switch (raf) {
case (GSM | WCDMA):
type = RILConstants.NETWORK_MODE_WCDMA_PREF;
break;
return RILConstants.NETWORK_MODE_WCDMA_PREF;
case GSM:
type = RILConstants.NETWORK_MODE_GSM_ONLY;
break;
return RILConstants.NETWORK_MODE_GSM_ONLY;
case WCDMA:
type = RILConstants.NETWORK_MODE_WCDMA_ONLY;
break;
return RILConstants.NETWORK_MODE_WCDMA_ONLY;
case (CDMA | EVDO):
type = RILConstants.NETWORK_MODE_CDMA;
break;
return RILConstants.NETWORK_MODE_CDMA;
case (LTE | CDMA | EVDO):
type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
break;
return RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
case (LTE | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
case (LTE | CDMA | EVDO | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
case LTE:
type = RILConstants.NETWORK_MODE_LTE_ONLY;
break;
return RILConstants.NETWORK_MODE_LTE_ONLY;
case (LTE | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_WCDMA;
case CDMA:
type = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
break;
return RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
case EVDO:
type = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
break;
return RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
case (GSM | WCDMA | CDMA | EVDO):
type = RILConstants.NETWORK_MODE_GLOBAL;
break;
return RILConstants.NETWORK_MODE_GLOBAL;
case RAF_TD_SCDMA:
type = RILConstants.NETWORK_MODE_TDSCDMA_ONLY;
break;
return RILConstants.NETWORK_MODE_TDSCDMA_ONLY;
case (RAF_TD_SCDMA | WCDMA):
type = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
break;
return RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
case (LTE | RAF_TD_SCDMA):
type = RILConstants.NETWORK_MODE_LTE_TDSCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_TDSCDMA;
case (RAF_TD_SCDMA | GSM):
type = RILConstants.NETWORK_MODE_TDSCDMA_GSM;
break;
return RILConstants.NETWORK_MODE_TDSCDMA_GSM;
case (LTE | RAF_TD_SCDMA | GSM):
type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
break;
return RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
case (RAF_TD_SCDMA | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
case (LTE | RAF_TD_SCDMA | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
case (LTE | RAF_TD_SCDMA | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
break;
return RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
case (NR):
return RILConstants.NETWORK_MODE_NR_ONLY;
case (NR | LTE):
return RILConstants.NETWORK_MODE_NR_LTE;
case (NR | LTE | CDMA | EVDO):
return RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
case (NR | LTE | GSM | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
case (NR | LTE | CDMA | EVDO | GSM | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
case (NR | LTE | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_WCDMA;
case (NR | LTE | RAF_TD_SCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
case (NR | LTE | RAF_TD_SCDMA | GSM):
return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
case (NR | LTE | RAF_TD_SCDMA | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
case (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
case (NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
default:
type = RILConstants.PREFERRED_NETWORK_MODE ;
break;
return RILConstants.PREFERRED_NETWORK_MODE;
}
return type;
}
public static int singleRafTypeFromString(String rafString) {
@@ -377,6 +373,7 @@ public class RadioAccessFamily implements Parcelable {
case "EVDO": return EVDO;
case "WCDMA": return WCDMA;
case "LTE_CA": return RAF_LTE_CA;
case "NR": return RAF_NR;
default: return RAF_UNKNOWN;
}
}

View File

@@ -6212,23 +6212,282 @@ 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,
NETWORK_MODE_NR_ONLY,
NETWORK_MODE_NR_LTE,
NETWORK_MODE_NR_LTE_CDMA_EVDO,
NETWORK_MODE_NR_LTE_GSM_WCDMA,
NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA,
NETWORK_MODE_NR_LTE_WCDMA,
NETWORK_MODE_NR_LTE_TDSCDMA,
NETWORK_MODE_NR_LTE_TDSCDMA_GSM,
NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA,
NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA,
NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
})
@Retention(RetentionPolicy.SOURCE)
public @interface PrefNetworkMode{}
/**
* Preferred network mode is GSM/WCDMA (WCDMA preferred).
* @hide
*/
public static final int NETWORK_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF;
/**
* Preferred network mode is GSM only.
* @hide
*/
public static final int NETWORK_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY;
/**
* Preferred network mode is WCDMA only.
* @hide
*/
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
*/
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
*/
public static final int NETWORK_MODE_CDMA_EVDO = RILConstants.NETWORK_MODE_CDMA;
/**
* Preferred network mode is CDMA only.
* @hide
*/
public static final int NETWORK_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
/**
* Preferred network mode is EvDo only.
* @hide
*/
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
*/
public static final int NETWORK_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL;
/**
* Preferred network mode is LTE, CDMA and EvDo.
* @hide
*/
public static final int NETWORK_MODE_LTE_CDMA_EVDO = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
/**
* Preferred network mode is LTE, GSM/WCDMA.
* @hide
*/
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
*/
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
*/
public static final int NETWORK_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ONLY;
/**
* Preferred network mode is LTE/WCDMA.
* @hide
*/
public static final int NETWORK_MODE_LTE_WCDMA = RILConstants.NETWORK_MODE_LTE_WCDMA;
/**
* Preferred network mode is TD-SCDMA only.
* @hide
*/
public static final int NETWORK_MODE_TDSCDMA_ONLY = RILConstants.NETWORK_MODE_TDSCDMA_ONLY;
/**
* Preferred network mode is TD-SCDMA and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_TDSCDMA_WCDMA = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
/**
* Preferred network mode is TD-SCDMA and LTE.
* @hide
*/
public static final int NETWORK_MODE_LTE_TDSCDMA = RILConstants.NETWORK_MODE_LTE_TDSCDMA;
/**
* Preferred network mode is TD-SCDMA and GSM.
* @hide
*/
public static final int NETWORK_MODE_TDSCDMA_GSM = RILConstants.NETWORK_MODE_TDSCDMA_GSM;
/**
* Preferred network mode is TD-SCDMA,GSM and LTE.
* @hide
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_GSM =
RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
/**
* Preferred network mode is TD-SCDMA, GSM/WCDMA.
* @hide
*/
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
*/
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
*/
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
*/
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
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
/**
* Preferred network mode is NR 5G only.
* @hide
*/
public static final int NETWORK_MODE_NR_ONLY = RILConstants.NETWORK_MODE_NR_ONLY;
/**
* Preferred network mode is NR 5G, LTE.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE = RILConstants.NETWORK_MODE_NR_LTE;
/**
* Preferred network mode is NR 5G, LTE, CDMA and EvDo.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO =
RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
/**
* Preferred network mode is NR 5G, LTE, GSM and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA =
RILConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
/**
* Preferred network mode is NR 5G, LTE, CDMA, EvDo, GSM and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA =
RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
/**
* Preferred network mode is NR 5G, LTE and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_WCDMA = RILConstants.NETWORK_MODE_NR_LTE_WCDMA;
/**
* Preferred network mode is NR 5G, LTE and TDSCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA = RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
/**
* Preferred network mode is NR 5G, LTE, TD-SCDMA and GSM.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM =
RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
/**
* Preferred network mode is NR 5G, LTE, TD-SCDMA, WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA =
RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
/**
* Preferred network mode is NR 5G, LTE, TD-SCDMA, GSM and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA =
RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
/**
* Preferred network mode is NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA.
* @hide
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
/**
* Get the preferred network type.
* Used for device configuration by some CDMA operators.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* app has carrier privileges (see {@link #hasCarrierPrivileges}).
*
* @return the preferred network type, defined in RILConstants.java.
* @hide
*/
@RequiresPermission((android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE))
@UnsupportedAppUsage
public int getPreferredNetworkType(int subId) {
public @PrefNetworkMode int getPreferredNetworkType(int subId) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)
if (telephony != null) {
return telephony.getPreferredNetworkType(subId);
}
} catch (RemoteException ex) {
Rlog.e(TAG, "getPreferredNetworkType RemoteException", ex);
} catch (NullPointerException ex) {

View File

@@ -128,32 +128,108 @@ public interface RILConstants {
int OEM_ERROR_25 = 525;
/* NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE */
int NETWORK_MODE_WCDMA_PREF = 0; /* GSM/WCDMA (WCDMA preferred) */
int NETWORK_MODE_GSM_ONLY = 1; /* GSM only */
int NETWORK_MODE_WCDMA_ONLY = 2; /* WCDMA only */
int NETWORK_MODE_GSM_UMTS = 3; /* GSM/WCDMA (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_CDMA = 4; /* CDMA and EvDo (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_CDMA_NO_EVDO = 5; /* CDMA only */
int NETWORK_MODE_EVDO_NO_CDMA = 6; /* EvDo only */
int NETWORK_MODE_GLOBAL = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_LTE_CDMA_EVDO = 8; /* LTE, CDMA and EvDo */
int NETWORK_MODE_LTE_GSM_WCDMA = 9; /* LTE, GSM/WCDMA */
int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; /* LTE, CDMA, EvDo, GSM/WCDMA */
int NETWORK_MODE_LTE_ONLY = 11; /* LTE Only mode. */
int NETWORK_MODE_LTE_WCDMA = 12; /* LTE/WCDMA */
int NETWORK_MODE_TDSCDMA_ONLY = 13; /* TD-SCDMA only */
int NETWORK_MODE_TDSCDMA_WCDMA = 14; /* TD-SCDMA and WCDMA */
int NETWORK_MODE_LTE_TDSCDMA = 15; /* TD-SCDMA and LTE */
int NETWORK_MODE_TDSCDMA_GSM = 16; /* TD-SCDMA and GSM */
int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; /* TD-SCDMA,GSM and LTE */
int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; /* TD-SCDMA, GSM/WCDMA */
int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; /* TD-SCDMA, WCDMA and LTE */
int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; /* TD-SCDMA, GSM/WCDMA and LTE */
int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; /*TD-SCDMA,EvDo,CDMA,GSM/WCDMA*/
int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /* TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo */
/** GSM, WCDMA (WCDMA preferred) */
int NETWORK_MODE_WCDMA_PREF = 0;
/** GSM only */
int NETWORK_MODE_GSM_ONLY = 1;
/** WCDMA only */
int NETWORK_MODE_WCDMA_ONLY = 2;
/** GSM, WCDMA (auto mode, according to PRL) */
int NETWORK_MODE_GSM_UMTS = 3;
/** CDMA and EvDo (auto mode, according to PRL) */
int NETWORK_MODE_CDMA = 4;
/** CDMA only */
int NETWORK_MODE_CDMA_NO_EVDO = 5;
/** EvDo only */
int NETWORK_MODE_EVDO_NO_CDMA = 6;
/** GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
int NETWORK_MODE_GLOBAL = 7;
/** LTE, CDMA and EvDo */
int NETWORK_MODE_LTE_CDMA_EVDO = 8;
/** LTE, GSM and WCDMA */
int NETWORK_MODE_LTE_GSM_WCDMA = 9;
/** LTE, CDMA, EvDo, GSM, and WCDMA */
int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10;
/** LTE only mode. */
int NETWORK_MODE_LTE_ONLY = 11;
/** LTE and WCDMA */
int NETWORK_MODE_LTE_WCDMA = 12;
/** TD-SCDMA only */
int NETWORK_MODE_TDSCDMA_ONLY = 13;
/** TD-SCDMA and WCDMA */
int NETWORK_MODE_TDSCDMA_WCDMA = 14;
/** LTE and TD-SCDMA*/
int NETWORK_MODE_LTE_TDSCDMA = 15;
/** TD-SCDMA and GSM */
int NETWORK_MODE_TDSCDMA_GSM = 16;
/** TD-SCDMA, GSM and LTE */
int NETWORK_MODE_LTE_TDSCDMA_GSM = 17;
/** TD-SCDMA, GSM and WCDMA */
int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18;
/** LTE, TD-SCDMA and WCDMA */
int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19;
/** LTE, TD-SCDMA, GSM, and WCDMA */
int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20;
/** TD-SCDMA, CDMA, EVDO, GSM and WCDMA */
int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21;
/** LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA */
int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22;
/** NR 5G only mode */
int NETWORK_MODE_NR_ONLY = 23;
/** NR 5G, LTE */
int NETWORK_MODE_NR_LTE = 24;
/** NR 5G, LTE, CDMA and EvDo */
int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25;
/** NR 5G, LTE, GSM and WCDMA */
int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26;
/** NR 5G, LTE, CDMA, EvDo, GSM and WCDMA */
int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27;
/** NR 5G, LTE and WCDMA */
int NETWORK_MODE_NR_LTE_WCDMA = 28;
/** NR 5G, LTE and TDSCDMA */
int NETWORK_MODE_NR_LTE_TDSCDMA = 29;
/** NR 5G, LTE, TD-SCDMA and GSM */
int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30;
/** NR 5G, LTE, TD-SCDMA, WCDMA */
int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31;
/** NR 5G, LTE, TD-SCDMA, GSM and WCDMA */
int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32;
/** NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA */
int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33;
int PREFERRED_NETWORK_MODE = Integer.parseInt(TelephonyManager.getTelephonyProperty(0,
"ro.telephony.default_network", Integer.toString(NETWORK_MODE_WCDMA_PREF)));