diff options
| author | 2024-03-27 20:13:24 +0000 | |
|---|---|---|
| committer | 2024-03-28 17:15:36 +0000 | |
| commit | 443ea3ef1911a0635d331dbda687516fa1edd244 (patch) | |
| tree | 1eb20aa4d5ac139759e9e9a2e8f27f9eca62d770 | |
| parent | 8f5a75cd2e0accc67e6c3ca7b003ba33bc71dec6 (diff) | |
Adjust LongScreenshotActivity padding based upon system insets
Bug: 331654675
Test: Manual verification that padding is updated and UI doesn't render
under the system bars.
Flag: None
Change-Id: Ic2b8c0a6d74ed248f5d3712187ac05aacb8cfe60
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java b/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java index 1e1a577ebd4a..6995fad75a90 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java @@ -23,6 +23,7 @@ import android.content.ContentProvider; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.HardwareRenderer; +import android.graphics.Insets; import android.graphics.Matrix; import android.graphics.RecordingCanvas; import android.graphics.Rect; @@ -38,9 +39,11 @@ import android.util.Log; import android.view.Display; import android.view.ScrollCaptureResponse; import android.view.View; +import android.view.WindowInsets; import android.widget.ImageView; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.view.WindowCompat; import com.android.internal.app.ChooserActivity; import com.android.internal.logging.UiEventLogger; @@ -127,6 +130,10 @@ public class LongScreenshotActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + // Enable edge-to-edge explicitly. + WindowCompat.setDecorFitsSystemWindows(getWindow(), false); + setContentView(R.layout.long_screenshot); mPreview = requireViewById(R.id.preview); @@ -149,6 +156,13 @@ public class LongScreenshotActivity extends Activity { (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> updateImageDimensions()); + requireViewById(R.id.root).setOnApplyWindowInsetsListener( + (view, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsets.Type.systemBars()); + view.setPadding(insets.left, insets.top, insets.right, insets.bottom); + return WindowInsets.CONSUMED; + }); + Intent intent = getIntent(); mScrollCaptureResponse = intent.getParcelableExtra(EXTRA_CAPTURE_RESPONSE); mScreenshotUserHandle = intent.getParcelableExtra(EXTRA_SCREENSHOT_USER_HANDLE, |