summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2011-09-30 19:32:27 -0700
committerAdam Powell <adamp@google.com>2011-10-11 11:11:36 -0700
commitc1f5d26675e9777a55076d41404208e6160ca483 (patch)
tree3d1fa084770e06238678fa1550543bd251549914
parent3a02e82cfff354ba5e4444114b1ae2a1d5ac2862 (diff)
downloadandroid_packages_apps_Trebuchet-c1f5d26675e9777a55076d41404208e6160ca483.tar.gz
android_packages_apps_Trebuchet-c1f5d26675e9777a55076d41404208e6160ca483.tar.bz2
android_packages_apps_Trebuchet-c1f5d26675e9777a55076d41404208e6160ca483.zip
Fix stutter when swiping workspace first time
Bug # 5366313 Change-Id: If4212d0cd626d0829e3e4487da52f455b0b89983
-rw-r--r--src/com/android/launcher2/Launcher.java11
-rw-r--r--src/com/android/launcher2/Workspace.java10
2 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 5eaf7730a..4ae23a30d 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -244,6 +244,12 @@ public final class Launcher extends Activity
private BubbleTextView mWaitingForResume;
+ private Runnable mBuildLayersRunnable = new Runnable() {
+ public void run() {
+ mWorkspace.buildPageHardwareLayers();
+ }
+ };
+
private static ArrayList<PendingAddArguments> sPendingAddList
= new ArrayList<PendingAddArguments>();
@@ -550,6 +556,9 @@ public final class Launcher extends Activity
// When we resume Launcher, a different Activity might be responsible for the app
// market intent, so refresh the icon
updateAppMarketIcon();
+ if (!mWorkspaceLoading) {
+ mWorkspace.post(mBuildLayersRunnable);
+ }
}
@Override
@@ -2964,6 +2973,8 @@ public final class Launcher extends Activity
// Update the market app icon as necessary (the other icons will be managed in response to
// package changes in bindSearchablesChanged()
updateAppMarketIcon();
+
+ mWorkspace.post(mBuildLayersRunnable);
}
@Override
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 9c25afc64..8a492a28e 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -313,6 +313,16 @@ public class Workspace extends SmoothPagedView
setMotionEventSplittingEnabled(true);
}
+ public void buildPageHardwareLayers() {
+ if (getWindowToken() != null) {
+ final int childCount = getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ CellLayout cl = (CellLayout) getChildAt(i);
+ cl.buildChildrenLayer();
+ }
+ }
+ }
+
public void onDragStart(DragSource source, Object info, int dragAction) {
mIsDragOccuring = true;
updateChildrenLayersEnabled();