• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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