DefaultPhoneNotifier.java revision cbaa45bbf2cab852b6c9c3a887e9f803d4e857ea
10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.LinkCapabilities; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.LinkProperties; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Bundle; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.RemoteException; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.ServiceManager; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.CellInfo; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.ServiceState; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.TelephonyManager; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.ITelephonyRegistry; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 30ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Savilleimport java.util.List; 31ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * broadcast intents 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class DefaultPhoneNotifier implements PhoneNotifier { 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private ITelephonyRegistry mRegistry; 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /*package*/ 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DefaultPhoneNotifier() { 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry = ITelephonyRegistry.Stub.asInterface(ServiceManager.getService( 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "telephony.registry")); 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 45cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyPhoneState(Phone sender) { 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Call ringingCall = sender.getRingingCall(); 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String incomingNumber = ""; 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (ringingCall != null && ringingCall.getEarliestConnection() != null){ 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville incomingNumber = ringingCall.getEarliestConnection().getAddress(); 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyCallState(convertCallState(sender.getState()), incomingNumber); 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 59cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyServiceState(Phone sender) { 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ServiceState ss = sender.getServiceState(); 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (ss == null) { 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ss = new ServiceState(); 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ss.setStateOutOfService(); 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyServiceState(ss); 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 73cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifySignalStrength(Phone sender) { 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifySignalStrength(sender.getSignalStrength()); 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 82cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyMessageWaitingChanged(Phone sender) { 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyMessageWaitingChanged(sender.getMessageWaitingIndicator()); 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 91cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyCallForwardingChanged(Phone sender) { 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyCallForwardingChanged(sender.getCallForwardingIndicator()); 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 100cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyDataActivity(Phone sender) { 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyDataActivity(convertDataActivityState(sender.getDataActivityState())); 1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 109cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyDataConnection(Phone sender, String reason, String apnType, 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PhoneConstants.DataState state) { 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville doNotifyDataConnection(sender, reason, apnType, state); 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private void doNotifyDataConnection(Phone sender, String reason, String apnType, 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PhoneConstants.DataState state) { 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // TODO 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // use apnType as the key to which connection we're talking about. 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // pass apnType back up to fetch particular for this one. 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville TelephonyManager telephony = TelephonyManager.getDefault(); 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LinkProperties linkProperties = null; 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LinkCapabilities linkCapabilities = null; 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean roaming = false; 1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (state == PhoneConstants.DataState.CONNECTED) { 1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville linkProperties = sender.getLinkProperties(apnType); 1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville linkCapabilities = sender.getLinkCapabilities(apnType); 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ServiceState ss = sender.getServiceState(); 1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (ss != null) roaming = ss.getRoaming(); 1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyDataConnection( 1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville convertDataState(state), 1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville sender.isDataConnectivityPossible(apnType), reason, 1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville sender.getActiveApnHost(apnType), 1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville apnType, 1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville linkProperties, 1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville linkCapabilities, 1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ((telephony!=null) ? telephony.getNetworkType() : 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville TelephonyManager.NETWORK_TYPE_UNKNOWN), 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville roaming); 1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 148cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyDataConnectionFailed(Phone sender, String reason, String apnType) { 1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyDataConnectionFailed(reason, apnType); 1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 157cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyCellLocation(Phone sender) { 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Bundle data = new Bundle(); 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville sender.getCellLocation().fillInNotifierBundle(data); 1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyCellLocation(data); 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 168cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 169ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville public void notifyCellInfo(Phone sender, List<CellInfo> cellInfo) { 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyCellInfo(cellInfo); 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 177cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyOtaspChanged(Phone sender, int otaspMode) { 1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mRegistry.notifyOtaspChanged(otaspMode); 1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (RemoteException ex) { 1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // system process is dead 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 187cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the {@link PhoneConstants.State} enum into the TelephonyManager.CALL_STATE_* 188cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * constants for the public API. 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static int convertCallState(PhoneConstants.State state) { 1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case RINGING: 1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.CALL_STATE_RINGING; 1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case OFFHOOK: 1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.CALL_STATE_OFFHOOK; 1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.CALL_STATE_IDLE; 1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 202cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the TelephonyManager.CALL_STATE_* constants into the 203cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * {@link PhoneConstants.State} enum for the public API. 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static PhoneConstants.State convertCallState(int state) { 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.CALL_STATE_RINGING: 2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.State.RINGING; 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.CALL_STATE_OFFHOOK: 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.State.OFFHOOK; 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.State.IDLE; 2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 217cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the {@link PhoneConstants.DataState} enum into the TelephonyManager.DATA_* constants 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the public API. 2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static int convertDataState(PhoneConstants.DataState state) { 2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case CONNECTING: 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_CONNECTING; 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case CONNECTED: 2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_CONNECTED; 2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case SUSPENDED: 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_SUSPENDED; 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_DISCONNECTED; 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 234cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the TelephonyManager.DATA_* constants into {@link PhoneConstants.DataState} enum 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the public API. 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static PhoneConstants.DataState convertDataState(int state) { 2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_CONNECTING: 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.DataState.CONNECTING; 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_CONNECTED: 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.DataState.CONNECTED; 2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_SUSPENDED: 2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.DataState.SUSPENDED; 2450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return PhoneConstants.DataState.DISCONNECTED; 2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 251cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the {@link Phone.DataActivityState} enum into the TelephonyManager.DATA_* constants 2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the public API. 2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static int convertDataActivityState(Phone.DataActivityState state) { 2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 2560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case DATAIN: 2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_ACTIVITY_IN; 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case DATAOUT: 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_ACTIVITY_OUT; 2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case DATAINANDOUT: 2610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_ACTIVITY_INOUT; 2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case DORMANT: 2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_ACTIVITY_DORMANT; 2640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return TelephonyManager.DATA_ACTIVITY_NONE; 2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 270cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Convert the TelephonyManager.DATA_* constants into the {@link Phone.DataActivityState} enum 2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the public API. 2720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Phone.DataActivityState convertDataActivityState(int state) { 2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch (state) { 2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_ACTIVITY_IN: 2760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return Phone.DataActivityState.DATAIN; 2770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_ACTIVITY_OUT: 2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return Phone.DataActivityState.DATAOUT; 2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_ACTIVITY_INOUT: 2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return Phone.DataActivityState.DATAINANDOUT; 2810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case TelephonyManager.DATA_ACTIVITY_DORMANT: 2820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return Phone.DataActivityState.DORMANT; 2830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 2840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return Phone.DataActivityState.NONE; 2850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 288