diff options
author | Chris Craik <ccraik@google.com> | 2013-10-02 00:16:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-02 00:16:36 +0000 |
commit | a8c1906a9d318f428d2022b7d732c0c7e029a96d (patch) | |
tree | e76261c48eceeaac55331c95e766dbd9d6f9faf1 /src | |
parent | c60777ad4dfa6d55c20e9ad772495426f65c2f37 (diff) | |
parent | 01f2d7fa4b24b21543012060305d693899b4beaa (diff) | |
download | android_packages_apps_Trebuchet-a8c1906a9d318f428d2022b7d732c0c7e029a96d.tar.gz android_packages_apps_Trebuchet-a8c1906a9d318f428d2022b7d732c0c7e029a96d.tar.bz2 android_packages_apps_Trebuchet-a8c1906a9d318f428d2022b7d732c0c7e029a96d.zip |
Merge "Disable hardware layer on custom screen" into jb-ub-now-indigo-rose
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/CellLayout.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 21 |
2 files changed, 12 insertions, 17 deletions
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index 81f9af2e1..72a6ce2e1 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -296,12 +296,8 @@ public class CellLayout extends ViewGroup { addView(mShortcutsAndWidgets); } - public void enableHardwareLayers() { - mShortcutsAndWidgets.setLayerType(LAYER_TYPE_HARDWARE, sPaint); - } - - public void disableHardwareLayers() { - mShortcutsAndWidgets.setLayerType(LAYER_TYPE_NONE, sPaint); + public void enableHardwareLayer(boolean hasLayer) { + mShortcutsAndWidgets.setLayerType(hasLayer ? LAYER_TYPE_HARDWARE : LAYER_TYPE_NONE, sPaint); } public void buildHardwareLayer() { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index ea348ef8a..82b10fee8 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1046,7 +1046,7 @@ public class Workspace extends SmoothPagedView mLauncher.updateVoiceButtonProxyVisible(false); } } - }; + } protected void setWallpaperDimension() { String spKey = WallpaperCropActivity.getSharedPreferencesKey(); @@ -1572,7 +1572,7 @@ public class Workspace extends SmoothPagedView } else { for (int i = 0; i < getPageCount(); i++) { final CellLayout cl = (CellLayout) getChildAt(i); - cl.disableHardwareLayers(); + cl.enableHardwareLayer(false); } } } @@ -1592,17 +1592,16 @@ public class Workspace extends SmoothPagedView leftScreen--; } } + + final CellLayout customScreen = mWorkspaceScreens.get(CUSTOM_CONTENT_SCREEN_ID); for (int i = 0; i < screenCount; i++) { final CellLayout layout = (CellLayout) getPageAt(i); - if (!(leftScreen <= i && i <= rightScreen && shouldDrawChild(layout))) { - layout.disableHardwareLayers(); - } - } - for (int i = 0; i < screenCount; i++) { - final CellLayout layout = (CellLayout) getPageAt(i); - if (leftScreen <= i && i <= rightScreen && shouldDrawChild(layout)) { - layout.enableHardwareLayers(); - } + + // enable layers between left and right screen inclusive, except for the + // customScreen, which may animate its content during transitions. + boolean enableLayer = layout != customScreen && + leftScreen <= i && i <= rightScreen && shouldDrawChild(layout); + layout.enableHardwareLayer(enableLayer); } } } |