Close system dialogs before launching LongScreenshotsActivity

In rare cases they may be blocking the shared element transition.

Bug: 241048682
Test: Manual reproduction of bug (long screenshot of quick actions edit
      screen)
Change-Id: I069c8fb55a17ac456c7ced795ab4a23856eb9cda
This commit is contained in:
Matt Casey
2022-10-27 14:25:53 +00:00
parent 693d0a4131
commit 30731e7219
2 changed files with 7 additions and 2 deletions

View File

@@ -728,10 +728,14 @@ public class ScreenshotController {
mLongScreenshotHolder.setLongScreenshot(longScreenshot);
mLongScreenshotHolder.setTransitionDestinationCallback(
(transitionDestination, onTransitionEnd) ->
(transitionDestination, onTransitionEnd) -> {
mScreenshotView.startLongScreenshotTransition(
transitionDestination, onTransitionEnd,
longScreenshot));
longScreenshot);
// TODO: Do this via ActionIntentExecutor instead.
mContext.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
}
);
final Intent intent = new Intent(mContext, LongScreenshotActivity.class);
intent.setFlags(

View File

@@ -872,6 +872,7 @@ public class ScreenshotView extends FrameLayout implements
void startLongScreenshotTransition(Rect destination, Runnable onTransitionEnd,
ScrollCaptureController.LongScreenshot longScreenshot) {
mPendingSharedTransition = true;
AnimatorSet animSet = new AnimatorSet();
ValueAnimator scrimAnim = ValueAnimator.ofFloat(0, 1);