Commit Graph

47 Commits

Author SHA1 Message Date
Winson Chung b26430a9e4 Add some debug names to various remote transitions
- This helps with debugging and shell dumps

Bug: 378565144
Flag: EXEMPT adding debug strings
Test: dumpsys activity service SystemUIService WMShell
Change-Id: I57ea1c359667b4e7f7ac1e261cc6fba6ad30c6e7
2024-12-06 06:07:29 +00:00
Wen-chien Wang ef427290c9 Merge "Register back action to close the KQS view" into main 2024-12-02 22:04:11 +00:00
Wen-Chien Wang ecc50c6d7c Register back action to close the KQS view
As the KQS view is not extending the floating view, we have to
explicitly register the back action to close the KQS view.

Bug: 379778483
Test: open KQS via alt-tab/overflow button and tap the back button
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I140813d1792f0c17aee5f9f8dd9fa3ed8b40ba6c
2024-12-02 21:00:35 +00:00
Artsiom Mitrokhin c5e77d9717 Fix the overflow button getting stuck in the dot position
The root cause was that there were other unaccounted code paths inside
`KeyboardQuickSwitchViewController` that were causing the KQS view
to be closed.

The fix introduces a new `onCloseStarted` callback that is called before
closing the KQS view. This allows to toggle the overflow button together
with the KQS closing animation (in case it closes with animation).

Bug: 379614917
Flag: com.android.launcher3.taskbar_overflow
Test: manual, following steps in the bug
Change-Id: I1868142c1cdba8111cb86c4c54e5b12b643732c5
2024-11-19 22:54:15 +00:00
Wen-Chien Wang ca95004403 Updates layout when overflow button and alt-tab are both triggered.
Before this cl, the KQS view is closed and reopened when the
overflow button and alt-tab key are triggered one after the other.
This cl changes the behavior so that instead of reopening, the
list of task is updated and the KQS container layout is toggled
between "wrap content" and "match parent".

Bug: 368119679
Test: open KQS via taskbar and observe the layout change
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I05ea4c66727daa206ff1d7906500dc8f9cc81982
2024-11-13 20:48:07 +00:00
Gustav Sennton da2c2c0f7f Handle Desktop app launches from Taskbar/AllApps icon clicks.
- Provide both launch and minimize animations from
  DesktopAppLaunchTransition
- Add support to TaskbarRecentAppsController to check whether an app is
  visible vs. minimized vs. not showing at all in Desktop Mode
- Use DesktopAppLaunchTransition when clicking a Taskbar/AllApps app
  icon (when in Desktop Mode and the app is not visible) to animate the
  app launch
- The animation / transition is passed to Shell through ActivityOptions

Note: this CL does not add animations for launching managed/work
profile apps. That will be handled in b/376819104.

Test: launch apps in Desktop from Taskbar/AllApps
Bug: 327428659
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I44be96b9c53718b2082d2f630e1921356785fc4b
2024-11-07 23:06:24 +00:00
Gustav Sennton 461caa7c5f Support Desktop unminimize animations, and move app-state logic
- Support Desktop unminimize animations through
    1. keyboard alt-tab shortcut
    2. taskbar hotseat icon click (TaskItemInfo)
    3. taskbar running-app icon click (GroupTask)
- move taskbar running-app state logic from TaskbarViewController to
  TaskbarRecentAppsController.

Test: manual - ensure the transitions above cause unminimize animations
Bug: 369966334
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions

Change-Id: I20322bdf58bc69cff360bf26e533e0732d5297b9
2024-11-05 13:39:46 +00:00
Wen-Chien Wang c16a6394e4 Add margins to KQS view that is triggered from transient taskbar
This cl adds additional bottom margins to the KQS view for the
transient taskbar. Also adds a behavior that when the KQS view is
showing, the transient taskbar won't be stashed.

Screenshots with the new layout after this cl is uploaded to the
buganizer.

Bug: 368119679
Test: open KQS via transient taskbar and observe the bounds change
Flag: com.android.launcher3.taskbar_overflow
Change-Id: Ie50e768f828a24f0111df4cdba474a6482a4e1c7
2024-10-29 22:44:31 +00:00
Treehugger Robot 7112a56ede Merge "Tapping overflow button toggles KQS" into main 2024-10-29 19:56:33 +00:00
Treehugger Robot 5e77702197 Merge "Prevent tap in swipe up zone from closing KQS" into main 2024-10-29 01:57:55 +00:00
Toni Barzic befd6bb1ea Prevent tap in swipe up zone from closing KQS
Tap down action in swipe up start zone may or may not be start of a
navigation gesture - for example, it may be start of a tab on an icon in
the task bar. If the user taps on the taskbar overflow button, closing
the KQS on tap down produces unintended behavior (KQS is closed on tap
down, and reopened on tap up). Additionally, this produces inconsistent
behavior in response to app icon taps depending on whether gesture
navigation is enabled or not.
Instead, close KQS as part of `hideOverlayWindow()`, which gets called
when a swipe gesture actually starts (note that KQS is added to the
overlay's drag layer).
Additionally, make sure that KeyboardQuickSwitchController state is
reset if KeyboardQuickSwitchView gets detached from UI due to the
taskbar overlay getting hidden (e.g. in response to home button).
Without this, in certain situations, KQS may get hidden with the
controller thinking the UI is still shown - in case the user releases
the Alt + Tab key combination in this state, the shortcut would end up
getting handled, and switch to the next task.

Bug: 368119679

Test: Press and hold Alt+Tab (while an app is open). After KQS is open,
Swipe up to transition to overflow, or home screen - KQS gets hidden.
Releasing Alt+Tab is no-op.
Test: Press and hold Alt+Tab (while an app is open) with three button
navigation enabled. Press home button. KQS gets hidden. Releasting
Alt+Tab is no-op.
Test: Press and hold Alt+Tab. After KQS is open, open an app from task
bar (either transient or persistent), or all apps list. KQS gets closed,
Releasing Alt+Tab is no-op.

Flag: EXEMPT bugfix

Change-Id: I8b561db3c6ec8a9c7de93e330faf8e3e4d3c8f4e
2024-10-25 21:43:56 +00:00
Toni Barzic 143edac127 Tapping overflow button toggles KQS
Updates the taskbar overflow button handler to toggle the KQS instead of
merely showing it. The toggle action will open KQS view if it's not
visible, or close it if it's visible and has been shown from the
taskbar. If the view is shown, but in response to Alt+Tab, the view will
be closed, and reshown above the task bar.

Requires CL:30016166 for tapping to work as expected, and CL:30074037
for tapping overflow button reopen KQS over shelf if KQS is already
active for Alt+Tab

Bug: 368119679
Test: Enter task bar overflow. Tap overflow button to show KQS, tap
overlow button to hide KQS. Press Alt+Tab, tap overflow button to
reshow KQS over taskbar, and with filtered set of tasks.
Flag: com.android.launcher3.taskbar_overflow

Change-Id: Id598f9cad649aa174aaf1c5802bf6b6837413d1e
2024-10-25 03:28:17 +00:00
Wen-Chien Wang 69ed08ef86 Add margins to KQS view that is triggered from taskbar
Bug: 368119679
Test: open KQS via taskbar and observe the bounds change
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I5060a339cf0cdf70a2a11b57a325767405772ef8
2024-10-23 04:03:50 +00:00
Gustav Sennton 6bb9d56ded Add animation runner for alt-tab desktop app launch
Create a remote transition supporting alt-tab app-launches (app launches
caused by a user using alt-tab to select a minimized app) and any
minimization caused by hitting the window limit during such an app
launch.

Test: manual, and WindowAnimatorTest
Bug: 349791584
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions
Change-Id: I6474fff351f3d7681ca25cd7331e4955e3d1c6e0
2024-10-15 17:34:53 +00:00
Jon Miranda e40cc40619 Close KeyboardQuickSwitch if user taps outside the container.
Bug: 368119679
Change-Id: I3f0b1cacb76077daa5879ad93c195018948497f9
Test: open KQS via taskbar affordance, tap outside the container,
      observe KQS close
Flag: com.android.launcher3.taskbar_overflow
2024-09-27 06:08:11 +00:00
Jon Miranda deaca33cc2 Position KQS to the bottom if opened via taskbar.
Bug: 368119679
Test: open KQS via taskbar, observe view at bottom of screen
      open KQS via keyboard, observe view at top of screen
Flag: com.android.launcher3.taskbar_overflow

Change-Id: I3e6f0d2ba51ec15cf7cb1f41ddc2a4414dfd60d6
2024-09-26 16:05:57 +00:00
Schneider Victor-tulias f0a6d1df57 Update KQS UX to better support square aspect ratio devices
Flag: EXEMPT ENABLE_KEYBOARD_QUICK_SWITCH
Bug: 357512178
Test: Used KQS on a square device
Change-Id: I3e97ec834512521b417f2e707a6838c96bef5752
2024-08-30 13:47:38 +00:00
Schneider Victor-tulias 55c0c5e75d Update KQS recents apps and desktop mode launching UX
- Updated recent apps KQS task view
- Added a desktop mode KQS task view
- Did some code cleanup to support this more cleanly

Flag: EXEMPT ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 357512178
Test: Used KQS with and without desktop mode; opened recent apps and desktop mode
Change-Id: Ib47a8a7f41b56af1ba9d0cbec65ababf8aad7881
2024-08-30 13:46:23 +00:00
Schneider Victor-tulias a929c7ab75 Revert^2 "Add CUJ instrumentation for KQS"
0947d9f618

Change-Id: Ifc6f2ae8f447939f274fb6167cc74c0cd2e89652
2024-07-10 14:30:58 +00:00
Priyanka Advani 0947d9f618 Revert "Add CUJ instrumentation for KQS"
Revert submission 28049476-kqs-cuj-instrumentation

Reason for revert: Droidmonitor created revert due to b/352144322. Will be verifying through ABTD before submission.

Reverted changes: /q/submissionid:28049476-kqs-cuj-instrumentation

Change-Id: I8bfe7bfe4ce1bd816f138dbd4d5915f837ab97a0
2024-07-09 22:04:38 +00:00
Schneider Victor-tulias acddb58539 Add CUJ instrumentation for KQS
Flag: NONE LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Bug: 339585624
Test: manually checked that CUJ calls were reached
Change-Id: Ifd2b92451c5ed2ebc35834c1d2f495275db3d49a
2024-07-04 10:44:26 -04:00
Tony Wickham 4e1befb394 Handle running task launch properly in desktop mode
- Move logic from KeyboardQuickSwitchViewController to handle
  bringing desktop tasks to front, and still support recent
  tasks for non-desktop mode.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: manually launch tasks from the Recents section in both
Desktop mode and full screen mode (running vs recent)
Bug: 315354060

Change-Id: I0520351b4d0095a3538c6165acd82a7b4c45a5e2
2024-06-19 00:25:45 +00:00
Schneider Victor-tulias ec39107105 Update KQS to better support desktop tasks
While we wait for a way to display a sreenshot of the desktop statically, using a placeholder solution.

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 335632286
Test: TaplTestKeyboardQuickSwitch
Change-Id: I2525ab89eb3a5a902e7ab55367187d87aada1f10
2024-04-19 14:53:20 -04:00
Schneider Victor-tulias 086758c821 Merge "Allow KQS to be reopened during the close animation for responsiveness" into main 2024-03-25 18:55:25 +00:00
Schneider Victor-tulias fe7319ec40 Allow KQS to be reopened during the close animation for responsiveness
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 327421402
Test: quickly quick switched during close animation
Change-Id: I11dad62d11afd796aadf9b6165f0b4404f344311
2024-03-25 12:52:12 -04:00
Schneider Victor-tulias 081d6f4b59 Merge "Focus the first task after the desktop task when launching overview from KQS" into main 2024-03-25 15:25:50 +00:00
Schneider Victor-tulias 5f14ec50dd Focus the first task after the desktop task when launching overview from KQS
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Fixes: 327420683
Test: opened overview using KQS
Change-Id: I9395ad6065844bf5f5007180cd8c3f80573ee473
2024-03-22 11:36:56 -04:00
Wei Sheng Shih c5a2e4bf03 Merge "Do not report finish in mergeAnimation..." into main 2024-03-22 03:30:20 +00:00
wilsonshih 7130116894 Do not report finish in mergeAnimation...
...if the handler don't know how to process the transition.
So the Transitions can pass that transition to next handler.

Flag: NONE
Bug: 328619216
Test: manual, use alt+tab to relaunch a task where it's activity
is destroyed.

Change-Id: Idf3f78103a56e91806ec2f6e364c6e8e7f4e205c
2024-03-22 01:14:37 +00:00
Schneider Victor-tulias 08c2575802 Fix KQS app launch through tapping
KeyboardQuickSwitchView only ever has 2 direct children, and all of the task views we're actually concerned with are in a scrollview. removing the extra index handling as this is being handled properly downstream.

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 328692760
Fixes: 304518513
Test: opened KQS and tapped all tasks (6 + overview)
Change-Id: I4e919cce7f1ab55822f93d34c1533062a71aa879
2024-03-14 19:18:49 +00:00
Schneider Victor-tulias 56aa9ed61b Update KQS launch task callbacks
Updated KQS to allow launching tasks through OverviewCommandHelper to allow launching the overview task without it having focus.

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324888738
Fixes: 324904244
Test: used enter and tap to launch tasks in KQS
Change-Id: I6de38ceea22c362a52a420c8ba0165ba23e5c862
2024-02-20 14:54:08 +00:00
Schneider Victor-tulias e724cb8e5f Remove KQS touch handling outside its bounds
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324906627
Fixes: 324893557
Test: opened KQS and tapped outside the bounds with taskbar present/absent
Change-Id: I10de9a1ea1ccca7321981fd5e9e66e9388a8dd0a
2024-02-14 10:42:01 -05:00
Schneider Victor-tulias 7b019ef700 Update the KQS app launch animation to match the spec exactly
Updated the KQS to look exactly like the default app launch animation, in the opposite direction:
- animation interpolator
- task corner radius
- task margin
- animation duration

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 313606549
Fixes: 313607264
Test: launched tasks from KQS from home and launched app
Change-Id: I3f49f9430b2148680816d904aced93d14f366123
2024-01-10 15:34:00 +00:00
Schneider Victor-tulias 5bc6a0aa1f Update KQS task launch animation
Updated the KQS app launch animation to match the spec: translate the launching app from the left (right in RTL) and translate the closing app to the right (left in RTL)

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 313606549
Fixes: 313607264
Test: launched tasks from KQS from home and launched app
Change-Id: I0e903c741e4f930b377607b7eaf42a87177c3eb6
2024-01-08 16:19:17 -05:00
Schneider Victor-tulias 4044669a90 Focus the first task in KQS when it is not currently running
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 316004088
Test: TaplTestsKeyboardQuickSwitch
Change-Id: I8a91ca0dd32c6fc2352d285934a2c4f79ba1bb13
2023-12-19 10:48:40 -05:00
Schneider Victor-tulias f67c54b48f Fix Keyboard quick switch screenshots and spliscreen launch
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 312449590
Fixes: 292182490
Test: TaplTestsKeyboardQuickSwitch, keyboard quick switched with split app pairs
Change-Id: I0faf2f7d58b39270ad6e5a065cf59f48e0dd23f0
2023-11-29 15:59:04 -05:00
Schneider Victor-tulias e95326dfdd Update KeyboardQuickSwitch for TAPL testing
- Added a res id to KeyboardQuickSwitchView for TAPL testing
- Updated KeyboardQuickSwitch focus and scroll initialization
- Logging KeyEvents for TAPL testing
- Updated scrolling logic to wait for initial layout
- Fixed activity leak in KeyboardQuickSwitchViewController

Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Bug: 267520665
Test: TaplTestsKeyboardQuickSwitch
Change-Id: I1d45d948c0e185504d994f7ef1d34f173c2243a9
2023-09-22 11:04:43 -04:00
Ats Jenk 40f9151ff0 Merge "Support alt+tab for desktop tasks" into udc-qpr-dev 2023-05-27 05:52:46 +00:00
Ats Jenk 3067874559 Support alt+tab for desktop tasks
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
2023-05-26 15:38:58 -07:00
Schneider Victor-tulias 8f26e47736 Fix keyboard quick switch d-pad left/right traversal direction
Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 284156698
Test: tried keyboard quick switching with d-pad left/right in rtl/ltr
Change-Id: Idb7466b316cb7cbd9f592c5949d2c95c3278d85f
2023-05-24 10:04:05 -07:00
TreeHugger Robot b9f04842b5 Merge "Add a no recent tasks message to the keyboard quick switch view" into udc-dev 2023-05-16 06:49:52 +00:00
Schneider Victor-tulias 4ee471fecf Merge "Update keyboard quick switch view ordering and add icons" into udc-dev 2023-05-16 05:12:47 +00:00
Schneider Victor-tulias b29355c192 Add a no recent tasks message to the keyboard quick switch view
Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 280652620
Test: launched the keyboard quick switch with 0, <=6 and >6 tasks launched
Change-Id: I560707645b83b79ba2203460e62e4c540f5da421
2023-05-15 16:49:45 -07:00
Schneider Victor-tulias b6407699ae Update keyboard quick switch view ordering and add icons
- Updated the keyboard quick switch view ordering to left-to-right (vice versa in RTL)
- Added app icons to keyboard quick switch taskviews

Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 275629107
Test: launched keyboard quick switch view and changed focus back and forth
Change-Id: Ie2f0a1c08c7065c53075f6fa015000a2d6184491
2023-05-15 12:06:19 -07:00
Schneider Victor-tulias 581fd3eede Code cleanup: recycle typed arrays when they are no longer needed
The border animator does not need the typed array anymore after initialization. recycling the object.

Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 282202504
Test: changed focus in quick switch view and overview
Change-Id: Iea9077e49e754894008899dfc9b90e3876b53051
2023-05-15 11:38:17 -07:00
Schneider Victor-tulias 0bba3d6184 Keyboard quick switch polish
- Added support for escape(backtick on some keyboards) keyboard keys
- Added support for d-pad left and right keyboard keys
- Fixed janky behaviour when quick switching too quickly.
- Removed unused code

Bug: 269618928
Test: Tried quick switch very quickly, tried escape, d-pad left and right keys in RTL and LTR modes
Change-Id: Ie03207cb349891e9c2de18502f3f65b7c8f9c018
2023-02-17 15:44:04 -08:00
Schneider Victor-tulias de7ceba80b Add the KeyboardQuickSwitchView (2/2)
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
2023-02-14 13:34:37 -08:00