1 /* 2 * Copyright (C) 2017 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.googlecode.android_scripting.facade.telephony; 18 import com.android.ims.ImsConfig; 19 import com.android.internal.telephony.RILConstants; 20 import com.googlecode.android_scripting.Log; 21 22 import android.telecom.TelecomManager; 23 import android.telephony.DataConnectionRealTimeInfo; 24 import android.telephony.PreciseCallState; 25 import android.telephony.ServiceState; 26 import android.telephony.TelephonyDisplayInfo; 27 import android.telephony.TelephonyManager; 28 import android.telephony.VoLteServiceState; 29 30 /** 31 * Telephony utility functions 32 */ 33 public class TelephonyUtils { 34 getWfcModeString(int mode)35 public static String getWfcModeString(int mode) { 36 switch(mode) { 37 case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED: 38 return TelephonyConstants.WFC_MODE_WIFI_PREFERRED; 39 case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED: 40 return TelephonyConstants.WFC_MODE_CELLULAR_PREFERRED; 41 case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY: 42 return TelephonyConstants.WFC_MODE_WIFI_ONLY; 43 } 44 Log.d("getWfcModeStringfromInt error. int: " + mode); 45 return TelephonyConstants.WFC_MODE_UNKNOWN; 46 } 47 getTtyModeString(int mode)48 public static String getTtyModeString(int mode) { 49 switch (mode) { 50 case TelecomManager.TTY_MODE_FULL: 51 return TelephonyConstants.TTY_MODE_FULL; 52 case TelecomManager.TTY_MODE_HCO: 53 return TelephonyConstants.TTY_MODE_HCO; 54 case TelecomManager.TTY_MODE_OFF: 55 return TelephonyConstants.TTY_MODE_OFF; 56 case TelecomManager.TTY_MODE_VCO: 57 return TelephonyConstants.TTY_MODE_VCO; 58 } 59 Log.d("getTtyModeString error. int: " + mode); 60 return null; 61 } 62 getPhoneTypeString(int type)63 public static String getPhoneTypeString(int type) { 64 switch (type) { 65 case TelephonyManager.PHONE_TYPE_GSM: 66 return TelephonyConstants.PHONE_TYPE_GSM; 67 case TelephonyManager.PHONE_TYPE_NONE: 68 return TelephonyConstants.PHONE_TYPE_NONE; 69 case TelephonyManager.PHONE_TYPE_CDMA: 70 return TelephonyConstants.PHONE_TYPE_CDMA; 71 case TelephonyManager.PHONE_TYPE_SIP: 72 return TelephonyConstants.PHONE_TYPE_SIP; 73 } 74 Log.d("getPhoneTypeString error. int: " + type); 75 return null; 76 } 77 getSimStateString(int state)78 public static String getSimStateString(int state) { 79 switch (state) { 80 case TelephonyManager.SIM_STATE_UNKNOWN: 81 return TelephonyConstants.SIM_STATE_UNKNOWN; 82 case TelephonyManager.SIM_STATE_ABSENT: 83 return TelephonyConstants.SIM_STATE_ABSENT; 84 case TelephonyManager.SIM_STATE_PIN_REQUIRED: 85 return TelephonyConstants.SIM_STATE_PIN_REQUIRED; 86 case TelephonyManager.SIM_STATE_PUK_REQUIRED: 87 return TelephonyConstants.SIM_STATE_PUK_REQUIRED; 88 case TelephonyManager.SIM_STATE_NETWORK_LOCKED: 89 return TelephonyConstants.SIM_STATE_NETWORK_LOCKED; 90 case TelephonyManager.SIM_STATE_READY: 91 return TelephonyConstants.SIM_STATE_READY; 92 case TelephonyManager.SIM_STATE_NOT_READY: 93 return TelephonyConstants.SIM_STATE_NOT_READY; 94 case TelephonyManager.SIM_STATE_PERM_DISABLED: 95 return TelephonyConstants.SIM_STATE_PERM_DISABLED; 96 case TelephonyManager.SIM_STATE_CARD_IO_ERROR: 97 return TelephonyConstants.SIM_STATE_CARD_IO_ERROR; 98 } 99 Log.d("getSimStateString error. int: " + state); 100 return TelephonyConstants.SIM_STATE_UNKNOWN; 101 } 102 formatIncomingNumber(String incomingNumber)103 public static String formatIncomingNumber(String incomingNumber) { 104 String mIncomingNumber = null; 105 int len = 0; 106 if (incomingNumber != null) { 107 len = incomingNumber.length(); 108 } 109 if (len > 0) { 110 /** 111 * Currently this incomingNumber modification is specific for 112 * US numbers. 113 */ 114 if ((12 == len) && ('+' == incomingNumber.charAt(0))) { 115 mIncomingNumber = incomingNumber.substring(1); 116 } else if (10 == len) { 117 mIncomingNumber = '1' + incomingNumber; 118 } else { 119 mIncomingNumber = incomingNumber; 120 } 121 } 122 return mIncomingNumber; 123 } 124 getTelephonyCallStateString(int callState)125 public static String getTelephonyCallStateString(int callState) { 126 switch (callState) { 127 case TelephonyManager.CALL_STATE_IDLE: 128 return TelephonyConstants.TELEPHONY_STATE_IDLE; 129 case TelephonyManager.CALL_STATE_OFFHOOK: 130 return TelephonyConstants.TELEPHONY_STATE_OFFHOOK; 131 case TelephonyManager.CALL_STATE_RINGING: 132 return TelephonyConstants.TELEPHONY_STATE_RINGING; 133 } 134 Log.d("getTelephonyCallStateString error. int: " + callState); 135 return TelephonyConstants.TELEPHONY_STATE_UNKNOWN; 136 } 137 getPreciseCallStateString(int state)138 public static String getPreciseCallStateString(int state) { 139 switch (state) { 140 case PreciseCallState.PRECISE_CALL_STATE_ACTIVE: 141 return TelephonyConstants.PRECISE_CALL_STATE_ACTIVE; 142 case PreciseCallState.PRECISE_CALL_STATE_HOLDING: 143 return TelephonyConstants.PRECISE_CALL_STATE_HOLDING; 144 case PreciseCallState.PRECISE_CALL_STATE_DIALING: 145 return TelephonyConstants.PRECISE_CALL_STATE_DIALING; 146 case PreciseCallState.PRECISE_CALL_STATE_ALERTING: 147 return TelephonyConstants.PRECISE_CALL_STATE_ALERTING; 148 case PreciseCallState.PRECISE_CALL_STATE_INCOMING: 149 return TelephonyConstants.PRECISE_CALL_STATE_INCOMING; 150 case PreciseCallState.PRECISE_CALL_STATE_WAITING: 151 return TelephonyConstants.PRECISE_CALL_STATE_WAITING; 152 case PreciseCallState.PRECISE_CALL_STATE_DISCONNECTED: 153 return TelephonyConstants.PRECISE_CALL_STATE_DISCONNECTED; 154 case PreciseCallState.PRECISE_CALL_STATE_DISCONNECTING: 155 return TelephonyConstants.PRECISE_CALL_STATE_DISCONNECTING; 156 case PreciseCallState.PRECISE_CALL_STATE_IDLE: 157 return TelephonyConstants.PRECISE_CALL_STATE_IDLE; 158 case PreciseCallState.PRECISE_CALL_STATE_NOT_VALID: 159 return TelephonyConstants.PRECISE_CALL_STATE_INVALID; 160 } 161 Log.d("getPreciseCallStateString error. int: " + state); 162 return TelephonyConstants.PRECISE_CALL_STATE_UNKNOWN; 163 } 164 getDcPowerStateString(int state)165 public static String getDcPowerStateString(int state) { 166 if (state == DataConnectionRealTimeInfo.DC_POWER_STATE_LOW) { 167 return TelephonyConstants.DC_POWER_STATE_LOW; 168 } else if (state == DataConnectionRealTimeInfo.DC_POWER_STATE_HIGH) { 169 return TelephonyConstants.DC_POWER_STATE_HIGH; 170 } else if (state == DataConnectionRealTimeInfo.DC_POWER_STATE_MEDIUM) { 171 return TelephonyConstants.DC_POWER_STATE_MEDIUM; 172 } else { 173 return TelephonyConstants.DC_POWER_STATE_UNKNOWN; 174 } 175 } 176 getDataConnectionStateString(int state)177 public static String getDataConnectionStateString(int state) { 178 switch (state) { 179 case TelephonyManager.DATA_DISCONNECTED: 180 return TelephonyConstants.DATA_STATE_DISCONNECTED; 181 case TelephonyManager.DATA_CONNECTING: 182 return TelephonyConstants.DATA_STATE_CONNECTING; 183 case TelephonyManager.DATA_CONNECTED: 184 return TelephonyConstants.DATA_STATE_CONNECTED; 185 case TelephonyManager.DATA_SUSPENDED: 186 return TelephonyConstants.DATA_STATE_SUSPENDED; 187 case TelephonyManager.DATA_UNKNOWN: 188 return TelephonyConstants.DATA_STATE_UNKNOWN; 189 } 190 Log.d("getDataConnectionStateString error. int: " + state); 191 return TelephonyConstants.DATA_STATE_UNKNOWN; 192 } 193 getDisplayInfoString(int state)194 public static String getDisplayInfoString(int state) { 195 switch (state) { 196 case TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE: 197 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_NONE; 198 case TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA: 199 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_LTE_CA; 200 case TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO: 201 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO; 202 case TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA: 203 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_NR_NSA; 204 case TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE: 205 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE; 206 } 207 Log.d("getDisplayInfoStateString error. int: " + state); 208 return TelephonyConstants.OVERRIDE_NETWORK_TYPE_NONE; 209 } 210 getNetworkModeIntfromString(String networkMode)211 public static int getNetworkModeIntfromString(String networkMode) { 212 switch (networkMode) { 213 case TelephonyConstants.NETWORK_MODE_WCDMA_PREF: 214 return RILConstants.NETWORK_MODE_WCDMA_PREF; 215 case TelephonyConstants.NETWORK_MODE_GSM_ONLY: 216 return RILConstants.NETWORK_MODE_GSM_ONLY; 217 case TelephonyConstants.NETWORK_MODE_WCDMA_ONLY: 218 return RILConstants.NETWORK_MODE_WCDMA_ONLY; 219 case TelephonyConstants.NETWORK_MODE_GSM_UMTS: 220 return RILConstants.NETWORK_MODE_GSM_UMTS; 221 case TelephonyConstants.NETWORK_MODE_CDMA: 222 return RILConstants.NETWORK_MODE_CDMA; 223 case TelephonyConstants.NETWORK_MODE_CDMA_NO_EVDO: 224 return RILConstants.NETWORK_MODE_CDMA_NO_EVDO; 225 case TelephonyConstants.NETWORK_MODE_EVDO_NO_CDMA: 226 return RILConstants.NETWORK_MODE_EVDO_NO_CDMA; 227 case TelephonyConstants.NETWORK_MODE_GLOBAL: 228 return RILConstants.NETWORK_MODE_GLOBAL; 229 case TelephonyConstants.NETWORK_MODE_LTE_CDMA_EVDO: 230 return RILConstants.NETWORK_MODE_LTE_CDMA_EVDO; 231 case TelephonyConstants.NETWORK_MODE_LTE_GSM_WCDMA: 232 return RILConstants.NETWORK_MODE_LTE_GSM_WCDMA; 233 case TelephonyConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: 234 return RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA; 235 case TelephonyConstants.NETWORK_MODE_LTE_ONLY: 236 return RILConstants.NETWORK_MODE_LTE_ONLY; 237 case TelephonyConstants.NETWORK_MODE_LTE_WCDMA: 238 return RILConstants.NETWORK_MODE_LTE_WCDMA; 239 case TelephonyConstants.NETWORK_MODE_TDSCDMA_ONLY: 240 return RILConstants.NETWORK_MODE_TDSCDMA_ONLY; 241 case TelephonyConstants.NETWORK_MODE_TDSCDMA_WCDMA: 242 return RILConstants.NETWORK_MODE_TDSCDMA_WCDMA; 243 case TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA: 244 return RILConstants.NETWORK_MODE_LTE_TDSCDMA; 245 case TelephonyConstants.NETWORK_MODE_TDSCDMA_GSM: 246 return RILConstants.NETWORK_MODE_TDSCDMA_GSM; 247 case TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: 248 return RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM; 249 case TelephonyConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: 250 return RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA; 251 case TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: 252 return RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA; 253 case TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: 254 return RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA; 255 case TelephonyConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 256 return RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 257 case TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 258 return RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 259 case TelephonyConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA: 260 return RILConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; 261 case TelephonyConstants.NETWORK_MODE_NR_ONLY: 262 return RILConstants.NETWORK_MODE_NR_ONLY; 263 case TelephonyConstants.NETWORK_MODE_NR_LTE: 264 return RILConstants.NETWORK_MODE_NR_LTE; 265 case TelephonyConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: 266 return RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; 267 case TelephonyConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: 268 return RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; 269 case TelephonyConstants.NETWORK_MODE_NR_LTE_WCDMA: 270 return RILConstants.NETWORK_MODE_NR_LTE_WCDMA; 271 case TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA: 272 return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA; 273 case TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM: 274 return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; 275 case TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA: 276 return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; 277 case TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA: 278 return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; 279 case TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 280 return RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 281 } 282 Log.d("getNetworkModeIntfromString error. String: " + networkMode); 283 return RILConstants.RIL_ERRNO_INVALID_RESPONSE; 284 } 285 getNetworkModeStringfromInt(int networkMode)286 public static String getNetworkModeStringfromInt(int networkMode) { 287 switch (networkMode) { 288 case RILConstants.NETWORK_MODE_WCDMA_PREF: 289 return TelephonyConstants.NETWORK_MODE_WCDMA_PREF; 290 case RILConstants.NETWORK_MODE_GSM_ONLY: 291 return TelephonyConstants.NETWORK_MODE_GSM_ONLY; 292 case RILConstants.NETWORK_MODE_WCDMA_ONLY: 293 return TelephonyConstants.NETWORK_MODE_WCDMA_ONLY; 294 case RILConstants.NETWORK_MODE_GSM_UMTS: 295 return TelephonyConstants.NETWORK_MODE_GSM_UMTS; 296 case RILConstants.NETWORK_MODE_CDMA: 297 return TelephonyConstants.NETWORK_MODE_CDMA; 298 case RILConstants.NETWORK_MODE_CDMA_NO_EVDO: 299 return TelephonyConstants.NETWORK_MODE_CDMA_NO_EVDO; 300 case RILConstants.NETWORK_MODE_EVDO_NO_CDMA: 301 return TelephonyConstants.NETWORK_MODE_EVDO_NO_CDMA; 302 case RILConstants.NETWORK_MODE_GLOBAL: 303 return TelephonyConstants.NETWORK_MODE_GLOBAL; 304 case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO: 305 return TelephonyConstants.NETWORK_MODE_LTE_CDMA_EVDO; 306 case RILConstants.NETWORK_MODE_LTE_GSM_WCDMA: 307 return TelephonyConstants.NETWORK_MODE_LTE_GSM_WCDMA; 308 case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: 309 return TelephonyConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA; 310 case RILConstants.NETWORK_MODE_LTE_ONLY: 311 return TelephonyConstants.NETWORK_MODE_LTE_ONLY; 312 case RILConstants.NETWORK_MODE_LTE_WCDMA: 313 return TelephonyConstants.NETWORK_MODE_LTE_WCDMA; 314 case RILConstants.NETWORK_MODE_TDSCDMA_ONLY: 315 return TelephonyConstants.NETWORK_MODE_TDSCDMA_ONLY; 316 case RILConstants.NETWORK_MODE_TDSCDMA_WCDMA: 317 return TelephonyConstants.NETWORK_MODE_TDSCDMA_WCDMA; 318 case RILConstants.NETWORK_MODE_LTE_TDSCDMA: 319 return TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA; 320 case RILConstants.NETWORK_MODE_TDSCDMA_GSM: 321 return TelephonyConstants.NETWORK_MODE_TDSCDMA_GSM; 322 case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: 323 return TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_GSM; 324 case RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: 325 return TelephonyConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA; 326 case RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: 327 return TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA; 328 case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: 329 return TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA; 330 case RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 331 return TelephonyConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 332 case RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 333 return TelephonyConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 334 case RILConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA: 335 return TelephonyConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; 336 case RILConstants.NETWORK_MODE_NR_ONLY: 337 return TelephonyConstants.NETWORK_MODE_NR_ONLY; 338 case RILConstants.NETWORK_MODE_NR_LTE: 339 return TelephonyConstants.NETWORK_MODE_NR_LTE; 340 case RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: 341 return TelephonyConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; 342 case RILConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: 343 return TelephonyConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; 344 case RILConstants.NETWORK_MODE_NR_LTE_WCDMA: 345 return TelephonyConstants.NETWORK_MODE_NR_LTE_WCDMA; 346 case RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA: 347 return TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA; 348 case RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM: 349 return TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; 350 case RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA: 351 return TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; 352 case RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA: 353 return TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; 354 case RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: 355 return TelephonyConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; 356 } 357 Log.d("getNetworkModeStringfromInt error. Int: " + networkMode); 358 return TelephonyConstants.NETWORK_MODE_INVALID; 359 } 360 getNetworkTypeString(int type)361 public static String getNetworkTypeString(int type) { 362 switch(type) { 363 case TelephonyManager.NETWORK_TYPE_GPRS: 364 return TelephonyConstants.RAT_GPRS; 365 case TelephonyManager.NETWORK_TYPE_EDGE: 366 return TelephonyConstants.RAT_EDGE; 367 case TelephonyManager.NETWORK_TYPE_UMTS: 368 return TelephonyConstants.RAT_UMTS; 369 case TelephonyManager.NETWORK_TYPE_HSDPA: 370 return TelephonyConstants.RAT_HSDPA; 371 case TelephonyManager.NETWORK_TYPE_HSUPA: 372 return TelephonyConstants.RAT_HSUPA; 373 case TelephonyManager.NETWORK_TYPE_HSPA: 374 return TelephonyConstants.RAT_HSPA; 375 case TelephonyManager.NETWORK_TYPE_CDMA: 376 return TelephonyConstants.RAT_CDMA; 377 case TelephonyManager.NETWORK_TYPE_1xRTT: 378 return TelephonyConstants.RAT_1XRTT; 379 case TelephonyManager.NETWORK_TYPE_EVDO_0: 380 return TelephonyConstants.RAT_EVDO_0; 381 case TelephonyManager.NETWORK_TYPE_EVDO_A: 382 return TelephonyConstants.RAT_EVDO_A; 383 case TelephonyManager.NETWORK_TYPE_EVDO_B: 384 return TelephonyConstants.RAT_EVDO_B; 385 case TelephonyManager.NETWORK_TYPE_EHRPD: 386 return TelephonyConstants.RAT_EHRPD; 387 case TelephonyManager.NETWORK_TYPE_LTE: 388 return TelephonyConstants.RAT_LTE; 389 case TelephonyManager.NETWORK_TYPE_HSPAP: 390 return TelephonyConstants.RAT_HSPAP; 391 case TelephonyManager.NETWORK_TYPE_GSM: 392 return TelephonyConstants.RAT_GSM; 393 case TelephonyManager. NETWORK_TYPE_TD_SCDMA: 394 return TelephonyConstants.RAT_TD_SCDMA; 395 case TelephonyManager.NETWORK_TYPE_IWLAN: 396 return TelephonyConstants.RAT_IWLAN; 397 case TelephonyManager.NETWORK_TYPE_IDEN: 398 return TelephonyConstants.RAT_IDEN; 399 case TelephonyManager.NETWORK_TYPE_LTE_CA: 400 return TelephonyConstants.RAT_LTE_CA; 401 } 402 return TelephonyConstants.RAT_UNKNOWN; 403 } 404 getNetworkStateString(int state)405 public static String getNetworkStateString(int state) { 406 switch(state) { 407 case ServiceState.STATE_EMERGENCY_ONLY: 408 return TelephonyConstants.SERVICE_STATE_EMERGENCY_ONLY; 409 case ServiceState.STATE_IN_SERVICE: 410 return TelephonyConstants.SERVICE_STATE_IN_SERVICE; 411 case ServiceState.STATE_OUT_OF_SERVICE: 412 return TelephonyConstants.SERVICE_STATE_OUT_OF_SERVICE; 413 case ServiceState.STATE_POWER_OFF: 414 return TelephonyConstants.SERVICE_STATE_POWER_OFF; 415 default: 416 return TelephonyConstants.SERVICE_STATE_UNKNOWN; 417 } 418 } 419 getSrvccStateString(int srvccState)420 public static String getSrvccStateString(int srvccState) { 421 switch (srvccState) { 422 case VoLteServiceState.HANDOVER_STARTED: 423 return TelephonyConstants.VOLTE_SERVICE_STATE_HANDOVER_STARTED; 424 case VoLteServiceState.HANDOVER_COMPLETED: 425 return TelephonyConstants.VOLTE_SERVICE_STATE_HANDOVER_COMPLETED; 426 case VoLteServiceState.HANDOVER_FAILED: 427 return TelephonyConstants.VOLTE_SERVICE_STATE_HANDOVER_FAILED; 428 case VoLteServiceState.HANDOVER_CANCELED: 429 return TelephonyConstants.VOLTE_SERVICE_STATE_HANDOVER_CANCELED; 430 default: 431 Log.e(String.format("getSrvccStateString():" 432 + "unknown state %d", srvccState)); 433 return TelephonyConstants.VOLTE_SERVICE_STATE_HANDOVER_UNKNOWN; 434 } 435 }; 436 } 437