diff options
| author | 2018-04-25 11:34:51 -0700 | |
|---|---|---|
| committer | 2018-04-25 11:34:51 -0700 | |
| commit | c18bcee38f1d4a443fa35eb9e02a5bd751eb54ec (patch) | |
| tree | af79385d32a1b0048a74ad773883d20d03247f43 | |
| parent | d2b4be098d05549dfb3d7f96f179dd42eeb3e271 (diff) | |
| parent | 8f0335fdec4360f4b78481c9843e9c4513504cde (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.java | 5 | ||||
| -rw-r--r-- | graphics/java/android/graphics/Canvas.java | 11 |
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. * |