diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 24cca91ea3f30..a76b2696ad774 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -662,12 +662,19 @@ public class ScreenshotController { mScrollCaptureController.run(response); future.addListener(() -> { ScrollCaptureController.LongScreenshot longScreenshot; + try { longScreenshot = future.get(); } catch (CancellationException | InterruptedException | ExecutionException e) { Log.e(TAG, "Exception", e); + mScreenshotView.restoreNonScrollingUi(); + return; + } + + if (longScreenshot.getHeight() == 0) { + mScreenshotView.restoreNonScrollingUi(); return; } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java index 9fe8c84bc13d1..da50ddd47a47e 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java @@ -851,6 +851,23 @@ public class ScreenshotView extends FrameLayout implements anim.start(); } + void restoreNonScrollingUi() { + mScrollChip.setVisibility(View.GONE); + mScrollablePreview.setVisibility(View.GONE); + mScrollingScrim.setVisibility(View.GONE); + + if (mAccessibilityManager.isEnabled()) { + mDismissButton.setVisibility(View.VISIBLE); + } + mActionsContainer.setVisibility(View.VISIBLE); + mBackgroundProtection.setVisibility(View.VISIBLE); + mActionsContainerBackground.setVisibility(View.VISIBLE); + mScreenshotPreviewBorder.setVisibility(View.VISIBLE); + mScreenshotPreview.setVisibility(View.VISIBLE); + // reset the timeout + mCallbacks.onUserInteraction(); + } + boolean isDismissing() { return (mDismissAnimation != null && mDismissAnimation.isRunning()); }