summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Derek Sollenberger <djsollen@google.com> 2018-04-25 11:34:51 -0700
committer android-build-merger <android-build-merger@google.com> 2018-04-25 11:34:51 -0700
commitc18bcee38f1d4a443fa35eb9e02a5bd751eb54ec (patch)
treeaf79385d32a1b0048a74ad773883d20d03247f43
parentd2b4be098d05549dfb3d7f96f179dd42eeb3e271 (diff)
parent8f0335fdec4360f4b78481c9843e9c4513504cde (diff)
Merge "Temporarily allow StackView to use a canvas.clipRectUnion" into pi-dev am: 7a7b2369fe
am: 8f0335fdec Change-Id: Id22c0ad948b9aecfc0844ab0ad9b0d9eb376febb
-rw-r--r--core/java/android/widget/StackView.java5
-rw-r--r--graphics/java/android/graphics/Canvas.java11
2 files changed, 13 insertions, 3 deletions
diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java
index 1b9055ce33ab..6cc86b9b871c 100644
--- a/core/java/android/widget/StackView.java
+++ b/core/java/android/widget/StackView.java
@@ -28,7 +28,6 @@ import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.graphics.Region;
import android.graphics.TableMaskFilter;
import android.os.Bundle;
import android.util.AttributeSet;
@@ -550,8 +549,8 @@ public class StackView extends AdapterViewAnimator {
// We only expand the clip bounds if necessary.
if (expandClipRegion) {
- canvas.save(Canvas.CLIP_SAVE_FLAG);
- canvas.clipRect(stackInvalidateRect, Region.Op.UNION);
+ canvas.save();
+ canvas.clipRectUnion(stackInvalidateRect);
super.dispatchDraw(canvas);
canvas.restore();
} else {
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 3cc92bcb6956..a465eeafa287 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -829,6 +829,17 @@ public class Canvas extends BaseCanvas {
}
/**
+ * DON'T USE THIS METHOD. It exists only to support a particular legacy behavior in
+ * the view system and will be removed as soon as that code is refactored to no longer
+ * depend on this behavior.
+ * @hide
+ */
+ public boolean clipRectUnion(@NonNull Rect rect) {
+ return nClipRect(mNativeCanvasWrapper, rect.left, rect.top, rect.right, rect.bottom,
+ Region.Op.UNION.nativeInt);
+ }
+
+ /**
* Intersect the current clip with the specified rectangle, which is
* expressed in local coordinates.
*