diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-02 22:54:33 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-02 22:54:33 -0800 |
| commit | 3dec7d563a2f3e1eb967ce2054a00b6620e3558c (patch) | |
| tree | aa3b0365c47cb3c1607c0dc76c8d32b4046fc287 /core/java/android/widget/AnalogClock.java | |
| parent | 15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b (diff) | |
auto import from //depot/cupcake/@137055
Diffstat (limited to 'core/java/android/widget/AnalogClock.java')
| -rw-r--r-- | core/java/android/widget/AnalogClock.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/java/android/widget/AnalogClock.java b/core/java/android/widget/AnalogClock.java index cf9c588a2144..f847bc399b5a 100644 --- a/core/java/android/widget/AnalogClock.java +++ b/core/java/android/widget/AnalogClock.java @@ -48,7 +48,6 @@ public class AnalogClock extends View { private int mDialHeight; private boolean mAttached; - private long mLastTime; private final Handler mHandler = new Handler(); private float mMinutes; @@ -96,7 +95,6 @@ public class AnalogClock extends View { protected void onAttachedToWindow() { super.onAttachedToWindow(); - onTimeChanged(); if (!mAttached) { mAttached = true; IntentFilter filter = new IntentFilter(); @@ -107,6 +105,15 @@ public class AnalogClock extends View { getContext().registerReceiver(mIntentReceiver, filter, null, mHandler); } + + // NOTE: It's safe to do these after registering the receiver since the receiver always runs + // in the main thread, therefore the receiver can't run before this method returns. + + // The time zone may have changed while the receiver wasn't registered, so update the Time + mCalendar = new Time(); + + // Make sure we update to the current time + onTimeChanged(); } @Override @@ -212,9 +219,7 @@ public class AnalogClock extends View { } private void onTimeChanged() { - long time = System.currentTimeMillis(); - mCalendar.set(time); - mLastTime = time; + mCalendar.setToNow(); int hour = mCalendar.hour; int minute = mCalendar.minute; @@ -231,8 +236,6 @@ public class AnalogClock extends View { if (intent.getAction().equals(Intent.ACTION_TIMEZONE_CHANGED)) { String tz = intent.getStringExtra("time-zone"); mCalendar = new Time(TimeZone.getTimeZone(tz).getID()); - } else { - mCalendar = new Time(); } onTimeChanged(); |
