summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2013-10-02 00:16:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-10-02 00:16:36 +0000
commita8c1906a9d318f428d2022b7d732c0c7e029a96d (patch)
treee76261c48eceeaac55331c95e766dbd9d6f9faf1
parentc60777ad4dfa6d55c20e9ad772495426f65c2f37 (diff)
parent01f2d7fa4b24b21543012060305d693899b4beaa (diff)
downloadandroid_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
-rw-r--r--src/com/android/launcher3/CellLayout.java8
-rw-r--r--src/com/android/launcher3/Workspace.java21
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);
}
}
}