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

Commit 406386a8 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Don't take invisible screenshots

This fixes a bug where we took a snapshot of a task while the
surface wasn't visible yet. The transition was set-up so the win
animator was already shown but translucency was set to 0, leading
that the snapshot is a black screen.

We fixed this by also checking whether the alpha is non-zero.

Fixes a bug where launching a Hangouts notification from the
lockscreen causes a black flicker. When we launch the activity,
the Hangouts activity is in the mClosingApps list, because it's
immediately hidden from the lockscreen, which means we try to take
a snapshot. Shortly after that we reopen the activity because
Keyguard is going away, so we try to reuse a snapshot.

Test: go/wm-smoke
Test: Open hangouts, close hangouts with back button, go to
Keyguard, receive message, launch notification

Change-Id: Iffc1db1a738800c90a2421a5f90174d647eb4440
Fixes: 65695379
parent b7202a83
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3020,7 +3020,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
                final boolean foundTargetWs =
                        (w.mAppToken != null && w.mAppToken.token == appToken)
                                || (mScreenshotApplicationState.appWin != null && wallpaperOnly);
                if (foundTargetWs && winAnim.getShown()) {
                if (foundTargetWs && winAnim.getShown() && winAnim.mLastAlpha > 0f) {
                    mScreenshotApplicationState.screenshotReady = true;
                }