diff options
| -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. * |