diff options
author | Adam Cohen <adamcohen@google.com> | 2012-07-23 14:29:15 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2012-07-23 14:29:15 -0700 |
commit | a13a2f2a7bd0550d1ad973f760ff25e1a4137c43 (patch) | |
tree | cd7b43b0015ec0e0692e9deb9f6ad11f6873ac6e /src/com/android/launcher2/DeferredHandler.java | |
parent | 36e6c5bb232f3a876753b91fb9ec604cda8664a5 (diff) | |
download | android_packages_apps_Trebuchet-a13a2f2a7bd0550d1ad973f760ff25e1a4137c43.tar.gz android_packages_apps_Trebuchet-a13a2f2a7bd0550d1ad973f760ff25e1a4137c43.tar.bz2 android_packages_apps_Trebuchet-a13a2f2a7bd0550d1ad973f760ff25e1a4137c43.zip |
Fixing issue where defered unbind was running after synchronous bind. (Bug 6858398, Bug 6863181)
Change-Id: I03dc3ae18528901cc88c79638a8495c1ab8d61af
Diffstat (limited to 'src/com/android/launcher2/DeferredHandler.java')
-rw-r--r-- | src/com/android/launcher2/DeferredHandler.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/com/android/launcher2/DeferredHandler.java b/src/com/android/launcher2/DeferredHandler.java index 930da56aa..b7e48b130 100644 --- a/src/com/android/launcher2/DeferredHandler.java +++ b/src/com/android/launcher2/DeferredHandler.java @@ -98,6 +98,18 @@ public class DeferredHandler { } } + /** Runs all queued Runnables from the calling thread. */ + public void flush() { + LinkedList<Runnable> queue = new LinkedList<Runnable>(); + synchronized (mQueue) { + queue.addAll(mQueue); + mQueue.clear(); + } + for (Runnable r : queue) { + r.run(); + } + } + void scheduleNextLocked() { if (mQueue.size() > 0) { Runnable peek = mQueue.getFirst(); |