From 787ec3f050c10d268b5f18c223fd4c525de53b10 Mon Sep 17 00:00:00 2001 From: Svet Ganov Date: Mon, 22 Jun 2020 16:40:16 -0700 Subject: [PATCH] Support clipping in InlineContentView Support clipping for InlineContentView's backing surface to enable suggestions clipping that does not require re- parenting which has side effects. bug:153826463 Test: atest android.widget.cts.inline.InlineContentViewTest#testReparenting Change-Id: Ia2988ebd660323bf65f0141b4b542a9c4320e178 --- core/java/android/widget/inline/InlineContentView.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/java/android/widget/inline/InlineContentView.java b/core/java/android/widget/inline/InlineContentView.java index 8ca218c1d1a7d..9e3a292440abe 100644 --- a/core/java/android/widget/inline/InlineContentView.java +++ b/core/java/android/widget/inline/InlineContentView.java @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.graphics.PixelFormat; +import android.graphics.Rect; import android.util.AttributeSet; import android.util.Log; import android.view.SurfaceControl; @@ -164,6 +165,7 @@ public class InlineContentView extends ViewGroup { public InlineContentView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); + mSurfaceView.setEnableSurfaceClipping(true); } /** @@ -177,6 +179,12 @@ public class InlineContentView extends ViewGroup { return mSurfaceView.getSurfaceControl(); } + @Override + public void setClipBounds(Rect clipBounds) { + super.setClipBounds(clipBounds); + mSurfaceView.setClipBounds(clipBounds); + } + /** * @inheritDoc * @hide