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

Commit 21cdfe4c authored by Chen Xu's avatar Chen Xu Committed by android-build-merger
Browse files

Merge "Add NR to preferred network type combination"

am: 996f0473

Change-Id: I6587a17e035136f5adb0b40445676aac075207ab
parents 487b123d 996f0473
Loading
Loading
Loading
Loading
+0 −24
Original line number Diff line number Diff line
@@ -6320,7 +6320,6 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
    method @RequiresPermission("android.permission.MODIFY_PHONE_STATE") public int getPreferredNetworkType(int);
    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
    method public int getSimApplicationState();
    method public int getSimCardState();
@@ -6377,29 +6376,6 @@ package android.telephony {
    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
    field public static final long MAX_NUMBER_VERIFICATION_TIMEOUT_MILLIS = 60000L; // 0xea60L
    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 NETWORK_TYPE_BITMASK_1xRTT = 128; // 0x80
    field public static final int NETWORK_TYPE_BITMASK_CDMA = 16; // 0x10
    field public static final int NETWORK_TYPE_BITMASK_EDGE = 4; // 0x4
+99 −102
Original line number Diff line number Diff line
@@ -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;
        }
    }
+113 −52

File changed.

Preview size limit exceeded, changes collapsed.

+102 −26
Original line number Diff line number Diff line
@@ -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)));