Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f75d3ab3 authored by Miranda Kephart's avatar Miranda Kephart Committed by Automerger Merge Worker
Browse files

Merge "Restore non-scrolling UI on long screenshots crash" into sc-dev am: 7ab8dd98

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15161573

Change-Id: I2fe1917374f6a2a75c52324e6129cc85152c4139
parents 87065aa1 7ab8dd98
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -676,12 +676,19 @@ public class ScreenshotController {
                            mScrollCaptureController.run(response);
                            mScrollCaptureController.run(response);
                    future.addListener(() -> {
                    future.addListener(() -> {
                        ScrollCaptureController.LongScreenshot longScreenshot;
                        ScrollCaptureController.LongScreenshot longScreenshot;

                        try {
                        try {
                            longScreenshot = future.get();
                            longScreenshot = future.get();
                        } catch (CancellationException
                        } catch (CancellationException
                                | InterruptedException
                                | InterruptedException
                                | ExecutionException e) {
                                | ExecutionException e) {
                            Log.e(TAG, "Exception", e);
                            Log.e(TAG, "Exception", e);
                            mScreenshotView.restoreNonScrollingUi();
                            return;
                        }

                        if (longScreenshot.getHeight() == 0) {
                            mScreenshotView.restoreNonScrollingUi();
                            return;
                            return;
                        }
                        }


+17 −0
Original line number Original line Diff line number Diff line
@@ -881,6 +881,23 @@ public class ScreenshotView extends FrameLayout implements
        anim.start();
        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() {
    boolean isDismissing() {
        return (mDismissAnimation != null && mDismissAnimation.isRunning());
        return (mDismissAnimation != null && mDismissAnimation.isRunning());
    }
    }