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.
This commit is contained in:
Brad Fitzpatrick
2010-10-12 13:22:27 -07:00
committed by Android Git Automerger

View File

@@ -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()) {