Commit Graph

29 Commits

Author SHA1 Message Date
Jagrut Desai 2f1c1e10de Don't recreate taskbar in Overview
This cl includes
	- when going to overview from Launcher or Desktop Mode don't recreate taskbar and keep it a same variant as the context user was in.
        - user will still be able to pin/unpin taskbar in overview, but it will be recreated to the launcher context.
	- opening app from taskbar context is now aware of if taskbar is in desktop mode and opens app in Desktop Mode when user oepn any app.
        - This cl will not include the animation when taskbar variant is changing between launcher and desktop mode.

Solution
    - if desktop tasks are visible we will open any app from taskbar context into Desktop windowing mode after launching the DesktopTaskView manually. We will launch desktop task from recentview first and upon end of recent animation we will launch the app.

Bug: 343882478
Test: Manual
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib67e1e7150670f901c07c2df188cde81e7d725dc
2024-12-19 10:50:20 -08: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
Artsiom Mitrokhin ccd96a1868 Draw leave-behind circle after pressing taskbar overflow button
This CL does not include animating app icons / leave behind circle.

Bug: 376281549
Flag: com.android.launcher3.taskbar_overflow
Test: press the oveflow button, dismiss KQS in different ways
Change-Id: I1f830c6859a5be4fb5947ec38e6d30da79138b7f
2024-11-05 19:12:50 -05: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
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
Jon Miranda 9ce27637d7 Filter out running pinned app tasks from KeyboardQuickSwitch.
- Opening KQS from keyboard shortcuts shows all the tasks.
- Opening KQS from taskbar will filter out all the running pinned apps
  from the list of views.

Bug: 368119679
Change-Id: I6090679f9fc359212db00a325917892ae6e1eb39
Test: open KQS via taskbar affordance, obseerve filtered list,
      use alt + option
      observe list changes to show all tasks
      click affordance again, observe list changes back to filtered
Flag: com.android.launcher3.taskbar_overflow
2024-09-26 16:05:23 +00:00
Schneider Victor-Tulias 2b46c945a7 Move DesktopVisibilityController to TouchInteractionService
Moved DesktopVisibilityController to TIS for 3P launcher support.

Flag: EXEMPT bug fix
Fixes: 338063030
Fixes: 357859025
Test: Launched overview and resumed desktop task from desktop mode on 1P and 3P launchers
Change-Id: I64e99a32ed13bcb6e4a81a18c29df2643373dc35
2024-09-11 09:56:35 -07: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
Uwais Ashraf 551927c6d3 Change thumbnail/icon to get the image rather than updating it
Flag: EXEMPT no-op refactor
Bug: 334826842
Test: existing screenshot tests
Test: Manual - checked icon loading
Change-Id: Ie1da708f911ba569d6464f338dc4efac92420268
2024-07-04 12:18:56 +00:00
Uwais Ashraf f6f34ca441 Add TasksRepository
Bug: 334825222
Test: TasksRepositoryTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I3e08dea7b205df54f8bef456ead6466aa2ce45c6
2024-05-24 12:06:59 +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
Alina Zaidi 0580379e30 Rename freeform tasks to desktop tasks
Bug: b/332878426
Test: refactoring CL. Existing unit tests still pass.
Flag: NONE

Change-Id: I24ad9699223dd383ff794ef3b028bf32beca96d7
2024-04-10 12:30:50 +00:00
Alex Chau 13b7ceeff0 Clean-up unnecessary desktop windowing flag usage
- mDesktopVisibilityController will now be null if desktop windowing flag is disabled
- As a result, all code that uses mDesktopVisibilityController no longer need to check desktop windowing flag
- DesktopTaskView/DesktopTask only populates when flag is enabled, so we don't need to check flag if we already check DesktopTaskView/DesktopTask
- Removed the flag check in SplitToWorkspaceController, as we shouldn't enable split from workspace base on desktop windowing, contextual split already have its own flag
- Also avoid creating GroupTask or DesktopTask for freeform tasks when flag is off, to avoid a crash in RecentsView

Bug: 332655617
Test: manual with desktop windowing flag on/off
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Change-Id: I0e45f73ad2b0d99dfb4ec3215f973679ca93957c
2024-04-04 12:21:43 +01: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
Alex Chau 59781a7d79 Remove DesktopTaskView.isDesktopModeSupported
- Use Flags.eanbleDesktopWindowingMode directly
- Also clean up unnecessary and improper flag usage

Bug: 309008406
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Test: presubmit
Change-Id: I86ce317ce577f279d2ce819d6dc1738204c2631e
2024-03-21 14:05:27 +00:00
Schneider Victor-tulias 14d912b062 Close the KQS view when touching the gesture nav region
Also, stop handling KQS open/close during gestures

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 328689890
Fixes: 328689534
Fixes: 328692760
Test: attempted gestures while KQS is shown. attempted KQS while attempting gestures
Change-Id: Idbd1f9cef09d9fbf611350d0847d94ccf8300369
2024-03-13 19:02:29 -04:00
Schneider Victor-tulias 1ca66992c1 Update KQS overview launch animation
Updated the KQS overview launch animation to match the spec: open overview and scroll to the focused task in one fluid motion

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 313608085
Test: Opened KQS from home and overview
Change-Id: I2d617db29ff46e89fab50bb6f8aee900b6fe649f
2024-02-01 14:49:29 +00: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
Ats Jenk 5c25c3a19d Use aconfig flag for desktop mode
Refactors all flag access in Launcher to be from DesktopTaskView and using a method instead of a static field.
Also using static import for the method so if we need to move it, only imports needs to be updated.

Bug: 304778354
Flag: ACONFIG com.android.wm.shell.enable_desktop_windowing TEAMFOOD
Test: enable the aconfig flag, check that desktop windowing is available

Change-Id: Ia2bdfd865802a635878d72cfb5a90c21dad6ed08
2023-10-27 10:58:07 -07:00
Sukesh Ram 3f2338a8e8 Remove Windowing Prototype 1 from Codebase
Refactor codebase to remove Proto1 as it is no longer supported.

Test: aTest WMShellUnitTests
Bug: 297217817
Change-Id: Ifaf67754c048d913fe203f4b34efc3c9c611039c
2023-08-30 17:40:13 +00:00
Ats Jenk 9f79d35ce2 Remove obsolete todo
Removing the todo. We may explore adding a desktop tile to alt+tab
quickswitch at some point in the future. But the design is not final
yet.

Flag: not requred, removing comment
Bug: 280468885
Test: m -j
Change-Id: I2c5293b336c6ba5ba8656bccc9439697dfcbbd27
2023-06-07 15:56:48 -07: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
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 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 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