diff options
| author | 2010-10-12 13:22:27 -0700 | |
|---|---|---|
| committer | 2010-10-12 13:22:27 -0700 | |
| commit | 5e6338d4a80e10fe5911fc4317d1d5958d8b033d (patch) | |
| tree | fd74e61711f12d057e7a8d0cf2be253da473081b | |
| parent | 735821fccc181bdfbebd6f067296182130934e5d (diff) | |
| parent | 2af4c51e9a82848e3efce4621559a69fda965665 (diff) | |
am 2af4c51e: am 6bb7a4a6: Go one day into 1970 for timezone code.
Merge commit '2af4c51e9a82848e3efce4621559a69fda965665'
* commit '2af4c51e9a82848e3efce4621559a69fda965665':
Go one day into 1970 for timezone code.
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index ab98249a8a70..2da3e3b0c959 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -585,6 +585,10 @@ public class SystemServer { static Timer timer; static final long SNAPSHOT_INTERVAL = 60 * 60 * 1000; // 1hr + // The earliest supported time. We pick one day into 1970, to + // give any timezone code room without going into negative time. + private static final long EARLIEST_SUPPORTED_TIME = 86400 * 1000; + /** * This method is called from Zygote to initialize the system. This will cause the native * services (SurfaceFlinger, AudioFlinger, etc..) to be started. After that it will call back @@ -593,14 +597,14 @@ public class SystemServer { native public static void init1(String[] args); public static void main(String[] args) { - if (System.currentTimeMillis() < 0) { + if (System.currentTimeMillis() < EARLIEST_SUPPORTED_TIME) { // If a device's clock is before 1970 (before 0), a lot of // APIs crash dealing with negative numbers, notably // java.io.File#setLastModified, so instead we fake it and // hope that time from cell towers or NTP fixes it // shortly. Slog.w(TAG, "System clock is before 1970; setting to 1970."); - SystemClock.setCurrentTimeMillis(1); // 0 isn't allowed + SystemClock.setCurrentTimeMillis(EARLIEST_SUPPORTED_TIME); } if (SamplingProfilerIntegration.isEnabled()) { |