19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.telephony; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcel; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcelable; 22599a90c2a02645a5f2d189b9065b863397a4076eWink Savilleimport android.telephony.Rlog; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Contains phone state and service related information. 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The following phone information is included in returned ServiceState: 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>Service state: IN_SERVICE, OUT_OF_SERVICE, EMERGENCY_ONLY, POWER_OFF 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>Roaming indicator 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>Operator name, short name and numeric id 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>Network selection mode 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class ServiceState implements Parcelable { 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38767a662ecde33c3979bf02b793d392aca0403162Wink Saville static final String LOG_TAG = "PHONE"; 390dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville static final boolean DBG = true; 40767a662ecde33c3979bf02b793d392aca0403162Wink Saville 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Normal operation condition, the phone is registered 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with an operator either in home network or in roaming. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_IN_SERVICE = 0; 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Phone is not registered with any operator, the phone 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can be currently searching a new operator to register to, or not 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * searching to registration at all, or registration is denied, or radio 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * signal is not available. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_OUT_OF_SERVICE = 1; 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The phone is registered and locked. Only emergency numbers are allowed. {@more} 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_EMERGENCY_ONLY = 2; 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 61390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Radio of telephony is explicitly powered off. 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_POWER_OFF = 3; 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 650dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 660dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * RIL level registration state values from ril.h 670dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * ((const char **)response)[0] is registration state 0-6, 680dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 0 - Not registered, MT is not currently searching 690dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * a new operator to register 700dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 1 - Registered, home network 710dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 2 - Not registered, but MT is currently searching 720dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * a new operator to register 730dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 3 - Registration denied 740dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 4 - Unknown 750dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 5 - Registered, roaming 760dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 10 - Same as 0, but indicates that emergency calls 770dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * are enabled. 780dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 12 - Same as 2, but indicates that emergency calls 790dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * are enabled. 800dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 13 - Same as 3, but indicates that emergency calls 810dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * are enabled. 820dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 14 - Same as 4, but indicates that emergency calls 830dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * are enabled. 840dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @hide 850dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 860dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_NOT_REG = 0; 870dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 880dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_HOME = 1; 890dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 900dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_SEARCHING = 2; 910dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 920dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_DENIED = 3; 930dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 940dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_UNKNOWN = 4; 950dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 960dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_ROAMING = 5; 970dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 980dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_NOT_REG_EMERGENCY_CALL_ENABLED = 10; 990dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 1000dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_SEARCHING_EMERGENCY_CALL_ENABLED = 12; 1010dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 1020dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_DENIED_EMERGENCY_CALL_ENABLED = 13; 1030dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 1040dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public static final int RIL_REG_STATE_UNKNOWN_EMERGENCY_CALL_ENABLED = 14; 105767a662ecde33c3979bf02b793d392aca0403162Wink Saville 106767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 107767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Available radio technologies for GSM, UMTS and CDMA. 1081434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt * Duplicates the constants from hardware/radio/include/ril.h 1091434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt * This should only be used by agents working with the ril. Others 1101434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt * should use the equivalent TelephonyManager.NETWORK_TYPE_* 111767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 112767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1131434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_UNKNOWN = 0; 114767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1151434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_GPRS = 1; 116767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1171434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_EDGE = 2; 118767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1191434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_UMTS = 3; 120767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1211434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_IS95A = 4; 122767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1231434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_IS95B = 5; 124767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1251434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_1xRTT = 6; 126767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1271434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_EVDO_0 = 7; 128767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 1291434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_EVDO_A = 8; 130ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 1311434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_HSDPA = 9; 132ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 1331434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_HSUPA = 10; 134ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 1351434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_HSPA = 11; 1360a5174a6e947d5cbeb8846a1273a90b6de065cbfNaveen Kalla /** @hide */ 1371434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_EVDO_B = 12; 1389d7d62801ddb206d2ea96d74864a9edfe54d2eeeWink Saville /** @hide */ 1391434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_EHRPD = 13; 1409d7d62801ddb206d2ea96d74864a9edfe54d2eeeWink Saville /** @hide */ 1411434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_LTE = 14; 142f57276154aaa587524374db8e0d7228383611bf3Ramesh Sudini /** @hide */ 1431434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_HSPAP = 15; 144fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** 145fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla * GSM radio technology only supports voice. It does not support data. 146fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla * @hide 147fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla */ 1481434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static final int RIL_RADIO_TECHNOLOGY_GSM = 16; 149767a662ecde33c3979bf02b793d392aca0403162Wink Saville 150767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 151767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Available registration states for GSM, UMTS and CDMA. 152767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 153767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 154767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_NOT_REGISTERED_AND_NOT_SEARCHING = 0; 155767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 156767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_HOME_NETWORK = 1; 157767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 158767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_NOT_REGISTERED_AND_SEARCHING = 2; 159767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 160767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_REGISTRATION_DENIED = 3; 161767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 162767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_UNKNOWN = 4; 163767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 164767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_ROAMING = 5; 165767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1660dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville private int mVoiceRegState = STATE_OUT_OF_SERVICE; 1670dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville private int mDataRegState = STATE_OUT_OF_SERVICE; 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mRoaming; 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorAlphaLong; 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorAlphaShort; 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorNumeric; 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mIsManualNetworkSelection; 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 17456c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang private boolean mIsEmergencyOnly; 17556c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 1760dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville private int mRilVoiceRadioTechnology; 1770dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville private int mRilDataRadioTechnology; 1780dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 179767a662ecde33c3979bf02b793d392aca0403162Wink Saville private boolean mCssIndicator; 180767a662ecde33c3979bf02b793d392aca0403162Wink Saville private int mNetworkId; 181767a662ecde33c3979bf02b793d392aca0403162Wink Saville private int mSystemId; 182e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private int mCdmaRoamingIndicator; 183e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private int mCdmaDefaultRoamingIndicator; 18498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt private int mCdmaEriIconIndex; 18598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt private int mCdmaEriIconMode; 186767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Create a new ServiceState from a intent notifier Bundle 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method is used by PhoneStateIntentReceiver and maybe by 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * external applications. 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m Bundle from intent notifier 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return newly created ServiceState 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static ServiceState newFromBundle(Bundle m) { 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState ret; 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ret = new ServiceState(); 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ret.setFromNotifierBundle(m); 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return ret; 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Empty constructor 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState() { 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copy constructors 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param s Source service state 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState(ServiceState s) { 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project copyFrom(s); 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void copyFrom(ServiceState s) { 2200dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mVoiceRegState = s.mVoiceRegState; 2210dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mDataRegState = s.mDataRegState; 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = s.mRoaming; 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = s.mOperatorAlphaLong; 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = s.mOperatorAlphaShort; 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = s.mOperatorNumeric; 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = s.mIsManualNetworkSelection; 2270dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilVoiceRadioTechnology = s.mRilVoiceRadioTechnology; 2280dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilDataRadioTechnology = s.mRilDataRadioTechnology; 229767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = s.mCssIndicator; 230767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = s.mNetworkId; 231767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = s.mSystemId; 232e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = s.mCdmaRoamingIndicator; 233e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = s.mCdmaDefaultRoamingIndicator; 23498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = s.mCdmaEriIconIndex; 23598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = s.mCdmaEriIconMode; 23656c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = s.mIsEmergencyOnly; 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Construct a ServiceState object from the given parcel. 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState(Parcel in) { 2430dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mVoiceRegState = in.readInt(); 2440dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mDataRegState = in.readInt(); 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = in.readInt() != 0; 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = in.readString(); 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = in.readString(); 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = in.readString(); 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = in.readInt() != 0; 2500dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilVoiceRadioTechnology = in.readInt(); 2510dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilDataRadioTechnology = in.readInt(); 252767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = (in.readInt() != 0); 253767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = in.readInt(); 254767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = in.readInt(); 255e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = in.readInt(); 256e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = in.readInt(); 25798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = in.readInt(); 25898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = in.readInt(); 25956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = in.readInt() != 0; 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(Parcel out, int flags) { 2630dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville out.writeInt(mVoiceRegState); 2640dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville out.writeInt(mDataRegState); 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(mRoaming ? 1 : 0); 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorAlphaLong); 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorAlphaShort); 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorNumeric); 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(mIsManualNetworkSelection ? 1 : 0); 2700dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville out.writeInt(mRilVoiceRadioTechnology); 2710dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville out.writeInt(mRilDataRadioTechnology); 272767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mCssIndicator ? 1 : 0); 273767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mNetworkId); 274767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mSystemId); 275e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville out.writeInt(mCdmaRoamingIndicator); 276e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville out.writeInt(mCdmaDefaultRoamingIndicator); 27798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt out.writeInt(mCdmaEriIconIndex); 27898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt out.writeInt(mCdmaEriIconMode); 27956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang out.writeInt(mIsEmergencyOnly ? 1 : 0); 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 286390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby public static final Parcelable.Creator<ServiceState> CREATOR = 287390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby new Parcelable.Creator<ServiceState>() { 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState createFromParcel(Parcel in) { 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ServiceState(in); 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState[] newArray(int size) { 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ServiceState[size]; 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2980dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Get current voice service state 2990dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 3000dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getState() { 3010dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return getVoiceRegState(); 3020dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 3030dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 3040dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 3050dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Get current voice service state 306b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville * 307b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville * @see #STATE_IN_SERVICE 308b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville * @see #STATE_OUT_OF_SERVICE 309b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville * @see #STATE_EMERGENCY_ONLY 310b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville * @see #STATE_POWER_OFF 3110dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 3120dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @hide 313b690ac3b27d9b782a23a5f9a82bb3421e88716e3Wink Saville */ 3140dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getVoiceRegState() { 3150dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return mVoiceRegState; 3160dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 3170dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 3180dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 3190dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Get current data service state 3200dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 3210dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @see #STATE_IN_SERVICE 3220dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @see #STATE_OUT_OF_SERVICE 3230dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @see #STATE_EMERGENCY_ONLY 3240dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @see #STATE_POWER_OFF 3250dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * 3260dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @hide 3270dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 3280dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getDataRegState() { 3290dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return mDataRegState; 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current roaming indicator of phone 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (note: not just decoding from TS 27.007 7.2) 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if TS 27.007 7.2 roaming is true 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and ONS is different from SPN 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean getRoaming() { 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mRoaming; 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 344e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 345e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 346e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 34756c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang public boolean isEmergencyOnly() { 34856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang return mIsEmergencyOnly; 34956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang } 35056c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 35156c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang /** 35256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang * @hide 35356c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang */ 354e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaRoamingIndicator(){ 355e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return this.mCdmaRoamingIndicator; 356e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 357e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 358e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 359e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 360e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 361e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaDefaultRoamingIndicator(){ 362e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return this.mCdmaDefaultRoamingIndicator; 363767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 364767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 36698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 36798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 36898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public int getCdmaEriIconIndex() { 36998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt return this.mCdmaEriIconIndex; 37098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 37198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 37298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 37398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 37498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 37598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public int getCdmaEriIconMode() { 37698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt return this.mCdmaEriIconMode; 37798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 37898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 37998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 380390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator name in long alphanumeric format. 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 382390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In GSM/UMTS, long format can be up to 16 characters long. 383390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In CDMA, returns the ERI text, if set. Otherwise, returns the ONS. 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return long name of operator, null if unregistered or unknown 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorAlphaLong() { 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorAlphaLong; 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 392390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator name in short alphanumeric format. 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 394390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In GSM/UMTS, short format can be up to 8 characters long. 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return short name of operator, null if unregistered or unknown 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorAlphaShort() { 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorAlphaShort; 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 403390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator numeric id. 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit 406390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * network code. 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return numeric format of operator, null if unregistered or unknown 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 410e25863c9093d3f60a1f6feab1d17d38946a8d020Jean-Baptiste Queru /* 411390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * The country code can be decoded using 412390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * {@link com.android.internal.telephony.MccTable#countryCodeForMcc(int)}. 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorNumeric() { 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorNumeric; 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 419390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current network selection mode. 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if manual mode, false if automatic mode 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean getIsManualSelection() { 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mIsManualNetworkSelection; 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int hashCode() { 4290dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return ((mVoiceRegState * 31) 4300dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville + (mDataRegState * 37) 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + (mRoaming ? 1 : 0) 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + (mIsManualNetworkSelection ? 1 : 0) 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + ((null == mOperatorAlphaLong) ? 0 : mOperatorAlphaLong.hashCode()) 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + ((null == mOperatorAlphaShort) ? 0 : mOperatorAlphaShort.hashCode()) 435767a662ecde33c3979bf02b793d392aca0403162Wink Saville + ((null == mOperatorNumeric) ? 0 : mOperatorNumeric.hashCode()) 436e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + mCdmaRoamingIndicator 43756c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang + mCdmaDefaultRoamingIndicator 43856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang + (mIsEmergencyOnly ? 1 : 0)); 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean equals (Object o) { 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState s; 444767a662ecde33c3979bf02b793d392aca0403162Wink Saville 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project s = (ServiceState) o; 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException ex) { 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return false; 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return false; 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4550dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return (mVoiceRegState == s.mVoiceRegState 4560dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville && mDataRegState == s.mDataRegState 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && mRoaming == s.mRoaming 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && mIsManualNetworkSelection == s.mIsManualNetworkSelection 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && equalsHandlesNulls(mOperatorAlphaLong, s.mOperatorAlphaLong) 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && equalsHandlesNulls(mOperatorAlphaShort, s.mOperatorAlphaShort) 461767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mOperatorNumeric, s.mOperatorNumeric) 4620dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville && equalsHandlesNulls(mRilVoiceRadioTechnology, s.mRilVoiceRadioTechnology) 4630dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville && equalsHandlesNulls(mRilDataRadioTechnology, s.mRilDataRadioTechnology) 464767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mCssIndicator, s.mCssIndicator) 465767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mNetworkId, s.mNetworkId) 466767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mSystemId, s.mSystemId) 467e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville && equalsHandlesNulls(mCdmaRoamingIndicator, s.mCdmaRoamingIndicator) 468e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville && equalsHandlesNulls(mCdmaDefaultRoamingIndicator, 46956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang s.mCdmaDefaultRoamingIndicator) 47056c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang && mIsEmergencyOnly == s.mIsEmergencyOnly); 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 473db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville /** 474db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * Convert radio technology to String 475db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * 476db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @param radioTechnology 477db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @return String representation of the RAT 478db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * 479db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @hide 480db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville */ 4811434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt public static String rilRadioTechnologyToString(int rt) { 482db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville String rtString; 483db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville 484db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville switch(rt) { 4851434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_UNKNOWN: 486db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "Unknown"; 487db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 4881434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_GPRS: 489db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "GPRS"; 490db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 4911434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_EDGE: 492db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EDGE"; 493db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 4941434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_UMTS: 495db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "UMTS"; 496db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 4971434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_IS95A: 498db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "CDMA-IS95A"; 499db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5001434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_IS95B: 501db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "CDMA-IS95B"; 502db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5031434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_1xRTT: 504db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "1xRTT"; 505db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5061434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_EVDO_0: 507db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.0"; 508db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5091434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_EVDO_A: 510db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.A"; 511db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5121434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_HSDPA: 513db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSDPA"; 514db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5151434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_HSUPA: 516db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSUPA"; 517db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5181434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_HSPA: 519db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSPA"; 520db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5211434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_EVDO_B: 522db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.B"; 523db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5241434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_EHRPD: 525db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "eHRPD"; 526db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5271434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_LTE: 528db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "LTE"; 529db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5301434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_HSPAP: 531db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSPAP"; 532db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 5331434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case RIL_RADIO_TECHNOLOGY_GSM: 534fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla rtString = "GSM"; 535fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla break; 536db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville default: 537db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "Unexpected"; 538599a90c2a02645a5f2d189b9065b863397a4076eWink Saville Rlog.w(LOG_TAG, "Unexpected radioTechnology=" + rt); 539db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 540db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville } 5411434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return rtString; 542db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville } 543db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 5460dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville String radioTechnology = rilRadioTechnologyToString(mRilVoiceRadioTechnology); 5470dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville String dataRadioTechnology = rilRadioTechnologyToString(mRilDataRadioTechnology); 548767a662ecde33c3979bf02b793d392aca0403162Wink Saville 5490dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return (mVoiceRegState + " " + mDataRegState + " " + (mRoaming ? "roaming" : "home") 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorAlphaLong 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorAlphaShort 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorNumeric 553767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + (mIsManualNetworkSelection ? "(manual)" : "") 554767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + radioTechnology 5550dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville + " " + dataRadioTechnology 556767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + (mCssIndicator ? "CSS supported" : "CSS not supported") 557e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + " " + mNetworkId 558e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + " " + mSystemId 559e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " RoamInd=" + mCdmaRoamingIndicator 560e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " DefRoamInd=" + mCdmaDefaultRoamingIndicator 561e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " EmergOnly=" + mIsEmergencyOnly); 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 564a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt private void setNullState(int state) { 565599a90c2a02645a5f2d189b9065b863397a4076eWink Saville if (DBG) Rlog.d(LOG_TAG, "[ServiceState] setNullState=" + state); 5660dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mVoiceRegState = state; 5670dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mDataRegState = state; 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = false; 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = null; 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = null; 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = null; 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = false; 5730dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilVoiceRadioTechnology = 0; 5740dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilDataRadioTechnology = 0; 575767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = false; 576767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = -1; 577767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = -1; 578e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = -1; 579e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = -1; 58098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = -1; 58198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = -1; 58256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = false; 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 585a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt public void setStateOutOfService() { 586a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt setNullState(STATE_OUT_OF_SERVICE); 587a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt } 588a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setStateOff() { 590a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt setNullState(STATE_POWER_OFF); 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setState(int state) { 5940dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville setVoiceRegState(state); 595599a90c2a02645a5f2d189b9065b863397a4076eWink Saville if (DBG) Rlog.e(LOG_TAG, "[ServiceState] setState deprecated use setVoiceRegState()"); 5960dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 5970dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 5980dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 5990dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public void setVoiceRegState(int state) { 6000dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mVoiceRegState = state; 601599a90c2a02645a5f2d189b9065b863397a4076eWink Saville if (DBG) Rlog.d(LOG_TAG, "[ServiceState] setVoiceRegState=" + mVoiceRegState); 6020dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 6030dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 6040dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 6050dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public void setDataRegState(int state) { 6060dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mDataRegState = state; 607599a90c2a02645a5f2d189b9065b863397a4076eWink Saville if (DBG) Rlog.d(LOG_TAG, "[ServiceState] setDataRegState=" + mDataRegState); 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setRoaming(boolean roaming) { 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = roaming; 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61456c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 61556c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang /** 61656c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang * @hide 61756c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang */ 61856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang public void setEmergencyOnly(boolean emergencyOnly) { 61956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = emergencyOnly; 62056c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang } 62156c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 622e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 623e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 624e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 625e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void setCdmaRoamingIndicator(int roaming) { 626e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mCdmaRoamingIndicator = roaming; 627e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 628e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 629e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 630e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 631e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 632e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void setCdmaDefaultRoamingIndicator (int roaming) { 633e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mCdmaDefaultRoamingIndicator = roaming; 634767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 635767a662ecde33c3979bf02b793d392aca0403162Wink Saville 63698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 63798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 63898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 63998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public void setCdmaEriIconIndex(int index) { 64098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt this.mCdmaEriIconIndex = index; 64198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 64298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 64398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 64498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 64598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 64698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public void setCdmaEriIconMode(int mode) { 64798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt this.mCdmaEriIconMode = mode; 64898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 64998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setOperatorName(String longName, String shortName, String numeric) { 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = longName; 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = shortName; 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = numeric; 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 656e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 657390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In CDMA, mOperatorAlphaLong can be set from the ERI text. 658390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * This is done from the CDMAPhone and not from the CdmaServiceStateTracker. 659e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 660e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 661e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 662c91c7f92c9d2da557d4187fa24519f1dc1f1e2ecKazuhiro Ondo public void setOperatorAlphaLong(String longName) { 663e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mOperatorAlphaLong = longName; 664e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 665e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setIsManualSelection(boolean isManual) { 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = isManual; 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 669767a662ecde33c3979bf02b793d392aca0403162Wink Saville 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 671390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Test whether two objects hold the same data values or both are null. 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param a first obj 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param b second obj 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if two objects equal or both are null 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static boolean equalsHandlesNulls (Object a, Object b) { 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (a == null) ? (b == null) : a.equals (b); 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 682390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Set ServiceState based on intent notifier map. 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m intent notifier map 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private void setFromNotifierBundle(Bundle m) { 6880dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mVoiceRegState = m.getInt("voiceRegState"); 6890dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mDataRegState = m.getInt("dataRegState"); 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = m.getBoolean("roaming"); 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = m.getString("operator-alpha-long"); 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = m.getString("operator-alpha-short"); 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = m.getString("operator-numeric"); 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = m.getBoolean("manual"); 6950dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville mRilVoiceRadioTechnology = m.getInt("radioTechnology"); 69646401a312dd18ec738295e7796a8014f60080bf1Sungmin Choi mRilDataRadioTechnology = m.getInt("dataRadioTechnology"); 697767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = m.getBoolean("cssIndicator"); 698767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = m.getInt("networkId"); 699767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = m.getInt("systemId"); 700e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = m.getInt("cdmaRoamingIndicator"); 701e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = m.getInt("cdmaDefaultRoamingIndicator"); 70256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = m.getBoolean("emergencyOnly"); 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 706390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Set intent notifier Bundle based on service state. 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m intent notifier Bundle 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void fillInNotifierBundle(Bundle m) { 7120dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville m.putInt("voiceRegState", mVoiceRegState); 7130dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville m.putInt("dataRegState", mDataRegState); 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putBoolean("roaming", Boolean.valueOf(mRoaming)); 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-alpha-long", mOperatorAlphaLong); 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-alpha-short", mOperatorAlphaShort); 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-numeric", mOperatorNumeric); 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putBoolean("manual", Boolean.valueOf(mIsManualNetworkSelection)); 7190dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville m.putInt("radioTechnology", mRilVoiceRadioTechnology); 7200dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville m.putInt("dataRadioTechnology", mRilDataRadioTechnology); 721767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putBoolean("cssIndicator", mCssIndicator); 722767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putInt("networkId", mNetworkId); 723767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putInt("systemId", mSystemId); 724e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville m.putInt("cdmaRoamingIndicator", mCdmaRoamingIndicator); 725e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville m.putInt("cdmaDefaultRoamingIndicator", mCdmaDefaultRoamingIndicator); 72656c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang m.putBoolean("emergencyOnly", Boolean.valueOf(mIsEmergencyOnly)); 727767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 728767a662ecde33c3979bf02b793d392aca0403162Wink Saville 729767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 7300dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public void setRilVoiceRadioTechnology(int rt) { 7310dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville this.mRilVoiceRadioTechnology = rt; 7320dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 7330dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 7340dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 7350dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public void setRilDataRadioTechnology(int rt) { 7360dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville this.mRilDataRadioTechnology = rt; 737599a90c2a02645a5f2d189b9065b863397a4076eWink Saville if (DBG) Rlog.d(LOG_TAG, "[ServiceState] setDataRadioTechnology=" + mRilDataRadioTechnology); 738767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 739767a662ecde33c3979bf02b793d392aca0403162Wink Saville 740767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 741767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setCssIndicator(int css) { 742767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mCssIndicator = (css != 0); 743767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 744767a662ecde33c3979bf02b793d392aca0403162Wink Saville 745767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 746767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setSystemAndNetworkId(int systemId, int networkId) { 747767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mSystemId = systemId; 748767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mNetworkId = networkId; 749767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 750767a662ecde33c3979bf02b793d392aca0403162Wink Saville 751767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 7520dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getRilVoiceRadioTechnology() { 7530dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return this.mRilVoiceRadioTechnology; 754767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 755d13f9aa8b1d59f4d8baf21960f18f5f7dc75dad7Mathias Agopian /** @hide */ 7560dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getRilDataRadioTechnology() { 7570dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return this.mRilDataRadioTechnology; 7580dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 7590dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 7600dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @hide 7610dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @Deprecated to be removed Q3 2013 use {@link #getRilDataRadioTechnology} or 7620dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * {@link #getRilVoiceRadioTechnology} 7630dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 764d13f9aa8b1d59f4d8baf21960f18f5f7dc75dad7Mathias Agopian public int getRadioTechnology() { 765599a90c2a02645a5f2d189b9065b863397a4076eWink Saville Rlog.e(LOG_TAG, "ServiceState.getRadioTechnology() DEPRECATED will be removed *******"); 7660dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return getRilDataRadioTechnology(); 767d13f9aa8b1d59f4d8baf21960f18f5f7dc75dad7Mathias Agopian } 768767a662ecde33c3979bf02b793d392aca0403162Wink Saville 7690dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville private int rilRadioTechnologyToNetworkType(int rt) { 7700dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville switch(rt) { 7711434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_GPRS: 7721434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_GPRS; 7731434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_EDGE: 7741434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_EDGE; 7751434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_UMTS: 7761434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_UMTS; 7771434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_HSDPA: 7781434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_HSDPA; 7791434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_HSUPA: 7801434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_HSUPA; 7811434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_HSPA: 7821434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_HSPA; 7831434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_IS95A: 7841434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_IS95B: 7851434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_CDMA; 7861434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_1xRTT: 7871434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_1xRTT; 7881434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_0: 7891434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_EVDO_0; 7901434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_A: 7911434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_EVDO_A; 7921434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_B: 7931434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_EVDO_B; 7941434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD: 7951434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_EHRPD; 7961434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_LTE: 7971434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_LTE; 7981434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt case ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP: 7991434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_HSPAP; 8001434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt default: 8011434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return TelephonyManager.NETWORK_TYPE_UNKNOWN; 8021434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt } 8031434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt } 8041434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt 8050dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 8060dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @Deprecated to be removed Q3 2013 use {@link #getVoiceNetworkType} 8070dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * @hide 8080dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 8090dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getNetworkType() { 810599a90c2a02645a5f2d189b9065b863397a4076eWink Saville Rlog.e(LOG_TAG, "ServiceState.getNetworkType() DEPRECATED will be removed *******"); 8110dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return rilRadioTechnologyToNetworkType(mRilVoiceRadioTechnology); 8120dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 8130dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 8140dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 8150dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getDataNetworkType() { 8160dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return rilRadioTechnologyToNetworkType(mRilDataRadioTechnology); 8170dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 8180dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 8190dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** @hide */ 8200dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville public int getVoiceNetworkType() { 8210dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville return rilRadioTechnologyToNetworkType(mRilVoiceRadioTechnology); 8220dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville } 8230dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 8241434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt /** @hide */ 825767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getCssIndicator() { 826767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mCssIndicator ? 1 : 0; 827767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 828767a662ecde33c3979bf02b793d392aca0403162Wink Saville 829767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 830767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getNetworkId() { 831767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mNetworkId; 832767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 833767a662ecde33c3979bf02b793d392aca0403162Wink Saville 834767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 835767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getSystemId() { 836767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mSystemId; 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 838fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla 839fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** @hide */ 840fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla public static boolean isGsm(int radioTechnology) { 8411434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return radioTechnology == RIL_RADIO_TECHNOLOGY_GPRS 8421434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_EDGE 8431434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_UMTS 8441434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_HSDPA 8451434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_HSUPA 8461434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_HSPA 8471434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_LTE 8481434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_HSPAP 8491434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_GSM; 850fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla } 851fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla 852fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** @hide */ 853fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla public static boolean isCdma(int radioTechnology) { 8541434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt return radioTechnology == RIL_RADIO_TECHNOLOGY_IS95A 8551434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_IS95B 8561434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_1xRTT 8571434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_EVDO_0 8581434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_EVDO_A 8591434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_EVDO_B 8601434d7b855108cb14c210b26cabb7bdb15f31887Robert Greenwalt || radioTechnology == RIL_RADIO_TECHNOLOGY_EHRPD; 861fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla } 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 863