From 9029e5ecd09759cf566f34429a57b69af70c335f Mon Sep 17 00:00:00 2001 From: John Reck Date: Mon, 17 Nov 2014 15:28:55 -0800 Subject: [PATCH] Don't invalidate() on setClipBounds Bug: 17510133 This is a RenderNode property now, so use the faster invalidateViewProperty() shortcut since a re-record isn't necessary Change-Id: If3999bce9a1fb9b60e42f0ee624bb554361f96ac --- core/java/android/view/View.java | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 77c1d7b2edd93..b14c84da34571 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -14774,27 +14774,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * this view, to which future drawing operations will be clipped. */ public void setClipBounds(Rect clipBounds) { + if (clipBounds == mClipBounds + || (clipBounds != null && clipBounds.equals(mClipBounds))) { + return; + } if (clipBounds != null) { - if (clipBounds.equals(mClipBounds)) { - return; - } if (mClipBounds == null) { - invalidate(); mClipBounds = new Rect(clipBounds); } else { - invalidate(Math.min(mClipBounds.left, clipBounds.left), - Math.min(mClipBounds.top, clipBounds.top), - Math.max(mClipBounds.right, clipBounds.right), - Math.max(mClipBounds.bottom, clipBounds.bottom)); mClipBounds.set(clipBounds); } } else { - if (mClipBounds != null) { - invalidate(); - mClipBounds = null; - } + mClipBounds = null; } mRenderNode.setClipBounds(mClipBounds); + invalidateViewProperty(false, false); } /**