1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.settings.network.telephony; 18 19 import android.telephony.TelephonyManager; 20 21 /** 22 * Contains hidden constants copied from the platform. 23 */ 24 public class TelephonyConstants { 25 26 /** 27 * Copied from {@link android.telephony.TelephonyManager} 28 */ 29 public static class TelephonyManagerConstants { 30 31 // Network modes are in turn copied from RILConstants 32 // with one difference: NETWORK_MODE_CDMA is named NETWORK_MODE_CDMA_EVDO 33 34 public static final int NETWORK_MODE_UNKNOWN = -1; 35 36 /** 37 * GSM, WCDMA (WCDMA preferred) 38 */ 39 public static final int NETWORK_MODE_WCDMA_PREF = 0; 40 41 /** 42 * GSM only 43 */ 44 public static final int NETWORK_MODE_GSM_ONLY = 1; 45 46 /** 47 * WCDMA only 48 */ 49 public static final int NETWORK_MODE_WCDMA_ONLY = 2; 50 51 /** 52 * GSM, WCDMA (auto mode, according to PRL) 53 */ 54 public static final int NETWORK_MODE_GSM_UMTS = 3; 55 56 /** 57 * CDMA and EvDo (auto mode, according to PRL) 58 * this is NETWORK_MODE_CDMA in RILConstants.java 59 */ 60 public static final int NETWORK_MODE_CDMA_EVDO = 4; 61 62 /** 63 * CDMA only 64 */ 65 public static final int NETWORK_MODE_CDMA_NO_EVDO = 5; 66 67 /** 68 * EvDo only 69 */ 70 public static final int NETWORK_MODE_EVDO_NO_CDMA = 6; 71 72 /** 73 * GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL) 74 */ 75 public static final int NETWORK_MODE_GLOBAL = 7; 76 77 /** 78 * LTE, CDMA and EvDo 79 */ 80 public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8; 81 82 /** 83 * LTE, GSM and WCDMA 84 */ 85 public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9; 86 87 /** 88 * LTE, CDMA, EvDo, GSM, and WCDMA 89 */ 90 public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; 91 92 /** 93 * LTE only mode. 94 */ 95 public static final int NETWORK_MODE_LTE_ONLY = 11; 96 97 /** 98 * LTE and WCDMA 99 */ 100 public static final int NETWORK_MODE_LTE_WCDMA = 12; 101 102 /** 103 * TD-SCDMA only 104 */ 105 public static final int NETWORK_MODE_TDSCDMA_ONLY = 13; 106 107 /** 108 * TD-SCDMA and WCDMA 109 */ 110 public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; 111 112 /** 113 * LTE and TD-SCDMA 114 */ 115 public static final int NETWORK_MODE_LTE_TDSCDMA = 15; 116 117 /** 118 * TD-SCDMA and GSM 119 */ 120 public static final int NETWORK_MODE_TDSCDMA_GSM = 16; 121 122 /** 123 * TD-SCDMA, GSM and LTE 124 */ 125 public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; 126 127 /** 128 * TD-SCDMA, GSM and WCDMA 129 */ 130 public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; 131 132 /** 133 * LTE, TD-SCDMA and WCDMA 134 */ 135 public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; 136 137 /** 138 * LTE, TD-SCDMA, GSM, and WCDMA 139 */ 140 public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; 141 142 /** 143 * TD-SCDMA, CDMA, EVDO, GSM and WCDMA 144 */ 145 public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; 146 147 /** 148 * LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA 149 */ 150 public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; 151 152 /** 153 * NR 5G only mode 154 */ 155 public static final int NETWORK_MODE_NR_ONLY = 23; 156 157 /** 158 * NR 5G, LTE 159 */ 160 public static final int NETWORK_MODE_NR_LTE = 24; 161 162 /** 163 * NR 5G, LTE, CDMA and EvDo 164 */ 165 public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25; 166 167 /** 168 * NR 5G, LTE, GSM and WCDMA 169 */ 170 public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26; 171 172 /** 173 * NR 5G, LTE, CDMA, EvDo, GSM and WCDMA 174 */ 175 public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27; 176 177 /** 178 * NR 5G, LTE and WCDMA 179 */ 180 public static final int NETWORK_MODE_NR_LTE_WCDMA = 28; 181 182 /** 183 * NR 5G, LTE and TDSCDMA 184 */ 185 public static final int NETWORK_MODE_NR_LTE_TDSCDMA = 29; 186 187 /** 188 * NR 5G, LTE, TD-SCDMA and GSM 189 */ 190 public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30; 191 192 /** 193 * NR 5G, LTE, TD-SCDMA, WCDMA 194 */ 195 public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31; 196 197 /** 198 * NR 5G, LTE, TD-SCDMA, GSM and WCDMA 199 */ 200 public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32; 201 202 /** 203 * NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA 204 */ 205 public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33; 206 } 207 208 /** 209 * Copied from {@link android.telephony.RadioAccessFamily} 210 */ 211 public static class RadioAccessFamily { 212 /** 213 * TODO: get rid of RAF definition in RadioAccessFamily and 214 * use {@link TelephonyManager.NetworkTypeBitMask} 215 * TODO: public definition {@link TelephonyManager.NetworkTypeBitMask} is long. 216 * TODO: Convert from int * to long everywhere including HAL definitions. 217 */ 218 // 2G 219 public static final int RAF_UNKNOWN = (int) TelephonyManager.NETWORK_TYPE_BITMASK_UNKNOWN; 220 public static final int RAF_GSM = (int) TelephonyManager.NETWORK_TYPE_BITMASK_GSM; 221 public static final int RAF_GPRS = (int) TelephonyManager.NETWORK_TYPE_BITMASK_GPRS; 222 public static final int RAF_EDGE = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EDGE; 223 public static final int RAF_IS95A = (int) TelephonyManager.NETWORK_TYPE_BITMASK_CDMA; 224 public static final int RAF_IS95B = (int) TelephonyManager.NETWORK_TYPE_BITMASK_CDMA; 225 public static final int RAF_1xRTT = (int) TelephonyManager.NETWORK_TYPE_BITMASK_1xRTT; 226 // 3G 227 public static final int RAF_EVDO_0 = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_0; 228 public static final int RAF_EVDO_A = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_A; 229 public static final int RAF_EVDO_B = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_B; 230 public static final int RAF_EHRPD = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EHRPD; 231 public static final int RAF_HSUPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSUPA; 232 public static final int RAF_HSDPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSDPA; 233 public static final int RAF_HSPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPA; 234 public static final int RAF_HSPAP = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPAP; 235 public static final int RAF_UMTS = (int) TelephonyManager.NETWORK_TYPE_BITMASK_UMTS; 236 public static final int RAF_TD_SCDMA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_TD_SCDMA; 237 // 4G 238 public static final int RAF_LTE = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE; 239 public static final int RAF_LTE_CA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE_CA; 240 // 5G 241 public static final int RAF_NR = (int) TelephonyManager.NETWORK_TYPE_BITMASK_NR; 242 243 // Grouping of RAFs 244 // 2G 245 public static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE; 246 public static final int CDMA = RAF_IS95A | RAF_IS95B | RAF_1xRTT; 247 // 3G 248 public static final int EVDO = RAF_EVDO_0 | RAF_EVDO_A | RAF_EVDO_B | RAF_EHRPD; 249 public static final int HS = RAF_HSUPA | RAF_HSDPA | RAF_HSPA | RAF_HSPAP; 250 public static final int WCDMA = HS | RAF_UMTS; 251 // 4G 252 public static final int LTE = RAF_LTE | RAF_LTE_CA; 253 // 5G 254 public static final int NR = RAF_NR; 255 } 256 } 257