diff options
| -rw-r--r-- | core/java/android/view/GLES20Layer.java | 5 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 3 | ||||
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 1 | ||||
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 10 |
4 files changed, 13 insertions, 6 deletions
diff --git a/core/java/android/view/GLES20Layer.java b/core/java/android/view/GLES20Layer.java index a491a0b5a322..fd3b9e55b111 100644 --- a/core/java/android/view/GLES20Layer.java +++ b/core/java/android/view/GLES20Layer.java @@ -54,7 +54,10 @@ abstract class GLES20Layer extends HardwareLayer { @Override void destroy() { - if (mFinalizer != null) mFinalizer.destroy(); + if (mFinalizer != null) { + mFinalizer.destroy(); + mFinalizer = null; + } mLayer = 0; } diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 296e6be2f163..580d450ae3db 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -9676,7 +9676,8 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit * @return A HardwareLayer ready to render, or null if an error occurred. */ HardwareLayer getHardwareLayer() { - if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) { + if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null || + !mAttachInfo.mHardwareRenderer.isEnabled()) { return null; } diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index c89e0397b0f6..7a1acfda4bc1 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -36,7 +36,6 @@ import android.util.Log; import android.util.SparseArray; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; -import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.LayoutAnimationController; diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 9460fe5e979c..0bd5a2a572a6 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1537,7 +1537,8 @@ public final class ViewRootImpl extends Handler implements ViewParent, } } - boolean cancelDraw = attachInfo.mTreeObserver.dispatchOnPreDraw(); + boolean cancelDraw = attachInfo.mTreeObserver.dispatchOnPreDraw() || + viewVisibility != View.VISIBLE; if (!cancelDraw && !newSurface) { if (mPendingTransitions != null && mPendingTransitions.size() > 0) { @@ -1591,8 +1592,11 @@ public final class ViewRootImpl extends Handler implements ViewParent, if (fullRedrawNeeded) { mFullRedrawNeeded = true; } - // Try again - scheduleTraversals(); + + if (viewVisibility == View.VISIBLE) { + // Try again + scheduleTraversals(); + } } } |