Updates keyboard quickswitch logic handle quickswitching while on
desktop. When on desktop, alt+tab moves only between desktop tasks.
Fullscreen tasks are shown in the overflow tile and can be accessed by
going to overview.
TODO:
- when not in desktop and using quickswitch, show the desktop tile as a
combined tile in the row, similar to what is shown in overview
Flag: persist.wm.debug.desktop_mode_2
Bug: 280468885
Test: open some apps on desktop and have some fullscreen apps opened in
the background, when on desktop, observe that alt+tab only switches
between desktop tasks
Test: same setup, but switch to a fullscreen app, observe that alt+tab
only switches between fullscreen tasks and desktop is accessible from
overview
Change-Id: Ib19f2eaa24363bbd0669c8c8c3d99ed9d9118a17
- Focus task is only removed under ENABLE_GRID_ONLY_OVERVIEW, but many fixes/refactoring are generic and apply with the flag off
- Keep moving running task to front if go to overvied after quick switch, so live tile is always on top right
Grid calculation:
- Fixed some top/bottom calculation assumption that assume focus task is always present
Size calculation:
- With ENABLE_GRID_ONLY_OVERVIEW, taskSize == gridTaskSize, and task is aligned to top-right of gridRect (instead of focusTaskRect)
Bug: 257952455
Test: Enter overview from home
Test: Enter overview from app, with variations that quick switch and enter
Test: Dismiss task from different position
Test: Split select task from different position
Test: Repeat with/without GRID_ONLY_OVERVIEW flag
Test: Repeat with handheld
Change-Id: I6580a8ac6c2c2059c33c4daca05b7d0354513e74
Enable highlight around focused overview item when desktop windowing
prototypes are enabled.
This highlight was built for and enabled with keyboard quickswitch feature.
We don't support quickswitch on desktop yet.
Disable the quickswitch, but keep the border highlight.
Bug: 269342116
Test: enable desktop windowing proto, use an external keyboard and
alt+tab to switch between apps, observe highlight in overview, no
quickswitch popup
Test: enable desktop windowing proto, enable
ENABLE_KEYBOARD_QUICK_SWITCH, observe that alt+tab still opens
overview
Test: disable desktop windowing proto, enable
ENABLE_KEYBOARD_QUICK_SWITCH, observe alt+tab opens the quickswitch
popup, and highlights in overview
Change-Id: I15b36f082610f4ce38143856c84fef723f1b8ba0
Adding KeyboardQuickSwitchView and associated flows.
Test: Manually tested alt-tab and alt-shift-tab in and out of overview on a tablet and phone
Bug: 258854035
Change-Id: Ifb48b005067b3a9c66acfd5ecdbae144b359d3be
Preparatory change for adding the KeyboardQuickSwitchView and associated flows.
Test: Manually tested alt-tab and alt-shift-tab in and out of overview on a tablet and phone
Bug: 258854035
Change-Id: I468481a023e82d3ef7c7d4d44c5b9435173b49ae
Bug: 261815244
Test: make sure (1) if user starts by swiping up, disable quickswitch (they will land either in overview, home, or the current app) (2) if user starts by quick switching, cancel the gesture
Change-Id: I6b59cec0089d5e6f22eee3241c6336345dd15dce
Returning a runnable list that doesn't get run later causes the overview command to be added to the pending command queue, but never gets removed. This causes following overview (and home on tablets) commands not to respond.
Test: forcefully caused the error condition programmatically; checked the queue is cleared and the user is sent home.
Fixes: 255851262
Change-Id: I9d2f54960c54963b1e7480a597d05911201c152b
Fix: 242114350
Test: Alt+tab to go to overview, and then keep tabbing to switch to the previous tasks
Change-Id: I03db23aa5424e46c0eb783379b0c5e959f75507f
* If current TaskView is running live tiles, animate directly
when toggling recents button instead of trying to
launch the task
Fixes: 240231324
Test: Launching a single GroupedTaskView from overview
launches as expected in 3 button.
Tested adjacent launches as well.
Change-Id: I6c060d918d3ae08bee9da1ad9507bb25cf445b96
Quickly tapping the recents button can start a recents animation while a quick switch is running. This causes the the wrong page index to be used as the focused task index.
Test: manual on large screen
Fixes: 227562351
Change-Id: If99f74477e52ed0c7f7c5fd7b3dc8b201627068b
The recents animation can sometimes start before launcher has started when started with 3-button mode. This causes the animation to start before the recents UI has been initialized by Launcher. Added a callback to properly synchronize launcher start and the recents animation.
Fixes: 229360539
Test: started the recents animation and checked logs (order of operations), when the recents animation or launcher started first
Change-Id: I5938bbba778a2886b4a1e4ee4844eaf28c6fac0e
* Previously the target mode was dependent on whether liveTile
was running or not, opposite targets seem to be coming in from
WM now.
* Remove a bunch of un-used code from LauncherSplitScreenListener
that was used when we only allowed one split pair in overview
previously. Now that is handled by RecentTasksController in shell
so we don't need any additional bookkeeping.
Fix: 212220301
Test: Able to launch side tasks in overview
Change-Id: I002340d98ba379cb4ab9ae37eadfa235d6b5e56d
* Rapidly tapping recents button in 3 button nav
puts launcher in a strange state.
Reproing and understanding that state is complex
since so many state transitions are rapidly happening.
* Easier to limit the number of commands a user
will perform for valid use-cases.
Fixes: 207680265
Test: Rapidly pressing recents when unfolded
doesn't show live tile task on workspace.
Change-Id: I7db849e83c2cafc37a419e189479283f2057bde6
- In some cases WM won't callback the remote animation callbacks (neither
start nor cancel) and Launcher never finishes executing the pending
command (preventing the subsequent commands from running). For the time
being, just cancel the current state to allow the commands to be
processed.
Bug: 194011186
Test: Mash on overview and home buttons with a 3p launcher
Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: I1b1296fab316b979f441ebb474d1475e3fa68f95
RecentsView getTaskViewAt method is nullable and is safe
to call for an out of bound index.
Bug: N/A
Test: m LauncherGoResLib
Change-Id: I7709d63ad4490fd756a50caaf42ba70c4fad4d06
Bug: 200813008
Test: enter overview after activated split screen, observed task
thumbnails showing with correct bounds after roation.
Change-Id: Ifea17d2c685d16db111c4fab88e131595254b9a5
* Also call it when user swipes to home
Fixes: 198310766
Test: Tested QS'ing split to fullscreen,
full to split, swipe to home from split and fullscreen
Change-Id: I6a465ead7fcd68dc85e0ab401789f4a5c3feb0d1
Fixes: 194286702
Test: Go home from app and overview for
3P and normal launcher (test via separate recents activity
in debug menu)
Change-Id: Ifac4afbfa549265a80448ee460a780bf0984f9e1
- Previously we rely on whether launcher is resumed as a signal to see what "toggle" means. This no longer works since launcher is not resumed in Overview. Instead, we need to check the live tile signals.
- Use screenshot doesn't propagate after setting a new current task. So followed the logic around mRunningTaskIconScaledDown to work it out.
- Get rid of NavigationModeFeatureFlag, pending on 3rd party launcher change ag/14409355
Fixes: 185934639
Test: (1) Toggle overview from home screen and toggle back to fullscreen. (2) Toggle overview from app and keep toggling.
Change-Id: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
Merged-In: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
- The intent is not updated in certain cases which means that the
callback may not be made if Launcher gets recreated. Instead
have the tracker manage the set of registered callbacks.
- This change allows AbsSwipeUpHandler to continue to receive
onActivityInit calls even if Launcher restarts, and also to
handle a case where restarting while waiting for a page-settling
callback will continue to finish the gesture.
Bug: 183962705
Test: Force recreate at various points in the gesture
Change-Id: Ib5ead8c868e798e26e56776f57bd715c79d087cd
It's 5 sec, and it works better both
for test runs under stress and for
users in the field that invoke the gesture
slowly.
Test: presubmit
Bug: 169221288
Change-Id: If1d04b63e3d490d7865b9141fc3be34a21693c39
It will help finding jank in the quick switch
scenario.
Also removing tracing for cases when it's done
by the jank monitor.
Test: manual
Bug: 174892351
Change-Id: I16fc784ddb52203dba54eab2700b5a04a10088ff
Test: manual, presubmit on the source branch
x20/teams/android-launcher/merge/ub-launcher3-master_master_6925377.html
Change-Id: I928b100c8f41abff34047df69d988622123f9939
Test: manual - flashed the phone and verified the logging and statsd sampling with default settings
Bug: 131859447, 162927074
Change-Id: I2d0c9fd479654c62841c714eb39f88f84e8ab114
HandlerThread.getLooper blocks the current thread until.
the final thread is initialized. Updating RecentsModel to
use an executor instead of a handler thread to avoid this.
Change-Id: I3b2e82a375ea65bea1526af4a32c6a2488102541
This splits OverviewCommandHelper between a Go and non-Go version with
functionality differing depending on the underlying recents
implementation.
Bug: 114136250
Test: Build NexusLauncher, l3goWithQuickstep, l3goIconRecents
Change-Id: I7c78d7699e5599002de64b289b0c3a47c8c418f7