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

Skip to content
Commit 4eb58456 authored by Evan Rosky's avatar Evan Rosky
Browse files

Fix some incompatibilities of 3p launcher and recentstransition

Since Launcher talks to both recentstransition and WMCore via
binder, it can result in races. Because 3p launchers are treated
half like apps (to recents), launcher would use normal activity
calls to control the 3p launcher lifecycle. It would sometimes
launch the app AND set focus at similar times. Because setfocus
went through recentstransition, it could race and cause the
focus change to happen after the activity-launch which would
confuse recents. To fix this, add a special focus API for recents
which says "focus top task" since all recents really needs is
to tell WM to move focus to itself (transient launch defers
focus change until the animation requests it). By just focusing
"top" task, it should never result in a re-ordering but still
work for recents use-case.

Additionally, recentstransition was seeing 3p launcher as a
regular (non-home) task. This meant that it would treat a
non-committed gesture as a task-switch and "switch away"
from the 3p launcher. So this CL detects when the gesture
starts on 3p launcher and then uses that information to
categorize uncommit properly.

Bug: 277964651
Test: Use a 3p launcher (like Nova) and use gestures.
Change-Id: I6511db60c5a92d2fa4418b95369e069142b3a00c
parent 9188aa60
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment