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

Commit fcdf9153 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Add NB_IOT_NTN" into main

parents 926ee261 2103df3a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -47462,6 +47462,7 @@ package android.telephony {
    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
    field @Deprecated public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final long NETWORK_TYPE_BITMASK_NB_IOT_NTN = 1048576L; // 0x100000L
    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
@@ -47481,6 +47482,7 @@ package android.telephony {
    field @Deprecated public static final int NETWORK_TYPE_IDEN = 11; // 0xb
    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
    field public static final int NETWORK_TYPE_LTE = 13; // 0xd
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int NETWORK_TYPE_NB_IOT_NTN = 21; // 0x15
    field public static final int NETWORK_TYPE_NR = 20; // 0x14
    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
    field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
+1 −0
Original line number Diff line number Diff line
@@ -109,6 +109,7 @@ public class Annotation {
            //TelephonyManager.NETWORK_TYPE_LTE_CA,

            TelephonyManager.NETWORK_TYPE_NR,
            TelephonyManager.NETWORK_TYPE_NB_IOT_NTN,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface NetworkType {
+8 −1
Original line number Diff line number Diff line
@@ -66,6 +66,9 @@ public class RadioAccessFamily implements Parcelable {
    // 5G
    public static final int RAF_NR = (int) TelephonyManager.NETWORK_TYPE_BITMASK_NR;

    /** NB-IOT (Narrowband Internet of Things) over Non-Terrestrial-Networks technology. */
    public static final int RAF_NB_IOT_NTN = (int) TelephonyManager.NETWORK_TYPE_BITMASK_NB_IOT_NTN;

    // Grouping of RAFs
    // 2G
    private static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
@@ -80,6 +83,9 @@ public class RadioAccessFamily implements Parcelable {
    // 5G
    private static final int NR = RAF_NR;

    /** Non-Terrestrial Network. */
    private static final int NB_IOT_NTN = RAF_NB_IOT_NTN;

    /* Phone ID of phone */
    private int mPhoneId;

@@ -258,7 +264,7 @@ public class RadioAccessFamily implements Parcelable {
        raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
        raf = ((LTE & raf) > 0) ? (LTE | raf) : raf;
        raf = ((NR & raf) > 0) ? (NR | raf) : raf;

        raf = ((NB_IOT_NTN & raf) > 0) ? (NB_IOT_NTN | raf) : raf;
        return raf;
    }

@@ -364,6 +370,7 @@ public class RadioAccessFamily implements Parcelable {
            case "WCDMA":   return WCDMA;
            case "LTE_CA":  return RAF_LTE_CA;
            case "NR":      return RAF_NR;
            case "NB_IOT_NTN": return RAF_NB_IOT_NTN;
            default:        return RAF_UNKNOWN;
        }
    }
+22 −4
Original line number Diff line number Diff line
@@ -232,6 +232,12 @@ public class ServiceState implements Parcelable {
     */
    public static final int  RIL_RADIO_TECHNOLOGY_NR = 20;

    /**
     * 3GPP NB-IOT (Narrowband Internet of Things) over Non-Terrestrial-Networks technology.
     * @hide
     */
    public static final int RIL_RADIO_TECHNOLOGY_NB_IOT_NTN = 21;

    /**
     * RIL Radio Annotation
     * @hide
@@ -258,14 +264,16 @@ public class ServiceState implements Parcelable {
        ServiceState.RIL_RADIO_TECHNOLOGY_TD_SCDMA,
        ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN,
        ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA,
        ServiceState.RIL_RADIO_TECHNOLOGY_NR})
        ServiceState.RIL_RADIO_TECHNOLOGY_NR,
        ServiceState.RIL_RADIO_TECHNOLOGY_NB_IOT_NTN
    })
    public @interface RilRadioTechnology {}


    /**
     * The number of the radio technologies.
     */
    private static final int NEXT_RIL_RADIO_TECHNOLOGY = 21;
    private static final int NEXT_RIL_RADIO_TECHNOLOGY = 22;

    /** @hide */
    public static final int RIL_RADIO_CDMA_TECHNOLOGY_BITMASK =
@@ -1125,6 +1133,9 @@ public class ServiceState implements Parcelable {
            case RIL_RADIO_TECHNOLOGY_NR:
                rtString = "NR_SA";
                break;
            case RIL_RADIO_TECHNOLOGY_NB_IOT_NTN:
                rtString = "NB_IOT_NTN";
                break;
            default:
                rtString = "Unexpected";
                Rlog.w(LOG_TAG, "Unexpected radioTechnology=" + rt);
@@ -1668,6 +1679,8 @@ public class ServiceState implements Parcelable {
                return TelephonyManager.NETWORK_TYPE_LTE_CA;
            case RIL_RADIO_TECHNOLOGY_NR:
                return TelephonyManager.NETWORK_TYPE_NR;
            case RIL_RADIO_TECHNOLOGY_NB_IOT_NTN:
                return TelephonyManager.NETWORK_TYPE_NB_IOT_NTN;
            default:
                return TelephonyManager.NETWORK_TYPE_UNKNOWN;
        }
@@ -1697,6 +1710,7 @@ public class ServiceState implements Parcelable {
                return AccessNetworkType.CDMA2000;
            case RIL_RADIO_TECHNOLOGY_LTE:
            case RIL_RADIO_TECHNOLOGY_LTE_CA:
            case RIL_RADIO_TECHNOLOGY_NB_IOT_NTN:
                return AccessNetworkType.EUTRAN;
            case RIL_RADIO_TECHNOLOGY_NR:
                return AccessNetworkType.NGRAN;
@@ -1757,6 +1771,8 @@ public class ServiceState implements Parcelable {
                return RIL_RADIO_TECHNOLOGY_LTE_CA;
            case TelephonyManager.NETWORK_TYPE_NR:
                return RIL_RADIO_TECHNOLOGY_NR;
            case TelephonyManager.NETWORK_TYPE_NB_IOT_NTN:
                return RIL_RADIO_TECHNOLOGY_NB_IOT_NTN;
            default:
                return RIL_RADIO_TECHNOLOGY_UNKNOWN;
        }
@@ -1866,7 +1882,8 @@ public class ServiceState implements Parcelable {
                || radioTechnology == RIL_RADIO_TECHNOLOGY_TD_SCDMA
                || radioTechnology == RIL_RADIO_TECHNOLOGY_IWLAN
                || radioTechnology == RIL_RADIO_TECHNOLOGY_LTE_CA
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NR;
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NR
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NB_IOT_NTN;

    }

@@ -1886,7 +1903,8 @@ public class ServiceState implements Parcelable {
    public static boolean isPsOnlyTech(int radioTechnology) {
        return radioTechnology == RIL_RADIO_TECHNOLOGY_LTE
                || radioTechnology == RIL_RADIO_TECHNOLOGY_LTE_CA
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NR;
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NR
                || radioTechnology == RIL_RADIO_TECHNOLOGY_NB_IOT_NTN;
    }

    /** @hide */
+34 −4
Original line number Diff line number Diff line
@@ -3114,6 +3114,12 @@ public class TelephonyManager {
     * For 5G NSA, the network type will be {@link #NETWORK_TYPE_LTE}.
     */
    public static final int NETWORK_TYPE_NR = TelephonyProtoEnums.NETWORK_TYPE_NR; // 20.
    /**
     * 3GPP NB-IOT (Narrowband Internet of Things) over Non-Terrestrial-Networks technology.
     */
    @FlaggedApi(Flags.FLAG_SATELLITE_SYSTEM_APIS)
    public static final int NETWORK_TYPE_NB_IOT_NTN =
            TelephonyProtoEnums.NETWORK_TYPE_NB_IOT_NTN; // 21
    private static final @NetworkType int[] NETWORK_TYPES = {
            NETWORK_TYPE_GPRS,
@@ -3190,6 +3196,7 @@ public class TelephonyManager {
     * @see #NETWORK_TYPE_EHRPD
     * @see #NETWORK_TYPE_HSPAP
     * @see #NETWORK_TYPE_NR
     * @see #NETWORK_TYPE_NB_IOT_NTN
     *
     * @hide
     */
@@ -3250,6 +3257,7 @@ public class TelephonyManager {
     * @see #NETWORK_TYPE_EHRPD
     * @see #NETWORK_TYPE_HSPAP
     * @see #NETWORK_TYPE_NR
     * @see #NETWORK_TYPE_NB_IOT_NTN
     *
     * @throws UnsupportedOperationException If the device does not have
     *          {@link PackageManager#FEATURE_TELEPHONY_RADIO_ACCESS}.
@@ -3400,6 +3408,8 @@ public class TelephonyManager {
                return "LTE_CA";
            case NETWORK_TYPE_NR:
                return "NR";
            case NETWORK_TYPE_NB_IOT_NTN:
                return "NB_IOT_NTN";
            case NETWORK_TYPE_UNKNOWN:
                return "UNKNOWN";
            default:
@@ -3450,6 +3460,8 @@ public class TelephonyManager {
                return NETWORK_TYPE_BITMASK_LTE;
            case NETWORK_TYPE_NR:
                return NETWORK_TYPE_BITMASK_NR;
            case NETWORK_TYPE_NB_IOT_NTN:
                return NETWORK_TYPE_BITMASK_NB_IOT_NTN;
            case NETWORK_TYPE_IWLAN:
                return NETWORK_TYPE_BITMASK_IWLAN;
            case NETWORK_TYPE_IDEN:
@@ -10160,6 +10172,9 @@ public class TelephonyManager {
     * This API will result in allowing an intersection of allowed network types for all reasons,
     * including the configuration done through other reasons.
     *
     * If device supports satellite service, then
     * {@link #NETWORK_TYPE_NB_IOT_NTN} is added to allowed network types for reason by default.
     *
     * @param reason the reason the allowed network type change is taking place
     * @param allowedNetworkTypes The bitmask of allowed network type
     * @throws IllegalStateException if the Telephony process is not currently available.
@@ -10209,6 +10224,10 @@ public class TelephonyManager {
     * <p>Requires permission: android.Manifest.READ_PRIVILEGED_PHONE_STATE or
     * that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
     *
     * If device supports satellite service, then
     * {@link #NETWORK_TYPE_NB_IOT_NTN} is added to allowed network types for reason by
     * default.
     *
     * @param reason the reason the allowed network type change is taking place
     * @return the allowed network type bitmask
     * @throws IllegalStateException    if the Telephony process is not currently available.
@@ -10275,7 +10294,7 @@ public class TelephonyManager {
     */
    public static String convertNetworkTypeBitmaskToString(
            @NetworkTypeBitMask long networkTypeBitmask) {
        String networkTypeName = IntStream.rangeClosed(NETWORK_TYPE_GPRS, NETWORK_TYPE_NR)
        String networkTypeName = IntStream.rangeClosed(NETWORK_TYPE_GPRS, NETWORK_TYPE_NB_IOT_NTN)
                .filter(x -> {
                    return (networkTypeBitmask & getBitMaskForNetworkType(x))
                            == getBitMaskForNetworkType(x);
@@ -14905,7 +14924,8 @@ public class TelephonyManager {
                    NETWORK_TYPE_BITMASK_LTE_CA,
                    NETWORK_TYPE_BITMASK_NR,
                    NETWORK_TYPE_BITMASK_IWLAN,
                    NETWORK_TYPE_BITMASK_IDEN
                    NETWORK_TYPE_BITMASK_IDEN,
                    NETWORK_TYPE_BITMASK_NB_IOT_NTN
            })
    public @interface NetworkTypeBitMask {}
@@ -15006,6 +15026,12 @@ public class TelephonyManager {
     */
    public static final long NETWORK_TYPE_BITMASK_IWLAN = (1 << (NETWORK_TYPE_IWLAN -1));
    /**
     * network type bitmask indicating the support of readio tech NB IOT NTN.
     */
    @FlaggedApi(Flags.FLAG_SATELLITE_SYSTEM_APIS)
    public static final long NETWORK_TYPE_BITMASK_NB_IOT_NTN = (1 << (NETWORK_TYPE_NB_IOT_NTN - 1));
    /** @hide */
    public static final long NETWORK_CLASS_BITMASK_2G = NETWORK_TYPE_BITMASK_GSM
                | NETWORK_TYPE_BITMASK_GPRS
@@ -15033,6 +15059,9 @@ public class TelephonyManager {
    /** @hide */
    public static final long NETWORK_CLASS_BITMASK_5G = NETWORK_TYPE_BITMASK_NR;
    /** @hide */
    public static final long NETWORK_CLASS_BITMASK_NTN = NETWORK_TYPE_BITMASK_NB_IOT_NTN;
    /** @hide */
    public static final long NETWORK_STANDARDS_FAMILY_BITMASK_3GPP = NETWORK_TYPE_BITMASK_GSM
            | NETWORK_TYPE_BITMASK_GPRS
@@ -15045,7 +15074,8 @@ public class TelephonyManager {
            | NETWORK_TYPE_BITMASK_TD_SCDMA
            | NETWORK_TYPE_BITMASK_LTE
            | NETWORK_TYPE_BITMASK_LTE_CA
            | NETWORK_TYPE_BITMASK_NR;
            | NETWORK_TYPE_BITMASK_NR
            | NETWORK_TYPE_BITMASK_NB_IOT_NTN;
    /** @hide */
    public static final long NETWORK_STANDARDS_FAMILY_BITMASK_3GPP2 = NETWORK_TYPE_BITMASK_CDMA
@@ -18083,7 +18113,7 @@ public class TelephonyManager {
     */
    public static boolean isNetworkTypeValid(@NetworkType int networkType) {
        return networkType >= TelephonyManager.NETWORK_TYPE_UNKNOWN &&
                networkType <= TelephonyManager.NETWORK_TYPE_NR;
                networkType <= TelephonyManager.NETWORK_TYPE_NB_IOT_NTN;
    }
    /**