BaseCommands.java revision 1260f1c6c909f2940989b72afe1b91fd83845eaa
10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 31260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony; 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.RegistrantList; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Registrant; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Handler; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.AsyncResult; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.TelephonyManager; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic abstract class BaseCommands implements CommandsInterface { 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville //***** Instance Variables 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Context mContext; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RadioState mState = RadioState.RADIO_UNAVAILABLE; 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Object mStateMonitor = new Object(); 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mRadioStateChangedRegistrants = new RegistrantList(); 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mOnRegistrants = new RegistrantList(); 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mAvailRegistrants = new RegistrantList(); 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mOffOrNotAvailRegistrants = new RegistrantList(); 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mNotAvailRegistrants = new RegistrantList(); 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mCallStateRegistrants = new RegistrantList(); 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mVoiceNetworkStateRegistrants = new RegistrantList(); 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mDataNetworkStateRegistrants = new RegistrantList(); 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mVoiceRadioTechChangedRegistrants = new RegistrantList(); 461260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa protected RegistrantList mImsNetworkStateChangedRegistrants = new RegistrantList(); 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mIccStatusChangedRegistrants = new RegistrantList(); 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mVoicePrivacyOnRegistrants = new RegistrantList(); 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mVoicePrivacyOffRegistrants = new RegistrantList(); 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mUnsolOemHookRawRegistrant; 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mOtaProvisionRegistrants = new RegistrantList(); 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mCallWaitingInfoRegistrants = new RegistrantList(); 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mDisplayInfoRegistrants = new RegistrantList(); 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mSignalInfoRegistrants = new RegistrantList(); 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mNumberInfoRegistrants = new RegistrantList(); 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mRedirNumInfoRegistrants = new RegistrantList(); 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mLineControlInfoRegistrants = new RegistrantList(); 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mT53ClirInfoRegistrants = new RegistrantList(); 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mT53AudCntrlInfoRegistrants = new RegistrantList(); 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mRingbackToneRegistrants = new RegistrantList(); 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mResendIncallMuteRegistrants = new RegistrantList(); 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mCdmaSubscriptionChangedRegistrants = new RegistrantList(); 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mCdmaPrlChangedRegistrants = new RegistrantList(); 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mExitEmergencyCallbackModeRegistrants = new RegistrantList(); 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mRilConnectedRegistrants = new RegistrantList(); 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected RegistrantList mIccRefreshRegistrants = new RegistrantList(); 675fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville protected RegistrantList mRilCellInfoListRegistrants = new RegistrantList(); 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mGsmSmsRegistrant; 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mCdmaSmsRegistrant; 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mNITZTimeRegistrant; 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mSignalStrengthRegistrant; 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mUSSDRegistrant; 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mSmsOnSimRegistrant; 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mSmsStatusRegistrant; 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mSsnRegistrant; 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mCatSessionEndRegistrant; 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mCatProCmdRegistrant; 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mCatEventRegistrant; 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mCatCallSetUpRegistrant; 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mIccSmsFullRegistrant; 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mEmergencyCallbackModeRegistrant; 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mRingRegistrant; 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mRestrictedStateRegistrant; 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected Registrant mGsmBroadcastSmsRegistrant; 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Preferred network type received from PhoneFactory. 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // This is used when establishing a connection to the 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // vendor ril so it starts up in the correct mode. 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected int mPreferredNetworkType; 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // CDMA subscription received from PhoneFactory 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected int mCdmaSubscription; 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Type of Phone, GSM or CDMA. Set by CDMAPhone or GSMPhone. 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected int mPhoneType; 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // RIL Version 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected int mRilVersion = -1; 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public BaseCommands(Context context) { 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mContext = context; // May be null (if so we won't log statistics) 1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville //***** CommandsInterface implementation 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 104cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public RadioState getRadioState() { 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mState; 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 109cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForRadioStateChanged(Handler h, int what, Object obj) { 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRadioStateChangedRegistrants.add(r); 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(); 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 119cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForRadioStateChanged(Handler h) { 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRadioStateChangedRegistrants.remove(h); 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1261260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa public void registerForImsNetworkStateChanged(Handler h, int what, Object obj) { 1271260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa Registrant r = new Registrant (h, what, obj); 1281260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa mImsNetworkStateChangedRegistrants.add(r); 1291260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa } 1301260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa 1311260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa public void unregisterForImsNetworkStateChanged(Handler h) { 1321260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa mImsNetworkStateChangedRegistrants.remove(h); 1331260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa } 1341260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa 135cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForOn(Handler h, int what, Object obj) { 1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOnRegistrants.add(r); 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mState.isOn()) { 1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(new AsyncResult(null, null, null)); 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 147cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForOn(Handler h) { 1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOnRegistrants.remove(h); 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 155cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForAvailable(Handler h, int what, Object obj) { 1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mAvailRegistrants.add(r); 1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mState.isAvailable()) { 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(new AsyncResult(null, null, null)); 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 168cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForAvailable(Handler h) { 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized(mStateMonitor) { 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mAvailRegistrants.remove(h); 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 175cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForNotAvailable(Handler h, int what, Object obj) { 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNotAvailRegistrants.add(r); 1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (!mState.isAvailable()) { 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(new AsyncResult(null, null, null)); 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 188cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForNotAvailable(Handler h) { 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNotAvailRegistrants.remove(h); 1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 195cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForOffOrNotAvailable(Handler h, int what, Object obj) { 1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOffOrNotAvailRegistrants.add(r); 2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mState == RadioState.RADIO_OFF || !mState.isAvailable()) { 2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(new AsyncResult(null, null, null)); 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 207cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForOffOrNotAvailable(Handler h) { 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized(mStateMonitor) { 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOffOrNotAvailRegistrants.remove(h); 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 214cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForCallStateChanged(Handler h, int what, Object obj) { 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCallStateRegistrants.add(r); 2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 221cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForCallStateChanged(Handler h) { 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCallStateRegistrants.remove(h); 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 226cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForVoiceNetworkStateChanged(Handler h, int what, Object obj) { 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoiceNetworkStateRegistrants.add(r); 2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 233cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForVoiceNetworkStateChanged(Handler h) { 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoiceNetworkStateRegistrants.remove(h); 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 238cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForDataNetworkStateChanged(Handler h, int what, Object obj) { 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mDataNetworkStateRegistrants.add(r); 2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 245cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForDataNetworkStateChanged(Handler h) { 2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mDataNetworkStateRegistrants.remove(h); 2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 250cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForVoiceRadioTechChanged(Handler h, int what, Object obj) { 2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoiceRadioTechChangedRegistrants.add(r); 2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 256cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForVoiceRadioTechChanged(Handler h) { 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoiceRadioTechChangedRegistrants.remove(h); 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 261cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForIccStatusChanged(Handler h, int what, Object obj) { 2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 2640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccStatusChangedRegistrants.add(r); 2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 267cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForIccStatusChanged(Handler h) { 2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccStatusChangedRegistrants.remove(h); 2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 272cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnNewGsmSms(Handler h, int what, Object obj) { 2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mGsmSmsRegistrant = new Registrant (h, what, obj); 2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 277cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnNewGsmSms(Handler h) { 2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mGsmSmsRegistrant.clear(); 2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 282cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnNewCdmaSms(Handler h, int what, Object obj) { 2840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaSmsRegistrant = new Registrant (h, what, obj); 2850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 287cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnNewCdmaSms(Handler h) { 2890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaSmsRegistrant.clear(); 2900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 292cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnNewGsmBroadcastSms(Handler h, int what, Object obj) { 2940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mGsmBroadcastSmsRegistrant = new Registrant (h, what, obj); 2950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 297cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 2980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnNewGsmBroadcastSms(Handler h) { 2990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mGsmBroadcastSmsRegistrant.clear(); 3000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 302cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnSmsOnSim(Handler h, int what, Object obj) { 3040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSmsOnSimRegistrant = new Registrant (h, what, obj); 3050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 307cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnSmsOnSim(Handler h) { 3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSmsOnSimRegistrant.clear(); 3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 312cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnSmsStatus(Handler h, int what, Object obj) { 3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSmsStatusRegistrant = new Registrant (h, what, obj); 3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 317cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnSmsStatus(Handler h) { 3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSmsStatusRegistrant.clear(); 3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 322cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnSignalStrengthUpdate(Handler h, int what, Object obj) { 3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSignalStrengthRegistrant = new Registrant (h, what, obj); 3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 327cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnSignalStrengthUpdate(Handler h) { 3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSignalStrengthRegistrant.clear(); 3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 332cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnNITZTime(Handler h, int what, Object obj) { 3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNITZTimeRegistrant = new Registrant (h, what, obj); 3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 337cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnNITZTime(Handler h) { 3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNITZTimeRegistrant.clear(); 3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 342cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnUSSD(Handler h, int what, Object obj) { 3440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mUSSDRegistrant = new Registrant (h, what, obj); 3450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 347cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnUSSD(Handler h) { 3490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mUSSDRegistrant.clear(); 3500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 352cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnSuppServiceNotification(Handler h, int what, Object obj) { 3540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSsnRegistrant = new Registrant (h, what, obj); 3550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 357cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnSuppServiceNotification(Handler h) { 3590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSsnRegistrant.clear(); 3600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 362cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnCatSessionEnd(Handler h, int what, Object obj) { 3640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatSessionEndRegistrant = new Registrant (h, what, obj); 3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 367cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnCatSessionEnd(Handler h) { 3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatSessionEndRegistrant.clear(); 3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 372cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnCatProactiveCmd(Handler h, int what, Object obj) { 3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatProCmdRegistrant = new Registrant (h, what, obj); 3750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 377cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnCatProactiveCmd(Handler h) { 3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatProCmdRegistrant.clear(); 3800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 382cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnCatEvent(Handler h, int what, Object obj) { 3840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatEventRegistrant = new Registrant (h, what, obj); 3850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 387cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnCatEvent(Handler h) { 3890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatEventRegistrant.clear(); 3900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 392cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnCatCallSetUp(Handler h, int what, Object obj) { 3940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatCallSetUpRegistrant = new Registrant (h, what, obj); 3950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 397cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 3980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnCatCallSetUp(Handler h) { 3990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCatCallSetUpRegistrant.clear(); 4000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 402cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnIccSmsFull(Handler h, int what, Object obj) { 4040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccSmsFullRegistrant = new Registrant (h, what, obj); 4050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 407cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnIccSmsFull(Handler h) { 4090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccSmsFullRegistrant.clear(); 4100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 412cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForIccRefresh(Handler h, int what, Object obj) { 4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccRefreshRegistrants.add(r); 4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 417cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnIccRefresh(Handler h, int what, Object obj) { 4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville registerForIccRefresh(h, what, obj); 4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 422cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setEmergencyCallbackMode(Handler h, int what, Object obj) { 4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mEmergencyCallbackModeRegistrant = new Registrant (h, what, obj); 4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 427cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForIccRefresh(Handler h) { 4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccRefreshRegistrants.remove(h); 4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 431cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unsetOnIccRefresh(Handler h) { 4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville unregisterForIccRefresh(h); 4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 436cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnCallRing(Handler h, int what, Object obj) { 4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRingRegistrant = new Registrant (h, what, obj); 4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 441cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnCallRing(Handler h) { 4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRingRegistrant.clear(); 4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 446cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj) { 4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoicePrivacyOnRegistrants.add(r); 4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 452cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForInCallVoicePrivacyOn(Handler h){ 4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoicePrivacyOnRegistrants.remove(h); 4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 457cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj) { 4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoicePrivacyOffRegistrants.add(r); 4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 463cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForInCallVoicePrivacyOff(Handler h){ 4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mVoicePrivacyOffRegistrants.remove(h); 4660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 468cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnRestrictedStateChanged(Handler h, int what, Object obj) { 4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRestrictedStateRegistrant = new Registrant (h, what, obj); 4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 473cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnRestrictedStateChanged(Handler h) { 4750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRestrictedStateRegistrant.clear(); 4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 478cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForDisplayInfo(Handler h, int what, Object obj) { 4800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mDisplayInfoRegistrants.add(r); 4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 484cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForDisplayInfo(Handler h) { 4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mDisplayInfoRegistrants.remove(h); 4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 489cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForCallWaitingInfo(Handler h, int what, Object obj) { 4910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 4920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCallWaitingInfoRegistrants.add(r); 4930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 495cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 4960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForCallWaitingInfo(Handler h) { 4970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCallWaitingInfoRegistrants.remove(h); 4980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 500cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForSignalInfo(Handler h, int what, Object obj) { 5020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSignalInfoRegistrants.add(r); 5040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setOnUnsolOemHookRaw(Handler h, int what, Object obj) { 5070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mUnsolOemHookRawRegistrant = new Registrant (h, what, obj); 5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unSetOnUnsolOemHookRaw(Handler h) { 5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mUnsolOemHookRawRegistrant.clear(); 5120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 514cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForSignalInfo(Handler h) { 5160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mSignalInfoRegistrants.remove(h); 5170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 519cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForCdmaOtaProvision(Handler h,int what, Object obj){ 5210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOtaProvisionRegistrants.add(r); 5230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 525cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForCdmaOtaProvision(Handler h){ 5270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOtaProvisionRegistrants.remove(h); 5280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 530cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForNumberInfo(Handler h,int what, Object obj) { 5320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNumberInfoRegistrants.add(r); 5340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 536cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForNumberInfo(Handler h){ 5380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNumberInfoRegistrants.remove(h); 5390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 541cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 542cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville public void registerForRedirectedNumberInfo(Handler h,int what, Object obj) { 5430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRedirNumInfoRegistrants.add(r); 5450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 547cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForRedirectedNumberInfo(Handler h) { 5490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRedirNumInfoRegistrants.remove(h); 5500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 552cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForLineControlInfo(Handler h, int what, Object obj) { 5540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mLineControlInfoRegistrants.add(r); 5560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 558cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForLineControlInfo(Handler h) { 5600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mLineControlInfoRegistrants.remove(h); 5610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 563cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerFoT53ClirlInfo(Handler h,int what, Object obj) { 5650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mT53ClirInfoRegistrants.add(r); 5670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 569cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForT53ClirInfo(Handler h) { 5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mT53ClirInfoRegistrants.remove(h); 5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 574cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForT53AudioControlInfo(Handler h,int what, Object obj) { 5760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mT53AudCntrlInfoRegistrants.add(r); 5780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 580cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForT53AudioControlInfo(Handler h) { 5820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mT53AudCntrlInfoRegistrants.remove(h); 5830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 585cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForRingbackTone(Handler h, int what, Object obj) { 5870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRingbackToneRegistrants.add(r); 5890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 591cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForRingbackTone(Handler h) { 5930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRingbackToneRegistrants.remove(h); 5940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 596cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 5970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForResendIncallMute(Handler h, int what, Object obj) { 5980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 5990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mResendIncallMuteRegistrants.add(r); 6000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 602cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 6030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForResendIncallMute(Handler h) { 6040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mResendIncallMuteRegistrants.remove(h); 6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForCdmaSubscriptionChanged(Handler h, int what, Object obj) { 6090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 6100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaSubscriptionChangedRegistrants.add(r); 6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForCdmaSubscriptionChanged(Handler h) { 6150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaSubscriptionChangedRegistrants.remove(h); 6160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForCdmaPrlChanged(Handler h, int what, Object obj) { 6200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 6210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaPrlChangedRegistrants.add(r); 6220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForCdmaPrlChanged(Handler h) { 6260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCdmaPrlChangedRegistrants.remove(h); 6270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForExitEmergencyCallbackMode(Handler h, int what, Object obj) { 6310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 6320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mExitEmergencyCallbackModeRegistrants.add(r); 6330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForExitEmergencyCallbackMode(Handler h) { 6370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mExitEmergencyCallbackModeRegistrants.remove(h); 6380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@inheritDoc} 6420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForRilConnected(Handler h, int what, Object obj) { 6450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Registrant r = new Registrant (h, what, obj); 6460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRilConnectedRegistrants.add(r); 6470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mRilVersion != -1) { 6480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville r.notifyRegistrant(new AsyncResult(null, new Integer(mRilVersion), null)); 6490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForRilConnected(Handler h) { 6540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRilConnectedRegistrants.remove(h); 6550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@inheritDoc} 6590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 6610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setCurrentPreferredNetworkType() { 6620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville //***** Protected Methods 6650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Store new RadioState and send notification based on the changes 6670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * This function is called only by RIL.java when receiving unsolicited 6690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED 6700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * RadioState has 3 values : RADIO_OFF, RADIO_UNAVAILABLE, RADIO_ON. 6720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param newState new RadioState decoded from RIL_UNSOL_RADIO_STATE_CHANGED 6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected void setRadioState(RadioState newState) { 6760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville RadioState oldState; 6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville synchronized (mStateMonitor) { 6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville oldState = mState; 6800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mState = newState; 6810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (oldState == mState) { 6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // no state transition 6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return; 6850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRadioStateChangedRegistrants.notifyRegistrants(); 6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mState.isAvailable() && !oldState.isAvailable()) { 6900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mAvailRegistrants.notifyRegistrants(); 6910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville onRadioAvailable(); 6920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (!mState.isAvailable() && oldState.isAvailable()) { 6950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mNotAvailRegistrants.notifyRegistrants(); 6960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (mState.isOn() && !oldState.isOn()) { 6990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOnRegistrants.notifyRegistrants(); 7000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if ((!mState.isOn() || !mState.isAvailable()) 7030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville && !((!oldState.isOn() || !oldState.isAvailable())) 7040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ) { 7050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mOffOrNotAvailRegistrants.notifyRegistrants(); 7060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville protected void onRadioAvailable() { 7110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@inheritDoc} 7150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 7170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int getLteOnCdmaMode() { 7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.getLteOnCdmaModeStatic(); 7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7215fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville /** 7225fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville * {@inheritDoc} 7235fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville */ 7245fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville @Override 7255fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville public void registerForCellInfoList(Handler h, int what, Object obj) { 7265fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville Registrant r = new Registrant (h, what, obj); 7275fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville mRilCellInfoListRegistrants.add(r); 7285fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville } 7295fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville @Override 7305fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville public void unregisterForCellInfoList(Handler h) { 7315fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville mRilCellInfoListRegistrants.remove(h); 7325fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville } 7335fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville 7340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 7350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void testingEmergencyCall() {} 7361de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville 7371de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville @Override 7381de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville public int getRilVersion() { 7391de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville return mRilVersion; 7401de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville } 7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 742