Merge "Temporarily allow StackView to use a canvas.clipRectUnion" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-25 17:36:47 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 3 deletions

View File

@@ -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 {

View File

@@ -828,6 +828,17 @@ public class Canvas extends BaseCanvas {
op.nativeInt);
}
/**
* 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.