Merge "Restore non-scrolling UI on long screenshots crash" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7ab8dd98ba
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user