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

Commit 177bed05 authored by Ikram Gabiyev's avatar Ikram Gabiyev
Browse files

Block startSwipePipToHome if entry was scheduled

Generally, Launcher's AbsSwipeUpHandler checks whether
there is a PiP present when deciding whether to block
startSwipePipToHome call to get entry bounds. But sometimes
the Binder call might get through if the entry is scheduled or
even as the animation is running, since TaskStackListener updates
Launcher uses are out-of-sync from Transitions updates.

So if startSwipePipToHome() arrives into PipController, make sure
to return null bounds after verifying that we are not indeed past PiP
entry scheduling stage, so that AbsSwipeUpHandler bails early after the
synchronous Binder call returns.

Note: repro-ing the issue is quite hard, but blocking
startSwipePipToHome at this point also means
reparentChildSurfaceToTask() never gets routed to PipTaskListener which
was the root of the crash we ave been seeing reported.

Bug: 432684815
Flag: EXEMPT bugfix
Test: swipe-up to PiP as soon as app directly enters PiP
Change-Id: I2838366fafbea3641378e2d6c27b9e710fe31075
parent d02ea380
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment