diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java index fe1005f964ab3..9d9b0431a1761 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java @@ -117,14 +117,7 @@ public class KeyguardWidgetFrame extends FrameLayout { mOverScrollAmount = r; mForegroundGradient = left ? mLeftToRightGradient : mRightToLeftGradient; mForegroundAlpha = (int) Math.round((0.85f * r * 255)); - if (getLayerType() != LAYER_TYPE_HARDWARE) { - setLayerType(LAYER_TYPE_HARDWARE, null); - } invalidate(); - } else { - if (getLayerType() != LAYER_TYPE_NONE) { - setLayerType(LAYER_TYPE_NONE, null); - } } } } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java index a1603dcda961a..9dfbba8096830 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java @@ -76,6 +76,25 @@ public class KeyguardWidgetPager extends PagedView { } } + @Override + protected void onPageBeginMoving() { + // Enable hardware layers while pages are moving + // TODO: We should only do this for the two views that are actually moving + int children = getChildCount(); + for (int i = 0; i < children; i++) { + getChildAt(i).setLayerType(LAYER_TYPE_HARDWARE, null); + } + } + + @Override + protected void onPageEndMoving() { + // Disable hardware layers while pages are moving + int children = getChildCount(); + for (int i = 0; i < children; i++) { + getChildAt(i).setLayerType(LAYER_TYPE_NONE, null); + } + } + /* * This interpolator emulates the rate at which the perceived scale of an object changes * as its distance from a camera increases. When this interpolator is applied to a scale