summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Evan Rosky <erosky@google.com> 2023-04-19 16:39:57 -0700
committer Evan Rosky <erosky@google.com> 2023-04-20 00:20:49 +0000
commit4eb5845678b187fe13f3073e2197505b9defb963 (patch)
treec081f66fe975d32e0a4bf3b297aa6c38d6b0e189 /libs/androidfw/StringPool.cpp
parent9188aa60688692d205e85a2131c396e8669f0f4e (diff)
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
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions