Merge "Disable hardware layer on custom screen" into jb-ub-now-indigo-rose

This commit is contained in:
Chris Craik 2013-10-02 00:16:36 +00:00 committed by Android (Google) Code Review
commit a8c1906a9d
2 changed files with 12 additions and 17 deletions

View File

@ -296,12 +296,8 @@ public class CellLayout extends ViewGroup {
addView(mShortcutsAndWidgets); addView(mShortcutsAndWidgets);
} }
public void enableHardwareLayers() { public void enableHardwareLayer(boolean hasLayer) {
mShortcutsAndWidgets.setLayerType(LAYER_TYPE_HARDWARE, sPaint); mShortcutsAndWidgets.setLayerType(hasLayer ? LAYER_TYPE_HARDWARE : LAYER_TYPE_NONE, sPaint);
}
public void disableHardwareLayers() {
mShortcutsAndWidgets.setLayerType(LAYER_TYPE_NONE, sPaint);
} }
public void buildHardwareLayer() { public void buildHardwareLayer() {

View File

@ -1046,7 +1046,7 @@ public class Workspace extends SmoothPagedView
mLauncher.updateVoiceButtonProxyVisible(false); mLauncher.updateVoiceButtonProxyVisible(false);
} }
} }
}; }
protected void setWallpaperDimension() { protected void setWallpaperDimension() {
String spKey = WallpaperCropActivity.getSharedPreferencesKey(); String spKey = WallpaperCropActivity.getSharedPreferencesKey();
@ -1572,7 +1572,7 @@ public class Workspace extends SmoothPagedView
} else { } else {
for (int i = 0; i < getPageCount(); i++) { for (int i = 0; i < getPageCount(); i++) {
final CellLayout cl = (CellLayout) getChildAt(i); final CellLayout cl = (CellLayout) getChildAt(i);
cl.disableHardwareLayers(); cl.enableHardwareLayer(false);
} }
} }
} }
@ -1592,17 +1592,16 @@ public class Workspace extends SmoothPagedView
leftScreen--; leftScreen--;
} }
} }
final CellLayout customScreen = mWorkspaceScreens.get(CUSTOM_CONTENT_SCREEN_ID);
for (int i = 0; i < screenCount; i++) { for (int i = 0; i < screenCount; i++) {
final CellLayout layout = (CellLayout) getPageAt(i); final CellLayout layout = (CellLayout) getPageAt(i);
if (!(leftScreen <= i && i <= rightScreen && shouldDrawChild(layout))) {
layout.disableHardwareLayers(); // enable layers between left and right screen inclusive, except for the
} // customScreen, which may animate its content during transitions.
} boolean enableLayer = layout != customScreen &&
for (int i = 0; i < screenCount; i++) { leftScreen <= i && i <= rightScreen && shouldDrawChild(layout);
final CellLayout layout = (CellLayout) getPageAt(i); layout.enableHardwareLayer(enableLayer);
if (leftScreen <= i && i <= rightScreen && shouldDrawChild(layout)) {
layout.enableHardwareLayers();
}
} }
} }
} }