Don't block TIME_TICK broadcasts in the DigitalClock widget.
This change applies the fix -- originally by phanna in
https://android-git.corp.google.com/g/#change,33669 -- to
the com.android.internal.widget version of DigitalClock,
which is used by the keyguard and pattern lock screens.
Change-Id: I43f72dd144423e55f73ba52903d52163c8f65591
diff --git a/core/java/com/android/internal/widget/DigitalClock.java b/core/java/com/android/internal/widget/DigitalClock.java
index ca71722..fa47ff6 100644
--- a/core/java/com/android/internal/widget/DigitalClock.java
+++ b/core/java/com/android/internal/widget/DigitalClock.java
@@ -61,7 +61,12 @@
Intent.ACTION_TIMEZONE_CHANGED)) {
mCalendar = Calendar.getInstance();
}
- updateTime();
+ // Post a runnable to avoid blocking the broadcast.
+ mHandler.post(new Runnable() {
+ public void run() {
+ updateTime();
+ }
+ });
}
};
@@ -133,7 +138,7 @@
filter.addAction(Intent.ACTION_TIME_TICK);
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
- mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
+ mContext.registerReceiver(mIntentReceiver, filter);
}
/* monitor 12/24-hour display preference */