summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/DeferredHandler.java
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@android.com>2010-04-13 16:23:58 -0400
committerDaniel Sandler <dsandler@android.com>2010-04-14 14:36:10 -0400
commitdca661236c73ecd819cfea964c6f8170e5cc40ae (patch)
tree5edc07d1ac493d27b0346928be18d605dc1df186 /src/com/android/launcher2/DeferredHandler.java
parent7018d8e32761d65816c01f62b094e17e44c7ffb9 (diff)
downloadandroid_packages_apps_Trebuchet-dca661236c73ecd819cfea964c6f8170e5cc40ae.tar.gz
android_packages_apps_Trebuchet-dca661236c73ecd819cfea964c6f8170e5cc40ae.tar.bz2
android_packages_apps_Trebuchet-dca661236c73ecd819cfea964c6f8170e5cc40ae.zip
Batch loading of icons for AllApps.
AllAppsList now maintains <data> and <added> in sorted order, to amortize the cost of sorting the apps list over multiple batches. Launcher boosts thread priority on first launch, but we now reduce thread priority to normal after the main workspace has been drawn but before all apps are loaded. Experimental feature: a short delay is introduced between batches to help free up the CPU (as well as to show that we are indeed batching apps). Bug: 2562420 Change-Id: I2035ec3e819b4e7993a80c6d03bfad3914c95a7a
Diffstat (limited to 'src/com/android/launcher2/DeferredHandler.java')
-rw-r--r--src/com/android/launcher2/DeferredHandler.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/launcher2/DeferredHandler.java b/src/com/android/launcher2/DeferredHandler.java
index ce60352c3..7801642d2 100644
--- a/src/com/android/launcher2/DeferredHandler.java
+++ b/src/com/android/launcher2/DeferredHandler.java
@@ -87,6 +87,12 @@ public class DeferredHandler {
post(new IdleRunnable(runnable));
}
+ public void cancelRunnable(Runnable runnable) {
+ synchronized (mQueue) {
+ while (mQueue.remove(runnable)) { }
+ }
+ }
+
public void cancel() {
synchronized (mQueue) {
mQueue.clear();