diff options
| author | 2012-05-10 23:05:54 -0700 | |
|---|---|---|
| committer | 2012-05-10 23:05:54 -0700 | |
| commit | e9aa4b27af4fe68b999f906aea80847fa1f4b0d8 (patch) | |
| tree | 2c9020e44eb46b07c02d87f89f297888ff3623f0 | |
| parent | 37e169cd1429c76a0223d8fdd77622ead718bbff (diff) | |
| parent | 26e1a02ba3183aba2ba262c6f60602e10dd792e3 (diff) | |
Merge "Add additional debug for time zone handling." into jb-dev
5 files changed, 44 insertions, 24 deletions
diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java index 2883eca9ddbc..c4ebec45bc04 100644 --- a/core/java/android/util/TimeUtils.java +++ b/core/java/android/util/TimeUtils.java @@ -26,6 +26,7 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collection; import java.util.TimeZone; import java.util.Date; @@ -381,4 +382,22 @@ public class TimeUtils { } 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); + } + } } diff --git a/telephony/java/com/android/internal/telephony/DataConnection.java b/telephony/java/com/android/internal/telephony/DataConnection.java index da03f76de2a7..7c70a7ea041a 100644 --- a/telephony/java/com/android/internal/telephony/DataConnection.java +++ b/telephony/java/com/android/internal/telephony/DataConnection.java @@ -31,6 +31,7 @@ import android.os.AsyncResult; import android.os.Message; import android.os.SystemProperties; import android.text.TextUtils; +import android.util.TimeUtils; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -1225,21 +1226,6 @@ public abstract class DataConnection extends StateMachine { } /** - * 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. * * @param fd @@ -1263,8 +1249,8 @@ public abstract class DataConnection extends StateMachine { pw.println(" mLinkProperties=" + mLinkProperties); pw.flush(); pw.println(" mCapabilities=" + mCapabilities); - pw.println(" createTime=" + timeMillisToTimeOfDay(createTime)); - pw.println(" lastFailTime=" + timeMillisToTimeOfDay(lastFailTime)); + pw.println(" createTime=" + TimeUtils.logTimeOfDay(createTime)); + pw.println(" lastFailTime=" + TimeUtils.logTimeOfDay(lastFailTime)); pw.println(" lastFailCause=" + lastFailCause); pw.flush(); pw.println(" mRetryOverride=" + mRetryOverride); diff --git a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java index bd780654e916..69dd66697e4d 100644 --- a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java @@ -23,6 +23,7 @@ import android.os.Registrant; import android.os.RegistrantList; import android.telephony.ServiceState; import android.telephony.SignalStrength; +import android.util.TimeUtils; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -507,13 +508,15 @@ public abstract class ServiceStateTracker extends Handler { // Determine retVal boolean retVal = ((iccCardExist && (mcc != prevMcc)) || needToFixTimeZone); if (DBG) { + long ctm = System.currentTimeMillis(); log("shouldFixTimeZoneNow: retVal=" + retVal + " iccCard=" + iccCard + " iccCard.state=" + (iccCard == null ? "null" : iccCard.getState().toString()) + " iccCardExist=" + iccCardExist + " operatorNumeric=" + operatorNumeric + " mcc=" + mcc + " prevOperatorNumeric=" + prevOperatorNumeric + " prevMcc=" + prevMcc + - " needToFixTimeZone=" + needToFixTimeZone); + " needToFixTimeZone=" + needToFixTimeZone + + " ltod=" + TimeUtils.logTimeOfDay(ctm)); } return retVal; } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index ba2e51a2353e..e4287c00ea0f 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java @@ -878,13 +878,19 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { // For NITZ string without time zone, // need adjust time to reflect default time zone setting zone = TimeZone.getDefault(); - long tzOffset; - tzOffset = zone.getOffset(System.currentTimeMillis()); + long ctm = System.currentTimeMillis(); + long tzOffset = zone.getOffset(ctm); + if (DBG) { + log("fixTimeZone: tzOffset=" + tzOffset + " ltod=" + TimeUtils.logTimeOfDay(ctm)); + } if (getAutoTime()) { - setAndBroadcastNetworkSetTime(System.currentTimeMillis() - tzOffset); + long adj = ctm - tzOffset; + if (DBG) log("fixTimeZone: adj ltod=" + TimeUtils.logTimeOfDay(adj)); + setAndBroadcastNetworkSetTime(adj); } else { // Adjust the saved NITZ time to account for tzOffset. mSavedTime = mSavedTime - tzOffset; + if (DBG) log("fixTimeZone: adj mSavedTime=" + mSavedTime); } if (DBG) log("fixTimeZone: using default TimeZone"); } else if (isoCountryCode.equals("")) { diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java index 42355774dae9..1aa17c728b96 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java @@ -923,10 +923,16 @@ final class GsmServiceStateTracker extends ServiceStateTracker { zone = TimeZone.getDefault(); // For NITZ string without timezone, // need adjust time to reflect default timezone setting - long tzOffset; - tzOffset = zone.getOffset(System.currentTimeMillis()); + long ctm = System.currentTimeMillis(); + long tzOffset = zone.getOffset(ctm); + if (DBG) { + log("pollStateDone: tzOffset=" + tzOffset + " ltod=" + + TimeUtils.logTimeOfDay(ctm)); + } if (getAutoTime()) { - setAndBroadcastNetworkSetTime(System.currentTimeMillis() - tzOffset); + long adj = ctm - tzOffset; + if (DBG) log("pollStateDone: adj ltod=" + TimeUtils.logTimeOfDay(adj)); + setAndBroadcastNetworkSetTime(adj); } else { // Adjust the saved NITZ time to account for tzOffset. mSavedTime = mSavedTime - tzOffset; |