Merge "Add Event log for RAT switch." into eclair

This commit is contained in:
John Wang
2010-01-14 16:43:38 -08:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 0 deletions

View File

@@ -32,4 +32,5 @@ public final class TelephonyEventLog {
public static final int EVENT_LOG_PDP_NETWORK_DROP = 50109; public static final int EVENT_LOG_PDP_NETWORK_DROP = 50109;
public static final int EVENT_LOG_CDMA_DATA_SETUP_FAILED = 50110; public static final int EVENT_LOG_CDMA_DATA_SETUP_FAILED = 50110;
public static final int EVENT_LOG_CDMA_DATA_DROP = 50111; public static final int EVENT_LOG_CDMA_DATA_DROP = 50111;
public static final int EVENT_LOG_GSM_RAT_SWITCHED = 50112;
} }

View File

@@ -38,6 +38,7 @@ import android.provider.Settings.SettingNotFoundException;
import android.provider.Telephony.Intents; import android.provider.Telephony.Intents;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.telephony.gsm.GsmCellLocation; import android.telephony.gsm.GsmCellLocation;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Config; import android.util.Config;
@@ -848,6 +849,21 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
cellLoc = newCellLoc; cellLoc = newCellLoc;
newCellLoc = tcl; newCellLoc = tcl;
// 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) {
int cid = -1;
GsmCellLocation loc = ((GsmCellLocation)phone.getCellLocation());
if (loc != null) cid = loc.getCid();
EventLog.List val = new EventLog.List(cid, networkType, newNetworkType);
EventLog.writeEvent(TelephonyEventLog.EVENT_LOG_GSM_RAT_SWITCHED, val);
Log.d(LOG_TAG,
"RAT switched " + networkTypeToString(networkType) + " -> "
+ networkTypeToString(newNetworkType) + " at cell " + cid);
}
gprsState = newGPRSState; gprsState = newGPRSState;
networkType = newNetworkType; networkType = newNetworkType;