public DataActivityState getDataActivityState() { DataActivityState ret = DataActivityState.NONE; if (mSST.getCurrentGprsState() == ServiceState.STATE_IN_SERVICE) { switch (mDataConnection.getActivity()) { case DATAIN: ret = DataActivityState.DATAIN; break; case DATAOUT: ret = DataActivityState.DATAOUT; break; case DATAINANDOUT: ret = DataActivityState.DATAINANDOUT; break; } } return ret; }
public DataState getDataConnectionState() { DataState ret = DataState.DISCONNECTED; if (mSST == null) { // Radio Technology Change is ongoning, dispose() and removeReferences() have // already been called ret = DataState.DISCONNECTED; } else if (mSST.getCurrentGprsState() != ServiceState.STATE_IN_SERVICE) { // If we're out of service, open TCP sockets may still work // but no data will flow ret = DataState.DISCONNECTED; } else { /* mSST.gprsState == ServiceState.STATE_IN_SERVICE */ switch (mDataConnection.getState()) { case FAILED: case IDLE: ret = DataState.DISCONNECTED; break; case CONNECTED: case DISCONNECTING: if (mCT.state != Phone.State.IDLE && !mSST.isConcurrentVoiceAndData()) { ret = DataState.SUSPENDED; } else { ret = DataState.CONNECTED; } break; case INITING: case CONNECTING: case SCANNING: ret = DataState.CONNECTING; break; } } return ret; }