ServiceState.java revision fc2cbe9b46ab17a401dc50f8e0dbb677ed012299
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; 22767a662ecde33c3979bf02b793d392aca0403162Wink Savilleimport android.util.Log; 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"; 39767a662ecde33c3979bf02b793d392aca0403162Wink Saville 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Normal operation condition, the phone is registered 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with an operator either in home network or in roaming. 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_IN_SERVICE = 0; 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Phone is not registered with any operator, the phone 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can be currently searching a new operator to register to, or not 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * searching to registration at all, or registration is denied, or radio 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * signal is not available. 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_OUT_OF_SERVICE = 1; 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The phone is registered and locked. Only emergency numbers are allowed. {@more} 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_EMERGENCY_ONLY = 2; 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 60390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Radio of telephony is explicitly powered off. 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int STATE_POWER_OFF = 3; 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64767a662ecde33c3979bf02b793d392aca0403162Wink Saville 65767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 66767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Available radio technologies for GSM, UMTS and CDMA. 67767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 68767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 69767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_UNKNOWN = 0; 70767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 71767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_GPRS = 1; 72767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 73767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_EDGE = 2; 74767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 75767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_UMTS = 3; 76767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 77767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_IS95A = 4; 78767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 79767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_IS95B = 5; 80767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 81767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_1xRTT = 6; 82767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 83767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_EVDO_0 = 7; 84767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 85767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int RADIO_TECHNOLOGY_EVDO_A = 8; 86ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 87ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe public static final int RADIO_TECHNOLOGY_HSDPA = 9; 88ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 89ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe public static final int RADIO_TECHNOLOGY_HSUPA = 10; 90ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** @hide */ 91ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe public static final int RADIO_TECHNOLOGY_HSPA = 11; 920a5174a6e947d5cbeb8846a1273a90b6de065cbfNaveen Kalla /** @hide */ 930a5174a6e947d5cbeb8846a1273a90b6de065cbfNaveen Kalla public static final int RADIO_TECHNOLOGY_EVDO_B = 12; 949d7d62801ddb206d2ea96d74864a9edfe54d2eeeWink Saville /** @hide */ 95f57276154aaa587524374db8e0d7228383611bf3Ramesh Sudini public static final int RADIO_TECHNOLOGY_EHRPD = 13; 969d7d62801ddb206d2ea96d74864a9edfe54d2eeeWink Saville /** @hide */ 97f57276154aaa587524374db8e0d7228383611bf3Ramesh Sudini public static final int RADIO_TECHNOLOGY_LTE = 14; 98f57276154aaa587524374db8e0d7228383611bf3Ramesh Sudini /** @hide */ 99f57276154aaa587524374db8e0d7228383611bf3Ramesh Sudini public static final int RADIO_TECHNOLOGY_HSPAP = 15; 100fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** 101fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla * GSM radio technology only supports voice. It does not support data. 102fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla * @hide 103fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla */ 104fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla public static final int RADIO_TECHNOLOGY_GSM = 16; 105767a662ecde33c3979bf02b793d392aca0403162Wink Saville 106767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 107767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Available registration states for GSM, UMTS and CDMA. 108767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 109767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 110767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_NOT_REGISTERED_AND_NOT_SEARCHING = 0; 111767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 112767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_HOME_NETWORK = 1; 113767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 114767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_NOT_REGISTERED_AND_SEARCHING = 2; 115767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 116767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_REGISTRATION_DENIED = 3; 117767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 118767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_UNKNOWN = 4; 119767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 120767a662ecde33c3979bf02b793d392aca0403162Wink Saville public static final int REGISTRATION_STATE_ROAMING = 5; 121767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private int mState = STATE_OUT_OF_SERVICE; 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mRoaming; 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorAlphaLong; 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorAlphaShort; 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String mOperatorNumeric; 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mIsManualNetworkSelection; 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang private boolean mIsEmergencyOnly; 13056c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 131767a662ecde33c3979bf02b793d392aca0403162Wink Saville //***** CDMA 132767a662ecde33c3979bf02b793d392aca0403162Wink Saville private int mRadioTechnology; 133767a662ecde33c3979bf02b793d392aca0403162Wink Saville private boolean mCssIndicator; 134767a662ecde33c3979bf02b793d392aca0403162Wink Saville private int mNetworkId; 135767a662ecde33c3979bf02b793d392aca0403162Wink Saville private int mSystemId; 136e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private int mCdmaRoamingIndicator; 137e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private int mCdmaDefaultRoamingIndicator; 13898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt private int mCdmaEriIconIndex; 13998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt private int mCdmaEriIconMode; 140767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Create a new ServiceState from a intent notifier Bundle 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method is used by PhoneStateIntentReceiver and maybe by 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * external applications. 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m Bundle from intent notifier 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return newly created ServiceState 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static ServiceState newFromBundle(Bundle m) { 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState ret; 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ret = new ServiceState(); 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ret.setFromNotifierBundle(m); 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return ret; 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Empty constructor 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState() { 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copy constructors 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param s Source service state 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState(ServiceState s) { 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project copyFrom(s); 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void copyFrom(ServiceState s) { 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mState = s.mState; 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = s.mRoaming; 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = s.mOperatorAlphaLong; 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = s.mOperatorAlphaShort; 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = s.mOperatorNumeric; 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = s.mIsManualNetworkSelection; 180767a662ecde33c3979bf02b793d392aca0403162Wink Saville mRadioTechnology = s.mRadioTechnology; 181767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = s.mCssIndicator; 182767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = s.mNetworkId; 183767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = s.mSystemId; 184e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = s.mCdmaRoamingIndicator; 185e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = s.mCdmaDefaultRoamingIndicator; 18698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = s.mCdmaEriIconIndex; 18798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = s.mCdmaEriIconMode; 18856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = s.mIsEmergencyOnly; 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Construct a ServiceState object from the given parcel. 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState(Parcel in) { 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mState = in.readInt(); 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = in.readInt() != 0; 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = in.readString(); 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = in.readString(); 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = in.readString(); 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = in.readInt() != 0; 201767a662ecde33c3979bf02b793d392aca0403162Wink Saville mRadioTechnology = in.readInt(); 202767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = (in.readInt() != 0); 203767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = in.readInt(); 204767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = in.readInt(); 205e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = in.readInt(); 206e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = in.readInt(); 20798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = in.readInt(); 20898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = in.readInt(); 20956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = in.readInt() != 0; 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(Parcel out, int flags) { 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(mState); 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(mRoaming ? 1 : 0); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorAlphaLong); 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorAlphaShort); 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(mOperatorNumeric); 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(mIsManualNetworkSelection ? 1 : 0); 219767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mRadioTechnology); 220767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mCssIndicator ? 1 : 0); 221767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mNetworkId); 222767a662ecde33c3979bf02b793d392aca0403162Wink Saville out.writeInt(mSystemId); 223e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville out.writeInt(mCdmaRoamingIndicator); 224e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville out.writeInt(mCdmaDefaultRoamingIndicator); 22598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt out.writeInt(mCdmaEriIconIndex); 22698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt out.writeInt(mCdmaEriIconMode); 22756c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang out.writeInt(mIsEmergencyOnly ? 1 : 0); 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 234390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby public static final Parcelable.Creator<ServiceState> CREATOR = 235390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby new Parcelable.Creator<ServiceState>() { 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState createFromParcel(Parcel in) { 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ServiceState(in); 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ServiceState[] newArray(int size) { 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ServiceState[size]; 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 246390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current service state of phone 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #STATE_IN_SERVICE 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #STATE_OUT_OF_SERVICE 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #STATE_EMERGENCY_ONLY 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #STATE_POWER_OFF 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int getState() { 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mState; 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current roaming indicator of phone 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (note: not just decoding from TS 27.007 7.2) 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if TS 27.007 7.2 roaming is true 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and ONS is different from SPN 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean getRoaming() { 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mRoaming; 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 269e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 270e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 271e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 27256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang public boolean isEmergencyOnly() { 27356c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang return mIsEmergencyOnly; 27456c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang } 27556c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 27656c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang /** 27756c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang * @hide 27856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang */ 279e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaRoamingIndicator(){ 280e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return this.mCdmaRoamingIndicator; 281e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 282e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 283e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 284e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 285e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 286e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaDefaultRoamingIndicator(){ 287e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return this.mCdmaDefaultRoamingIndicator; 288767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 289767a662ecde33c3979bf02b793d392aca0403162Wink Saville 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 29198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 29298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 29398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public int getCdmaEriIconIndex() { 29498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt return this.mCdmaEriIconIndex; 29598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 29698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 29798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 29898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 29998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 30098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public int getCdmaEriIconMode() { 30198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt return this.mCdmaEriIconMode; 30298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 30398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 30498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 305390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator name in long alphanumeric format. 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 307390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In GSM/UMTS, long format can be up to 16 characters long. 308390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In CDMA, returns the ERI text, if set. Otherwise, returns the ONS. 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return long name of operator, null if unregistered or unknown 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorAlphaLong() { 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorAlphaLong; 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 317390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator name in short alphanumeric format. 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 319390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In GSM/UMTS, short format can be up to 8 characters long. 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return short name of operator, null if unregistered or unknown 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorAlphaShort() { 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorAlphaShort; 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 328390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current registered operator numeric id. 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit 331390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * network code. 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return numeric format of operator, null if unregistered or unknown 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 335e25863c9093d3f60a1f6feab1d17d38946a8d020Jean-Baptiste Queru /* 336390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * The country code can be decoded using 337390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * {@link com.android.internal.telephony.MccTable#countryCodeForMcc(int)}. 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String getOperatorNumeric() { 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mOperatorNumeric; 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 344390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Get current network selection mode. 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if manual mode, false if automatic mode 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean getIsManualSelection() { 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mIsManualNetworkSelection; 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int hashCode() { 354767a662ecde33c3979bf02b793d392aca0403162Wink Saville return ((mState * 0x1234) 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + (mRoaming ? 1 : 0) 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + (mIsManualNetworkSelection ? 1 : 0) 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + ((null == mOperatorAlphaLong) ? 0 : mOperatorAlphaLong.hashCode()) 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + ((null == mOperatorAlphaShort) ? 0 : mOperatorAlphaShort.hashCode()) 359767a662ecde33c3979bf02b793d392aca0403162Wink Saville + ((null == mOperatorNumeric) ? 0 : mOperatorNumeric.hashCode()) 360e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + mCdmaRoamingIndicator 36156c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang + mCdmaDefaultRoamingIndicator 36256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang + (mIsEmergencyOnly ? 1 : 0)); 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean equals (Object o) { 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState s; 368767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project s = (ServiceState) o; 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException ex) { 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return false; 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return false; 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 379767a662ecde33c3979bf02b793d392aca0403162Wink Saville return (mState == s.mState 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && mRoaming == s.mRoaming 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && mIsManualNetworkSelection == s.mIsManualNetworkSelection 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && equalsHandlesNulls(mOperatorAlphaLong, s.mOperatorAlphaLong) 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project && equalsHandlesNulls(mOperatorAlphaShort, s.mOperatorAlphaShort) 384767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mOperatorNumeric, s.mOperatorNumeric) 385767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mRadioTechnology, s.mRadioTechnology) 386767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mCssIndicator, s.mCssIndicator) 387767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mNetworkId, s.mNetworkId) 388767a662ecde33c3979bf02b793d392aca0403162Wink Saville && equalsHandlesNulls(mSystemId, s.mSystemId) 389e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville && equalsHandlesNulls(mCdmaRoamingIndicator, s.mCdmaRoamingIndicator) 390e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville && equalsHandlesNulls(mCdmaDefaultRoamingIndicator, 39156c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang s.mCdmaDefaultRoamingIndicator) 39256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang && mIsEmergencyOnly == s.mIsEmergencyOnly); 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 395db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville /** 396db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * Convert radio technology to String 397db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * 398db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @param radioTechnology 399db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @return String representation of the RAT 400db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * 401db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville * @hide 402db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville */ 403db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville public static String radioTechnologyToString(int rt) { 404db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville String rtString; 405db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville 406db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville switch(rt) { 407db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 0: 408db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "Unknown"; 409db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 410db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 1: 411db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "GPRS"; 412db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 413db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 2: 414db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EDGE"; 415db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 416db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 3: 417db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "UMTS"; 418db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 419db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 4: 420db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "CDMA-IS95A"; 421db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 422db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 5: 423db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "CDMA-IS95B"; 424db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 425db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 6: 426db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "1xRTT"; 427db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 428db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 7: 429db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.0"; 430db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 431db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 8: 432db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.A"; 433db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 434db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 9: 435db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSDPA"; 436db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 437db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 10: 438db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSUPA"; 439db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 440db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 11: 441db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSPA"; 442db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 443db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 12: 444db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "EvDo-rev.B"; 445db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 446db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 13: 447db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "eHRPD"; 448db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 449db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 14: 450db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "LTE"; 451db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 452db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville case 15: 453db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "HSPAP"; 454db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 455fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla case 16: 456fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla rtString = "GSM"; 457fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla break; 458db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville default: 459db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville rtString = "Unexpected"; 460db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville Log.w(LOG_TAG, "Unexpected radioTechnology=" + rt); 461db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville break; 462db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville } 463db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville return rtString + ":" + rt; 464db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville } 465db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 468db09b5db60fa05ba65662faa86422b9ec69493a1Wink Saville String radioTechnology = radioTechnologyToString(mRadioTechnology); 469767a662ecde33c3979bf02b793d392aca0403162Wink Saville 470767a662ecde33c3979bf02b793d392aca0403162Wink Saville return (mState + " " + (mRoaming ? "roaming" : "home") 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorAlphaLong 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorAlphaShort 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + mOperatorNumeric 474767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + (mIsManualNetworkSelection ? "(manual)" : "") 475767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + radioTechnology 476767a662ecde33c3979bf02b793d392aca0403162Wink Saville + " " + (mCssIndicator ? "CSS supported" : "CSS not supported") 477e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + " " + mNetworkId 478e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + " " + mSystemId 479e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " RoamInd=" + mCdmaRoamingIndicator 480e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " DefRoamInd=" + mCdmaDefaultRoamingIndicator 481e613adcc555731aab2a0684d709da3d0df97a9e5Wink Saville + " EmergOnly=" + mIsEmergencyOnly); 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 484a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt private void setNullState(int state) { 485a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt mState = state; 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = false; 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = null; 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = null; 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = null; 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = false; 491767a662ecde33c3979bf02b793d392aca0403162Wink Saville mRadioTechnology = 0; 492767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = false; 493767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = -1; 494767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = -1; 495e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = -1; 496e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = -1; 49798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconIndex = -1; 49898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt mCdmaEriIconMode = -1; 49956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = false; 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 502a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt public void setStateOutOfService() { 503a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt setNullState(STATE_OUT_OF_SERVICE); 504a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt } 505a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setStateOff() { 507a2267451ddf91cc330f4c283e86811e38328915bRobert Greenwalt setNullState(STATE_POWER_OFF); 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setState(int state) { 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mState = state; 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setRoaming(boolean roaming) { 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = roaming; 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51856c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 51956c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang /** 52056c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang * @hide 52156c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang */ 52256c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang public void setEmergencyOnly(boolean emergencyOnly) { 52356c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = emergencyOnly; 52456c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang } 52556c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang 526e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 527e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 528e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 529e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void setCdmaRoamingIndicator(int roaming) { 530e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mCdmaRoamingIndicator = roaming; 531e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 532e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 533e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 534e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 535e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 536e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void setCdmaDefaultRoamingIndicator (int roaming) { 537e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mCdmaDefaultRoamingIndicator = roaming; 538767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 539767a662ecde33c3979bf02b793d392aca0403162Wink Saville 54098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 54198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 54298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 54398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public void setCdmaEriIconIndex(int index) { 54498e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt this.mCdmaEriIconIndex = index; 54598e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 54698e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 54798e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt /** 54898e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt * @hide 54998e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt */ 55098e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt public void setCdmaEriIconMode(int mode) { 55198e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt this.mCdmaEriIconMode = mode; 55298e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt } 55398e0b146b80670b52805b4b210ef5582dad6bb68Robert Greenwalt 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setOperatorName(String longName, String shortName, String numeric) { 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = longName; 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = shortName; 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = numeric; 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 560e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 561390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * In CDMA, mOperatorAlphaLong can be set from the ERI text. 562390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * This is done from the CDMAPhone and not from the CdmaServiceStateTracker. 563e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 564e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @hide 565e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 566c91c7f92c9d2da557d4187fa24519f1dc1f1e2ecKazuhiro Ondo public void setOperatorAlphaLong(String longName) { 567e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mOperatorAlphaLong = longName; 568e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 569e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setIsManualSelection(boolean isManual) { 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = isManual; 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 573767a662ecde33c3979bf02b793d392aca0403162Wink Saville 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 575390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Test whether two objects hold the same data values or both are null. 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param a first obj 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param b second obj 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if two objects equal or both are null 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static boolean equalsHandlesNulls (Object a, Object b) { 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (a == null) ? (b == null) : a.equals (b); 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 586390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Set ServiceState based on intent notifier map. 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m intent notifier map 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private void setFromNotifierBundle(Bundle m) { 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mState = m.getInt("state"); 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mRoaming = m.getBoolean("roaming"); 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaLong = m.getString("operator-alpha-long"); 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorAlphaShort = m.getString("operator-alpha-short"); 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mOperatorNumeric = m.getString("operator-numeric"); 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIsManualNetworkSelection = m.getBoolean("manual"); 598767a662ecde33c3979bf02b793d392aca0403162Wink Saville mRadioTechnology = m.getInt("radioTechnology"); 599767a662ecde33c3979bf02b793d392aca0403162Wink Saville mCssIndicator = m.getBoolean("cssIndicator"); 600767a662ecde33c3979bf02b793d392aca0403162Wink Saville mNetworkId = m.getInt("networkId"); 601767a662ecde33c3979bf02b793d392aca0403162Wink Saville mSystemId = m.getInt("systemId"); 602e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaRoamingIndicator = m.getInt("cdmaRoamingIndicator"); 603e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mCdmaDefaultRoamingIndicator = m.getInt("cdmaDefaultRoamingIndicator"); 60456c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang mIsEmergencyOnly = m.getBoolean("emergencyOnly"); 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 608390de220248d05ccb9dc10a197700ad3c1595937Jake Hamby * Set intent notifier Bundle based on service state. 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param m intent notifier Bundle 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void fillInNotifierBundle(Bundle m) { 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putInt("state", mState); 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putBoolean("roaming", Boolean.valueOf(mRoaming)); 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-alpha-long", mOperatorAlphaLong); 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-alpha-short", mOperatorAlphaShort); 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putString("operator-numeric", mOperatorNumeric); 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m.putBoolean("manual", Boolean.valueOf(mIsManualNetworkSelection)); 620767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putInt("radioTechnology", mRadioTechnology); 621767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putBoolean("cssIndicator", mCssIndicator); 622767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putInt("networkId", mNetworkId); 623767a662ecde33c3979bf02b793d392aca0403162Wink Saville m.putInt("systemId", mSystemId); 624e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville m.putInt("cdmaRoamingIndicator", mCdmaRoamingIndicator); 625e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville m.putInt("cdmaDefaultRoamingIndicator", mCdmaDefaultRoamingIndicator); 62656c2d2ff27536a1d8edf0037cd41ff3ea3272fd9John Wang m.putBoolean("emergencyOnly", Boolean.valueOf(mIsEmergencyOnly)); 627767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 628767a662ecde33c3979bf02b793d392aca0403162Wink Saville 629767a662ecde33c3979bf02b793d392aca0403162Wink Saville //***** CDMA 630767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 631767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setRadioTechnology(int state) { 632767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mRadioTechnology = state; 633767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 634767a662ecde33c3979bf02b793d392aca0403162Wink Saville 635767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 636767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setCssIndicator(int css) { 637767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mCssIndicator = (css != 0); 638767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 639767a662ecde33c3979bf02b793d392aca0403162Wink Saville 640767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 641767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setSystemAndNetworkId(int systemId, int networkId) { 642767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mSystemId = systemId; 643767a662ecde33c3979bf02b793d392aca0403162Wink Saville this.mNetworkId = networkId; 644767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 645767a662ecde33c3979bf02b793d392aca0403162Wink Saville 646767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 647767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getRadioTechnology() { 648767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mRadioTechnology; 649767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 650767a662ecde33c3979bf02b793d392aca0403162Wink Saville 651767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 652767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getCssIndicator() { 653767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mCssIndicator ? 1 : 0; 654767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 655767a662ecde33c3979bf02b793d392aca0403162Wink Saville 656767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 657767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getNetworkId() { 658767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mNetworkId; 659767a662ecde33c3979bf02b793d392aca0403162Wink Saville } 660767a662ecde33c3979bf02b793d392aca0403162Wink Saville 661767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** @hide */ 662767a662ecde33c3979bf02b793d392aca0403162Wink Saville public int getSystemId() { 663767a662ecde33c3979bf02b793d392aca0403162Wink Saville return this.mSystemId; 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 665fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla 666fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** @hide */ 667fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla public static boolean isGsm(int radioTechnology) { 668fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla return radioTechnology == RADIO_TECHNOLOGY_GPRS 669fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_EDGE 670fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_UMTS 671fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_HSDPA 672fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_HSUPA 673fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_HSPA 674fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_LTE 675fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_HSPAP 676fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_GSM; 677fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla } 678fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla 679fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla /** @hide */ 680fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla public static boolean isCdma(int radioTechnology) { 681fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla return radioTechnology == RADIO_TECHNOLOGY_IS95A 682fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_IS95B 683fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_1xRTT 684fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_EVDO_0 685fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_EVDO_A 686fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_EVDO_B 687fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla || radioTechnology == RADIO_TECHNOLOGY_EHRPD; 688fc2cbe9b46ab17a401dc50f8e0dbb677ed012299Naveen Kalla } 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 690