Loading telephony/java/android/telephony/ServiceState.java +69 −54 Original line number Diff line number Diff line Loading @@ -387,62 +387,77 @@ public class ServiceState implements Parcelable { && mIsEmergencyOnly == s.mIsEmergencyOnly); } @Override public String toString() { String radioTechnology = new String("Error in radioTechnology"); switch(this.mRadioTechnology) { /** * Convert radio technology to String * * @param radioTechnology * @return String representation of the RAT * * @hide */ public static String radioTechnologyToString(int rt) { String rtString; switch(rt) { case 0: radioTechnology = "Unknown"; rtString = "Unknown"; break; case 1: radioTechnology = "GPRS"; rtString = "GPRS"; break; case 2: radioTechnology = "EDGE"; rtString = "EDGE"; break; case 3: radioTechnology = "UMTS"; rtString = "UMTS"; break; case 4: radioTechnology = "IS95A"; rtString = "CDMA-IS95A"; break; case 5: radioTechnology = "IS95B"; rtString = "CDMA-IS95B"; break; case 6: radioTechnology = "1xRTT"; rtString = "1xRTT"; break; case 7: radioTechnology = "EvDo rev. 0"; rtString = "EvDo-rev.0"; break; case 8: radioTechnology = "EvDo rev. A"; rtString = "EvDo-rev.A"; break; case 9: radioTechnology = "HSDPA"; rtString = "HSDPA"; break; case 10: radioTechnology = "HSUPA"; rtString = "HSUPA"; break; case 11: radioTechnology = "HSPA"; rtString = "HSPA"; break; case 12: radioTechnology = "EvDo rev. B"; rtString = "EvDo-rev.B"; break; case 13: radioTechnology = "eHRPD"; rtString = "eHRPD"; break; case 14: radioTechnology = "LTE"; rtString = "LTE"; break; case 15: radioTechnology = "HSPAP"; rtString = "HSPAP"; break; default: Log.w(LOG_TAG, "mRadioTechnology variable out of range."); rtString = "Unexpected"; Log.w(LOG_TAG, "Unexpected radioTechnology=" + rt); break; } return rtString + ":" + rt; } @Override public String toString() { String radioTechnology = radioTechnologyToString(mRadioTechnology); return (mState + " " + (mRoaming ? "roaming" : "home") + " " + mOperatorAlphaLong Loading telephony/java/com/android/internal/telephony/ServiceStateTracker.java +6 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,12 @@ public abstract class ServiceStateTracker extends Handler { protected int[] pollingContext; protected boolean mDesiredPowerState; /** * Values correspond to ServiceState.RADIO_TECHNOLOGY_ definitions. */ protected int mRadioTechnology = 0; protected int mNewRadioTechnology = 0; /** * By default, strength polling is enabled. However, if we're * getting unsolicited signal strength updates from the radio, set Loading telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +18 −42 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.Registrant; import android.os.RegistrantList; import android.os.AsyncResult; import android.os.Message; import android.os.SystemProperties; import android.util.Log; import android.util.EventLog; Loading Loading @@ -72,6 +73,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { handlePollStateResult(msg.what, ar); break; case EVENT_SIM_READY: if (DBG) log("handleMessage EVENT_SIM_READY"); isSubscriptionFromRuim = false; cm.getCDMASubscription( obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); pollState(); Loading Loading @@ -186,39 +188,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { } } protected static String networkTypeToString(int type) { String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_IS95A: case ServiceState.RADIO_TECHNOLOGY_IS95B: ret = "CDMA"; break; case ServiceState.RADIO_TECHNOLOGY_1xRTT: ret = "CDMA - 1xRTT"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_0: ret = "CDMA - EvDo rev. 0"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_A: ret = "CDMA - EvDo rev. A"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_B: ret = "CDMA - EvDo rev. B"; break; case ServiceState.RADIO_TECHNOLOGY_LTE: ret = "LTE"; break; case ServiceState.RADIO_TECHNOLOGY_EHRPD: ret = "CDMA - eHRPD"; break; default: sloge("networkTypeToString: Wrong network, can not return a string."); break; } return ret; } @Override protected void pollStateDone() { // determine data NetworkType from both LET and CDMA SS Loading Loading @@ -282,13 +251,20 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { (newNetworkType <= ServiceState.RADIO_TECHNOLOGY_EVDO_A)); if (DBG) { log("pollStateDone: hasRegistered = " + hasRegistered + " hasCdmaDataConnectionAttached = " + hasCdmaDataConnectionAttached + " hasCdmaDataConnectionChanged = " + hasCdmaDataConnectionChanged + " hasNetworkTypeChanged = " + hasNetworkTypeChanged + " has4gHandoff = " + has4gHandoff + " hasMultiApnSupport = " + hasMultiApnSupport + " hasLostMultiApnSupport = " + hasLostMultiApnSupport); log("pollStateDone:" + " hasRegistered=" + hasRegistered + " hasDeegistered=" + hasDeregistered + " hasCdmaDataConnectionAttached=" + hasCdmaDataConnectionAttached + " hasCdmaDataConnectionDetached=" + hasCdmaDataConnectionDetached + " hasCdmaDataConnectionChanged=" + hasCdmaDataConnectionChanged + " hasNetworkTypeChanged = " + hasNetworkTypeChanged + " hasChanged=" + hasChanged + " hasRoamingOn=" + hasRoamingOn + " hasRoamingOff=" + hasRoamingOff + " hasLocationChanged=" + hasLocationChanged + " has4gHandoff = " + has4gHandoff + " hasMultiApnSupport=" + hasMultiApnSupport + " hasLostMultiApnSupport=" + hasLostMultiApnSupport); } // Add an event log when connection state changes if (ss.getState() != newSS.getState() Loading Loading @@ -316,7 +292,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { && (phone.mDataConnectionTracker instanceof GsmDataConnectionTracker)) { if (DBG)log("GsmDataConnectionTracker disposed"); phone.mDataConnectionTracker.dispose(); phone.mDataConnectionTracker = new CdmaDataConnectionTracker((CDMAPhone)phone); phone.mDataConnectionTracker = new CdmaDataConnectionTracker(phone); } CdmaCellLocation tcl = cellLoc; Loading @@ -330,7 +306,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { if (hasNetworkTypeChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(networkType)); } if (hasRegistered) { Loading telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +4 −32 Original line number Diff line number Diff line Loading @@ -253,6 +253,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { switch (msg.what) { case EVENT_RADIO_AVAILABLE: if (DBG) log("handleMessage: EVENT_RADIO_AVAILABLE"); break; case EVENT_RUIM_READY: Loading @@ -266,7 +267,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { } cm.getCDMASubscription(obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); if (DBG) log("Receive EVENT_RUIM_READY and Send Request getCDMASubscription."); if (DBG) log("handleMessage: EVENT_RUIM_READY, Send Request getCDMASubscription."); // Restore the previous network selection. pollState(); Loading @@ -280,6 +281,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { // For Non-RUIM phones, the subscription information is stored in // Non Volatile. Here when Non-Volatile is ready, we can poll the CDMA // subscription info. if (DBG) log("handleMessage: EVENT_NV_READY, Send Request getCDMASubscription."); cm.getCDMASubscription( obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); pollState(); // Signal strength polling stops when radio is off. Loading Loading @@ -871,36 +873,6 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { } } protected static String networkTypeToString(int type) { String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_IS95A: case ServiceState.RADIO_TECHNOLOGY_IS95B: ret = "CDMA"; break; case ServiceState.RADIO_TECHNOLOGY_1xRTT: ret = "CDMA - 1xRTT"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_0: ret = "CDMA - EvDo rev. 0"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_A: ret = "CDMA - EvDo rev. A"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_B: ret = "CDMA - EvDo rev. B"; break; default: if (DBG) { slog("Wrong network. Can not return a string."); } break; } return ret; } protected void fixTimeZone(String isoCountryCode) { TimeZone zone = null; // If the offset is (0, false) and the time zone property Loading Loading @@ -998,7 +970,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { if (hasNetworkTypeChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(networkType)); } if (hasRegistered) { Loading telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +16 −51 Original line number Diff line number Diff line Loading @@ -84,12 +84,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker { private int mReasonDataDenied = -1; private int mNewReasonDataDenied = -1; /** * Values correspond to ServiceState.RADIO_TECHNOLOGY_ definitions. */ private int networkType = 0; private int newNetworkType = 0; /** * GSM roaming status solely based on TS 27.007 7.2 CREG. Only used by * handlePollStateResult to store CREG roaming result. Loading Loading @@ -629,7 +623,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { } newGPRSState = regCodeToServiceState(regState); mDataRoaming = regCodeIsRoaming(regState); newNetworkType = type; mNewRadioTechnology = type; newSS.setRadioTechnology(type); break; Loading Loading @@ -749,37 +743,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker { } } private static String networkTypeToString(int type) { //Network Type from GPRS_REGISTRATION_STATE String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_GPRS: ret = "GPRS"; break; case ServiceState.RADIO_TECHNOLOGY_EDGE: ret = "EDGE"; break; case ServiceState.RADIO_TECHNOLOGY_UMTS: ret = "UMTS"; break; case ServiceState.RADIO_TECHNOLOGY_HSDPA: ret = "HSDPA"; break; case ServiceState.RADIO_TECHNOLOGY_HSUPA: ret = "HSUPA"; break; case ServiceState.RADIO_TECHNOLOGY_HSPA: ret = "HSPA"; break; default: sloge("Wrong network type: " + Integer.toString(type)); break; } return ret; } private void pollStateDone() { if (DBG) { log("Poll ServiceState done: " + Loading @@ -789,8 +752,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker { " mNewMaxDataCalls=" + mNewMaxDataCalls + " oldReasonDataDenied=" + mReasonDataDenied + " mNewReasonDataDenied=" + mNewReasonDataDenied + " oldType=" + networkTypeToString(networkType) + " newType=" + networkTypeToString(newNetworkType)); " oldType=" + ServiceState.radioTechnologyToString(mRadioTechnology) + " newType=" + ServiceState.radioTechnologyToString(mNewRadioTechnology)); } boolean hasRegistered = Loading @@ -809,7 +772,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { gprsState == ServiceState.STATE_IN_SERVICE && newGPRSState != ServiceState.STATE_IN_SERVICE; boolean hasNetworkTypeChanged = networkType != newNetworkType; boolean hasRadioTechnologyChanged = mRadioTechnology != mNewRadioTechnology; boolean hasChanged = !newSS.equals(ss); Loading Loading @@ -839,30 +802,32 @@ final class GsmServiceStateTracker extends ServiceStateTracker { // Add an event log when network type switched // TODO: we may add filtering to reduce the event logged, // i.e. check preferred network setting, only switch to 2G, etc if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { int cid = -1; GsmCellLocation loc = ((GsmCellLocation)phone.getCellLocation()); if (loc != null) cid = loc.getCid(); EventLog.writeEvent(EventLogTags.GSM_RAT_SWITCHED, cid, networkType, newNetworkType); EventLog.writeEvent(EventLogTags.GSM_RAT_SWITCHED, cid, mRadioTechnology, mNewRadioTechnology); if (DBG) { log("RAT switched " + networkTypeToString(networkType) + " -> " + networkTypeToString(newNetworkType) + " at cell " + cid); log("RAT switched " + ServiceState.radioTechnologyToString(mRadioTechnology) + " -> " + ServiceState.radioTechnologyToString(mNewRadioTechnology) + " at cell " + cid); } } gprsState = newGPRSState; mReasonDataDenied = mNewReasonDataDenied; mMaxDataCalls = mNewMaxDataCalls; networkType = newNetworkType; mRadioTechnology = mNewRadioTechnology; // this new state has been applied - forget it until we get a new new state newNetworkType = 0; mNewRadioTechnology = 0; newSS.setStateOutOfService(); // clean slate for next time if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(mRadioTechnology)); } if (hasRegistered) { Loading Loading @@ -950,7 +915,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { mDetachedRegistrants.notifyRegistrants(); } if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { phone.notifyDataConnection(Phone.REASON_NW_TYPE_CHANGED, Phone.APN_TYPE_ALL); } Loading Loading @@ -1286,7 +1251,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { * that could support voice and data simultaneously. */ public boolean isConcurrentVoiceAndDataAllowed() { return (networkType >= ServiceState.RADIO_TECHNOLOGY_UMTS); return (mRadioTechnology >= ServiceState.RADIO_TECHNOLOGY_UMTS); } /** Loading Loading
telephony/java/android/telephony/ServiceState.java +69 −54 Original line number Diff line number Diff line Loading @@ -387,62 +387,77 @@ public class ServiceState implements Parcelable { && mIsEmergencyOnly == s.mIsEmergencyOnly); } @Override public String toString() { String radioTechnology = new String("Error in radioTechnology"); switch(this.mRadioTechnology) { /** * Convert radio technology to String * * @param radioTechnology * @return String representation of the RAT * * @hide */ public static String radioTechnologyToString(int rt) { String rtString; switch(rt) { case 0: radioTechnology = "Unknown"; rtString = "Unknown"; break; case 1: radioTechnology = "GPRS"; rtString = "GPRS"; break; case 2: radioTechnology = "EDGE"; rtString = "EDGE"; break; case 3: radioTechnology = "UMTS"; rtString = "UMTS"; break; case 4: radioTechnology = "IS95A"; rtString = "CDMA-IS95A"; break; case 5: radioTechnology = "IS95B"; rtString = "CDMA-IS95B"; break; case 6: radioTechnology = "1xRTT"; rtString = "1xRTT"; break; case 7: radioTechnology = "EvDo rev. 0"; rtString = "EvDo-rev.0"; break; case 8: radioTechnology = "EvDo rev. A"; rtString = "EvDo-rev.A"; break; case 9: radioTechnology = "HSDPA"; rtString = "HSDPA"; break; case 10: radioTechnology = "HSUPA"; rtString = "HSUPA"; break; case 11: radioTechnology = "HSPA"; rtString = "HSPA"; break; case 12: radioTechnology = "EvDo rev. B"; rtString = "EvDo-rev.B"; break; case 13: radioTechnology = "eHRPD"; rtString = "eHRPD"; break; case 14: radioTechnology = "LTE"; rtString = "LTE"; break; case 15: radioTechnology = "HSPAP"; rtString = "HSPAP"; break; default: Log.w(LOG_TAG, "mRadioTechnology variable out of range."); rtString = "Unexpected"; Log.w(LOG_TAG, "Unexpected radioTechnology=" + rt); break; } return rtString + ":" + rt; } @Override public String toString() { String radioTechnology = radioTechnologyToString(mRadioTechnology); return (mState + " " + (mRoaming ? "roaming" : "home") + " " + mOperatorAlphaLong Loading
telephony/java/com/android/internal/telephony/ServiceStateTracker.java +6 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,12 @@ public abstract class ServiceStateTracker extends Handler { protected int[] pollingContext; protected boolean mDesiredPowerState; /** * Values correspond to ServiceState.RADIO_TECHNOLOGY_ definitions. */ protected int mRadioTechnology = 0; protected int mNewRadioTechnology = 0; /** * By default, strength polling is enabled. However, if we're * getting unsolicited signal strength updates from the radio, set Loading
telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +18 −42 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.Registrant; import android.os.RegistrantList; import android.os.AsyncResult; import android.os.Message; import android.os.SystemProperties; import android.util.Log; import android.util.EventLog; Loading Loading @@ -72,6 +73,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { handlePollStateResult(msg.what, ar); break; case EVENT_SIM_READY: if (DBG) log("handleMessage EVENT_SIM_READY"); isSubscriptionFromRuim = false; cm.getCDMASubscription( obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); pollState(); Loading Loading @@ -186,39 +188,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { } } protected static String networkTypeToString(int type) { String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_IS95A: case ServiceState.RADIO_TECHNOLOGY_IS95B: ret = "CDMA"; break; case ServiceState.RADIO_TECHNOLOGY_1xRTT: ret = "CDMA - 1xRTT"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_0: ret = "CDMA - EvDo rev. 0"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_A: ret = "CDMA - EvDo rev. A"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_B: ret = "CDMA - EvDo rev. B"; break; case ServiceState.RADIO_TECHNOLOGY_LTE: ret = "LTE"; break; case ServiceState.RADIO_TECHNOLOGY_EHRPD: ret = "CDMA - eHRPD"; break; default: sloge("networkTypeToString: Wrong network, can not return a string."); break; } return ret; } @Override protected void pollStateDone() { // determine data NetworkType from both LET and CDMA SS Loading Loading @@ -282,13 +251,20 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { (newNetworkType <= ServiceState.RADIO_TECHNOLOGY_EVDO_A)); if (DBG) { log("pollStateDone: hasRegistered = " + hasRegistered + " hasCdmaDataConnectionAttached = " + hasCdmaDataConnectionAttached + " hasCdmaDataConnectionChanged = " + hasCdmaDataConnectionChanged + " hasNetworkTypeChanged = " + hasNetworkTypeChanged + " has4gHandoff = " + has4gHandoff + " hasMultiApnSupport = " + hasMultiApnSupport + " hasLostMultiApnSupport = " + hasLostMultiApnSupport); log("pollStateDone:" + " hasRegistered=" + hasRegistered + " hasDeegistered=" + hasDeregistered + " hasCdmaDataConnectionAttached=" + hasCdmaDataConnectionAttached + " hasCdmaDataConnectionDetached=" + hasCdmaDataConnectionDetached + " hasCdmaDataConnectionChanged=" + hasCdmaDataConnectionChanged + " hasNetworkTypeChanged = " + hasNetworkTypeChanged + " hasChanged=" + hasChanged + " hasRoamingOn=" + hasRoamingOn + " hasRoamingOff=" + hasRoamingOff + " hasLocationChanged=" + hasLocationChanged + " has4gHandoff = " + has4gHandoff + " hasMultiApnSupport=" + hasMultiApnSupport + " hasLostMultiApnSupport=" + hasLostMultiApnSupport); } // Add an event log when connection state changes if (ss.getState() != newSS.getState() Loading Loading @@ -316,7 +292,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { && (phone.mDataConnectionTracker instanceof GsmDataConnectionTracker)) { if (DBG)log("GsmDataConnectionTracker disposed"); phone.mDataConnectionTracker.dispose(); phone.mDataConnectionTracker = new CdmaDataConnectionTracker((CDMAPhone)phone); phone.mDataConnectionTracker = new CdmaDataConnectionTracker(phone); } CdmaCellLocation tcl = cellLoc; Loading @@ -330,7 +306,7 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { if (hasNetworkTypeChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(networkType)); } if (hasRegistered) { Loading
telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +4 −32 Original line number Diff line number Diff line Loading @@ -253,6 +253,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { switch (msg.what) { case EVENT_RADIO_AVAILABLE: if (DBG) log("handleMessage: EVENT_RADIO_AVAILABLE"); break; case EVENT_RUIM_READY: Loading @@ -266,7 +267,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { } cm.getCDMASubscription(obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); if (DBG) log("Receive EVENT_RUIM_READY and Send Request getCDMASubscription."); if (DBG) log("handleMessage: EVENT_RUIM_READY, Send Request getCDMASubscription."); // Restore the previous network selection. pollState(); Loading @@ -280,6 +281,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { // For Non-RUIM phones, the subscription information is stored in // Non Volatile. Here when Non-Volatile is ready, we can poll the CDMA // subscription info. if (DBG) log("handleMessage: EVENT_NV_READY, Send Request getCDMASubscription."); cm.getCDMASubscription( obtainMessage(EVENT_POLL_STATE_CDMA_SUBSCRIPTION)); pollState(); // Signal strength polling stops when radio is off. Loading Loading @@ -871,36 +873,6 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { } } protected static String networkTypeToString(int type) { String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_IS95A: case ServiceState.RADIO_TECHNOLOGY_IS95B: ret = "CDMA"; break; case ServiceState.RADIO_TECHNOLOGY_1xRTT: ret = "CDMA - 1xRTT"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_0: ret = "CDMA - EvDo rev. 0"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_A: ret = "CDMA - EvDo rev. A"; break; case ServiceState.RADIO_TECHNOLOGY_EVDO_B: ret = "CDMA - EvDo rev. B"; break; default: if (DBG) { slog("Wrong network. Can not return a string."); } break; } return ret; } protected void fixTimeZone(String isoCountryCode) { TimeZone zone = null; // If the offset is (0, false) and the time zone property Loading Loading @@ -998,7 +970,7 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { if (hasNetworkTypeChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(networkType)); } if (hasRegistered) { Loading
telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +16 −51 Original line number Diff line number Diff line Loading @@ -84,12 +84,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker { private int mReasonDataDenied = -1; private int mNewReasonDataDenied = -1; /** * Values correspond to ServiceState.RADIO_TECHNOLOGY_ definitions. */ private int networkType = 0; private int newNetworkType = 0; /** * GSM roaming status solely based on TS 27.007 7.2 CREG. Only used by * handlePollStateResult to store CREG roaming result. Loading Loading @@ -629,7 +623,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { } newGPRSState = regCodeToServiceState(regState); mDataRoaming = regCodeIsRoaming(regState); newNetworkType = type; mNewRadioTechnology = type; newSS.setRadioTechnology(type); break; Loading Loading @@ -749,37 +743,6 @@ final class GsmServiceStateTracker extends ServiceStateTracker { } } private static String networkTypeToString(int type) { //Network Type from GPRS_REGISTRATION_STATE String ret = "unknown"; switch (type) { case ServiceState.RADIO_TECHNOLOGY_GPRS: ret = "GPRS"; break; case ServiceState.RADIO_TECHNOLOGY_EDGE: ret = "EDGE"; break; case ServiceState.RADIO_TECHNOLOGY_UMTS: ret = "UMTS"; break; case ServiceState.RADIO_TECHNOLOGY_HSDPA: ret = "HSDPA"; break; case ServiceState.RADIO_TECHNOLOGY_HSUPA: ret = "HSUPA"; break; case ServiceState.RADIO_TECHNOLOGY_HSPA: ret = "HSPA"; break; default: sloge("Wrong network type: " + Integer.toString(type)); break; } return ret; } private void pollStateDone() { if (DBG) { log("Poll ServiceState done: " + Loading @@ -789,8 +752,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker { " mNewMaxDataCalls=" + mNewMaxDataCalls + " oldReasonDataDenied=" + mReasonDataDenied + " mNewReasonDataDenied=" + mNewReasonDataDenied + " oldType=" + networkTypeToString(networkType) + " newType=" + networkTypeToString(newNetworkType)); " oldType=" + ServiceState.radioTechnologyToString(mRadioTechnology) + " newType=" + ServiceState.radioTechnologyToString(mNewRadioTechnology)); } boolean hasRegistered = Loading @@ -809,7 +772,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { gprsState == ServiceState.STATE_IN_SERVICE && newGPRSState != ServiceState.STATE_IN_SERVICE; boolean hasNetworkTypeChanged = networkType != newNetworkType; boolean hasRadioTechnologyChanged = mRadioTechnology != mNewRadioTechnology; boolean hasChanged = !newSS.equals(ss); Loading Loading @@ -839,30 +802,32 @@ final class GsmServiceStateTracker extends ServiceStateTracker { // Add an event log when network type switched // TODO: we may add filtering to reduce the event logged, // i.e. check preferred network setting, only switch to 2G, etc if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { int cid = -1; GsmCellLocation loc = ((GsmCellLocation)phone.getCellLocation()); if (loc != null) cid = loc.getCid(); EventLog.writeEvent(EventLogTags.GSM_RAT_SWITCHED, cid, networkType, newNetworkType); EventLog.writeEvent(EventLogTags.GSM_RAT_SWITCHED, cid, mRadioTechnology, mNewRadioTechnology); if (DBG) { log("RAT switched " + networkTypeToString(networkType) + " -> " + networkTypeToString(newNetworkType) + " at cell " + cid); log("RAT switched " + ServiceState.radioTechnologyToString(mRadioTechnology) + " -> " + ServiceState.radioTechnologyToString(mNewRadioTechnology) + " at cell " + cid); } } gprsState = newGPRSState; mReasonDataDenied = mNewReasonDataDenied; mMaxDataCalls = mNewMaxDataCalls; networkType = newNetworkType; mRadioTechnology = mNewRadioTechnology; // this new state has been applied - forget it until we get a new new state newNetworkType = 0; mNewRadioTechnology = 0; newSS.setStateOutOfService(); // clean slate for next time if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { phone.setSystemProperty(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, networkTypeToString(networkType)); ServiceState.radioTechnologyToString(mRadioTechnology)); } if (hasRegistered) { Loading Loading @@ -950,7 +915,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { mDetachedRegistrants.notifyRegistrants(); } if (hasNetworkTypeChanged) { if (hasRadioTechnologyChanged) { phone.notifyDataConnection(Phone.REASON_NW_TYPE_CHANGED, Phone.APN_TYPE_ALL); } Loading Loading @@ -1286,7 +1251,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker { * that could support voice and data simultaneously. */ public boolean isConcurrentVoiceAndDataAllowed() { return (networkType >= ServiceState.RADIO_TECHNOLOGY_UMTS); return (mRadioTechnology >= ServiceState.RADIO_TECHNOLOGY_UMTS); } /** Loading