am e9aa4b27: Merge "Add additional debug for time zone handling." into jb-dev

* commit 'e9aa4b27af4fe68b999f906aea80847fa1f4b0d8':
  Add additional debug for time zone handling.
This commit is contained in:
Wink Saville
2012-05-10 23:15:59 -07:00
committed by Android Git Automerger
5 changed files with 44 additions and 24 deletions

View File

@ -26,6 +26,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection; import java.util.Collection;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.Date; import java.util.Date;
@ -381,4 +382,22 @@ public class TimeUtils {
} }
formatDuration(time-now, pw, 0); formatDuration(time-now, pw, 0);
} }
/**
* Convert a System.currentTimeMillis() value to a time of day value like
* that printed in logs. MM-DD HH:MM:SS.MMM
*
* @param millis since the epoch (1/1/1970)
* @return String representation of the time.
* @hide
*/
public static String logTimeOfDay(long millis) {
Calendar c = Calendar.getInstance();
if (millis >= 0) {
c.setTimeInMillis(millis);
return String.format("%tm-%td %tH:%tM:%tS.%tL", c, c, c, c, c, c);
} else {
return Long.toString(millis);
}
}
} }

View File

@ -31,6 +31,7 @@ import android.os.AsyncResult;
import android.os.Message; import android.os.Message;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.TimeUtils;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.PrintWriter; import java.io.PrintWriter;
@ -1224,21 +1225,6 @@ public abstract class DataConnection extends StateMachine {
return info; return info;
} }
/**
* Convert a System.currentTimeMillis() value to a time of day value.
*
* @param millis since the epoch (1/1/1970)
* @return String representation of the time.
*/
private String timeMillisToTimeOfDay(long millis) {
Calendar c = Calendar.getInstance();
if (millis >= 0) {
c.setTimeInMillis(millis);
return String.format("%tm-%td %tH:%tM:%tS.%tL", c, c, c, c, c, c);
} else {
return Long.toString(millis);
}
}
/** /**
* Dump the current state. * Dump the current state.
* *
@ -1263,8 +1249,8 @@ public abstract class DataConnection extends StateMachine {
pw.println(" mLinkProperties=" + mLinkProperties); pw.println(" mLinkProperties=" + mLinkProperties);
pw.flush(); pw.flush();
pw.println(" mCapabilities=" + mCapabilities); pw.println(" mCapabilities=" + mCapabilities);
pw.println(" createTime=" + timeMillisToTimeOfDay(createTime)); pw.println(" createTime=" + TimeUtils.logTimeOfDay(createTime));
pw.println(" lastFailTime=" + timeMillisToTimeOfDay(lastFailTime)); pw.println(" lastFailTime=" + TimeUtils.logTimeOfDay(lastFailTime));
pw.println(" lastFailCause=" + lastFailCause); pw.println(" lastFailCause=" + lastFailCause);
pw.flush(); pw.flush();
pw.println(" mRetryOverride=" + mRetryOverride); pw.println(" mRetryOverride=" + mRetryOverride);

View File

@ -23,6 +23,7 @@ import android.os.Registrant;
import android.os.RegistrantList; import android.os.RegistrantList;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.util.TimeUtils;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.PrintWriter; import java.io.PrintWriter;
@ -507,13 +508,15 @@ public abstract class ServiceStateTracker extends Handler {
// Determine retVal // Determine retVal
boolean retVal = ((iccCardExist && (mcc != prevMcc)) || needToFixTimeZone); boolean retVal = ((iccCardExist && (mcc != prevMcc)) || needToFixTimeZone);
if (DBG) { if (DBG) {
long ctm = System.currentTimeMillis();
log("shouldFixTimeZoneNow: retVal=" + retVal + log("shouldFixTimeZoneNow: retVal=" + retVal +
" iccCard=" + iccCard + " iccCard=" + iccCard +
" iccCard.state=" + (iccCard == null ? "null" : iccCard.getState().toString()) + " iccCard.state=" + (iccCard == null ? "null" : iccCard.getState().toString()) +
" iccCardExist=" + iccCardExist + " iccCardExist=" + iccCardExist +
" operatorNumeric=" + operatorNumeric + " mcc=" + mcc + " operatorNumeric=" + operatorNumeric + " mcc=" + mcc +
" prevOperatorNumeric=" + prevOperatorNumeric + " prevMcc=" + prevMcc + " prevOperatorNumeric=" + prevOperatorNumeric + " prevMcc=" + prevMcc +
" needToFixTimeZone=" + needToFixTimeZone); " needToFixTimeZone=" + needToFixTimeZone +
" ltod=" + TimeUtils.logTimeOfDay(ctm));
} }
return retVal; return retVal;
} }

View File

@ -878,13 +878,19 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
// For NITZ string without time zone, // For NITZ string without time zone,
// need adjust time to reflect default time zone setting // need adjust time to reflect default time zone setting
zone = TimeZone.getDefault(); zone = TimeZone.getDefault();
long tzOffset; long ctm = System.currentTimeMillis();
tzOffset = zone.getOffset(System.currentTimeMillis()); long tzOffset = zone.getOffset(ctm);
if (DBG) {
log("fixTimeZone: tzOffset=" + tzOffset + " ltod=" + TimeUtils.logTimeOfDay(ctm));
}
if (getAutoTime()) { if (getAutoTime()) {
setAndBroadcastNetworkSetTime(System.currentTimeMillis() - tzOffset); long adj = ctm - tzOffset;
if (DBG) log("fixTimeZone: adj ltod=" + TimeUtils.logTimeOfDay(adj));
setAndBroadcastNetworkSetTime(adj);
} else { } else {
// Adjust the saved NITZ time to account for tzOffset. // Adjust the saved NITZ time to account for tzOffset.
mSavedTime = mSavedTime - tzOffset; mSavedTime = mSavedTime - tzOffset;
if (DBG) log("fixTimeZone: adj mSavedTime=" + mSavedTime);
} }
if (DBG) log("fixTimeZone: using default TimeZone"); if (DBG) log("fixTimeZone: using default TimeZone");
} else if (isoCountryCode.equals("")) { } else if (isoCountryCode.equals("")) {

View File

@ -923,10 +923,16 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
zone = TimeZone.getDefault(); zone = TimeZone.getDefault();
// For NITZ string without timezone, // For NITZ string without timezone,
// need adjust time to reflect default timezone setting // need adjust time to reflect default timezone setting
long tzOffset; long ctm = System.currentTimeMillis();
tzOffset = zone.getOffset(System.currentTimeMillis()); long tzOffset = zone.getOffset(ctm);
if (DBG) {
log("pollStateDone: tzOffset=" + tzOffset + " ltod=" +
TimeUtils.logTimeOfDay(ctm));
}
if (getAutoTime()) { if (getAutoTime()) {
setAndBroadcastNetworkSetTime(System.currentTimeMillis() - tzOffset); long adj = ctm - tzOffset;
if (DBG) log("pollStateDone: adj ltod=" + TimeUtils.logTimeOfDay(adj));
setAndBroadcastNetworkSetTime(adj);
} else { } else {
// Adjust the saved NITZ time to account for tzOffset. // Adjust the saved NITZ time to account for tzOffset.
mSavedTime = mSavedTime - tzOffset; mSavedTime = mSavedTime - tzOffset;