diff options
| -rw-r--r-- | core/java/android/widget/TextClock.java | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/core/java/android/widget/TextClock.java b/core/java/android/widget/TextClock.java index 908eb0a8fe51..290d9b5b4a52 100644 --- a/core/java/android/widget/TextClock.java +++ b/core/java/android/widget/TextClock.java @@ -135,13 +135,11 @@ public class TextClock extends TextView { private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - if (mTimeZone == null) { - if (intent.getAction().equals(Intent.ACTION_TIMEZONE_CHANGED)) { - final String timeZone = intent.getStringExtra("time-zone"); - createTime(timeZone); - } - onTimeChanged(); + if (mTimeZone == null && Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { + final String timeZone = intent.getStringExtra("time-zone"); + createTime(timeZone); } + onTimeChanged(); } }; @@ -406,11 +404,9 @@ public class TextClock extends TextView { boolean hadSeconds = mHasSeconds; mHasSeconds = DateFormat.hasSeconds(mFormat); - if (handleTicker) { - if (hadSeconds != mHasSeconds) { - if (hadSeconds) getHandler().removeCallbacks(mTicker); - else mTicker.run(); - } + if (handleTicker && mAttached && hadSeconds != mHasSeconds) { + if (hadSeconds) getHandler().removeCallbacks(mTicker); + else mTicker.run(); } } |