diff options
Diffstat (limited to 'core/java/android/widget/Chronometer.java')
-rw-r--r-- | core/java/android/widget/Chronometer.java | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/core/java/android/widget/Chronometer.java b/core/java/android/widget/Chronometer.java index 91add58..369221e 100644 --- a/core/java/android/widget/Chronometer.java +++ b/core/java/android/widget/Chronometer.java @@ -69,10 +69,7 @@ public class Chronometer extends TextView { private Object[] mFormatterArgs = new Object[1]; private StringBuilder mFormatBuilder; private OnChronometerTickListener mOnChronometerTickListener; - private StringBuilder mRecycle = new StringBuilder(8); - - private static final int TICK_WHAT = 2; - + /** * Initialize this Chronometer object. * Sets the base to the current time. @@ -118,7 +115,6 @@ public class Chronometer extends TextView { @android.view.RemotableViewMethod public void setBase(long base) { mBase = base; - dispatchChronometerTick(); updateText(SystemClock.elapsedRealtime()); } @@ -220,10 +216,10 @@ public class Chronometer extends TextView { updateRunning(); } - private synchronized void updateText(long now) { + private void updateText(long now) { long seconds = now - mBase; seconds /= 1000; - String text = DateUtils.formatElapsedTime(mRecycle, seconds); + String text = DateUtils.formatElapsedTime(seconds); if (mFormat != null) { Locale loc = Locale.getDefault(); @@ -251,10 +247,7 @@ public class Chronometer extends TextView { if (running != mRunning) { if (running) { updateText(SystemClock.elapsedRealtime()); - dispatchChronometerTick(); - mHandler.sendMessageDelayed(Message.obtain(mHandler, TICK_WHAT), 1000); - } else { - mHandler.removeMessages(TICK_WHAT); + mHandler.sendMessageDelayed(Message.obtain(), 1000); } mRunning = running; } @@ -262,10 +255,10 @@ public class Chronometer extends TextView { private Handler mHandler = new Handler() { public void handleMessage(Message m) { - if (mRunning) { + if (mStarted) { updateText(SystemClock.elapsedRealtime()); dispatchChronometerTick(); - sendMessageDelayed(Message.obtain(this, TICK_WHAT), 1000); + sendMessageDelayed(Message.obtain(), 1000); } } }; |