diff options
author | Michael Jurka <mikejurka@google.com> | 2012-06-29 15:17:04 -0700 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2012-06-29 15:17:04 -0700 |
commit | ca99383daef92fed673de22126875cb485be494f (patch) | |
tree | 8c2e34a77c6882784cfd2eb849a85e7d29dded3f /src | |
parent | 3e34d58abb6dca58ac1aeb479d41c2c9d3865856 (diff) | |
download | android_packages_apps_Trebuchet-ca99383daef92fed673de22126875cb485be494f.tar.gz android_packages_apps_Trebuchet-ca99383daef92fed673de22126875cb485be494f.tar.bz2 android_packages_apps_Trebuchet-ca99383daef92fed673de22126875cb485be494f.zip |
Disable hardware layers for drag views
Also, avoiding allocating paint object every time we swipe
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher2/CellLayout.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher2/DragView.java | 13 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 284db1bdb..34c290a7c 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -159,6 +159,7 @@ public class CellLayout extends ViewGroup { private final static PorterDuffXfermode sAddBlendMode = new PorterDuffXfermode(PorterDuff.Mode.ADD); + private final static Paint sPaint = new Paint(); public CellLayout(Context context) { this(context, null); @@ -302,11 +303,11 @@ public class CellLayout extends ViewGroup { } public void enableHardwareLayers() { - mShortcutsAndWidgets.setLayerType(LAYER_TYPE_HARDWARE, null); + mShortcutsAndWidgets.setLayerType(LAYER_TYPE_HARDWARE, sPaint); } public void disableHardwareLayers() { - mShortcutsAndWidgets.setLayerType(LAYER_TYPE_NONE, null); + mShortcutsAndWidgets.setLayerType(LAYER_TYPE_NONE, sPaint); } public void buildHardwareLayer() { diff --git a/src/com/android/launcher2/DragView.java b/src/com/android/launcher2/DragView.java index d7ac97d07..389421d52 100644 --- a/src/com/android/launcher2/DragView.java +++ b/src/com/android/launcher2/DragView.java @@ -244,9 +244,6 @@ public class DragView extends View { public void show(int touchX, int touchY) { mDragLayer.addView(this); - // Enable hw-layers on this view - setLayerType(View.LAYER_TYPE_HARDWARE, null); - // Start the pick-up animation DragLayer.LayoutParams lp = new DragLayer.LayoutParams(0, 0); lp.width = mBitmap.getWidth(); @@ -255,7 +252,12 @@ public class DragView extends View { setLayoutParams(lp); setTranslationX(touchX - mRegistrationX); setTranslationY(touchY - mRegistrationY); - mAnim.start(); + // Post the animation to skip other expensive work happening on the first frame + post(new Runnable() { + public void run() { + mAnim.start(); + } + }); } public void cancelAnimation() { @@ -282,9 +284,6 @@ public class DragView extends View { void remove() { if (getParent() != null) { - // Disable hw-layers on this view - setLayerType(View.LAYER_TYPE_NONE, null); - mDragLayer.removeView(DragView.this); } } |