Commit Graph

12284 Commits

Author SHA1 Message Date
vinayjoglekar 941a9e4f98 Add keyboard navigation for all large tiles
Currently large tiles are excluded from adding into collection which is used for keyboard navigation. This cl adds them if desktop windowing tile is enabled.

Test: TaskGridNavHelperTest
BUG: 361070854
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I63fbb6867c34bbd80df926d750a7a392860b70a0
2024-09-11 16:02:18 +01:00
Treehugger Robot 05084e2ef3 Merge "Introduce RecentsView.getTaskViews for easy for-each looping" into main 2024-09-09 17:44:57 +00:00
Mykola Podolian 5feb4a969a Merge "Fix falling tapl tests" into main 2024-09-09 17:19:12 +00:00
Alex Chau a7c90bbcd1 Introduce RecentsView.getTaskViews for easy for-each looping
- This vastly simplified the need to call do a indexed loop with getTaskViewCount() and calls requireTaskViewAt() each time, useful for code that needs to loop all TaskViews
- removeTasksViewsAndClearAllButton and resetTaskVisuals have no reason to loop reversed, so I just loop them in order

Fix: 365534984
Test: presubmit, manual
Flag: EXEMPT REFACTOR
Change-Id: Ib69f8439f3a7509fc57ec2430affa207c038bf46
2024-09-09 16:39:58 +01:00
mpodolian 39383dd5b3 Fix falling tapl tests
Fix the root cause of falling tests.

Bug: 359277238
Flag: TEST_ONLY
Test: TaplTestsQuickstep,TaplTestPersistentTaskbar
Change-Id: I1e3138e26d0ab253dff7a64cbb3253c220a7db1a
2024-09-07 09:13:53 -07:00
Vinit Nayak 4cfbf6b7e0 Merge "Don't rely on stale DP.isLeftRightSplit for app pair landscape launch" into main 2024-09-06 20:35:25 +00:00
Treehugger Robot 2dfe33b165 Merge "Fix broken Splitscreen in Overview on orientation change in foldables" into main 2024-09-06 18:13:31 +00:00
Treehugger Robot 9a01a9f584 Merge "Add constant DEFAULT_LPNH_TIMEOUT_MS in client code." into main 2024-09-06 18:08:10 +00:00
Alex Chau 4b3da8caea Merge "Set DigitalWellBeingToast to GONE when there is no limit" into main 2024-09-06 17:03:11 +00:00
Ahmed Fakhry d5a4e2e4e2 Fix broken Splitscreen in Overview on orientation change in foldables
We should make sure that only either `topMargin` or a Y translation is
used at a time on an Overview snapshot view to avoid seeing the snapshot
shifted down by an unexpected amount.

Detailed explanation can be found here: https://b.corp.google.com/issues/347143158#comment16

Fixes: 347143158
Test: Manually by following the steps described in the above comment and
      verifying the bug no longer repros.
Flag: EXEMPT bugfix
Change-Id: I699b0ccd9630c10d973fc28abb1228359184929b
2024-09-06 16:09:00 +00:00
Treehugger Robot 255bb6a80c Merge "Improve Task launch logging and function naming" into main 2024-09-06 15:15:50 +00:00
Treehugger Robot e08d6831eb Merge "Adds a timeout for OverviewCommandHelper commands (3/3)" into main 2024-09-06 15:02:25 +00:00
Treehugger Robot 987002bc91 Merge "Fix crash when OverviewCommandHelper queue is cleared before callback response" into main 2024-09-06 14:56:42 +00:00
Alex Chau 98484db4ea Set DigitalWellBeingToast to GONE when there is no limit
- Surprisingly swithcing between GONE and VISIBLE doesn't cause a jank when swiping up
- Having DigitalWellBeingToast GONE should reduce the amount of time to layout RecentsView when there is no banner, which should fix b/364621823
- It might or might not reduce memory usage in b/364568201
- Also add missing accessibiltiy node for DigitalWellBeingToast

Bug: 364621823
Test: Swipe up with the app having DWB banner in different index, no jank when landing to Overivew
Flag: EXEMPT BUG_FIX
Change-Id: Ibf5a7f5318de509fe572779dd774dce71881aabe
2024-09-06 14:26:14 +00:00
Jordan Silva ad3c422f6c Adds a timeout for OverviewCommandHelper commands (3/3)
We had several bugs in the past months related to recents button not displaying Overview when using 3 button navigation. For some of the bug reports, we noticed the OverviewCommandHelper pending commands list got stuck and stopped processing the next commands in the list. Sometimes, the pending commands list was cleared while some command was being processed, allowing newer commands to be executed while another command is already running. This resulted in the second callback never returning and inconsistent states for OverviewCommandHelper and RecentsView.

Our logs showed OverviewCommandHelper often got stuck and didn't finish the commands correctly.

To mitigate these issues we updated the following behaviors:
- Implemented a timeout to process the commands in the queue. If the callback doesn't return in a given time, it will drop that execution and process the next one in the queue.
- Fix clearPendingCommands to clear only the pending commands from the queue, and not the running command.

Bug: 352046797
Fix: 351122926
Fix: 361768912
Flag: EXEMPT bugfix.
Test: OverviewCommandHelperTest
Change-Id: I47adf0c54dcbaef63d9b72055e000c26114e96e1
2024-09-06 13:58:10 +01:00
Jordan Silva ef1bab89f7 Fix crash when OverviewCommandHelper queue is cleared before callback response
This issue should not happen after b/364860731 fix. The issue happened because the queue was cleared while a command was being processed. Then, onTransitionComplete callback returned and checked if the first item of the queue was the same processed, but the queue was empty.
To prevent future cases of NoSuchElementException, we updated the logic to check the firstOrNull item from the queue.

Fix: 364986456
Bug: 364860731
Flag: EXEMPT bugfix
Test: Manual
Change-Id: Iaa606943db3ff89a7f3012260663c41954d720a7
2024-09-06 12:49:26 +00:00
Alex Chau adccfa9aa6 Add logs around taskStack changes in RecentsView
Bug: 310064698
Test: manual
Flag: EXEMPT REFACTOR
Change-Id: I2334b0203d17fe534c2a715d3233e800036f0a36
2024-09-06 12:47:59 +01:00
Vinit Nayak ef3207aef2 Don't rely on stale DP.isLeftRightSplit for app pair landscape launch
* If phone auto-rotate is on but launcher rotation is off, if you
launch app pair holding phone horizontally the apps will launch in
landscape but DeviceProfile will report portrait.
* Now we see if all the leaf tasks have their top bounds be 0 to
determine leftRight split-ness
* Animation is still wonky, but acceptable for this edge case for now

Fixes: 356763330
Test: No crash, app pairs launch fine in normal portrait and landscape
Flag: EXEMPT bugfix
Change-Id: I0a067b50751b919bda5446c3e36055e58222bcab
2024-09-05 16:21:05 -07:00
Anushree Ganjam 3b5afe2854 Add constant DEFAULT_LPNH_TIMEOUT_MS in client code.
Bug: 364389624
Test: Manual
Flag: NONE Bugfix
Change-Id: I7410227835012e7f608d6619c2e792120c484c26
2024-09-05 14:36:20 -07:00
Shuming Hao 1dc86702be Merge "Set KeyboardQuickSwitchView ratio correctly." into main 2024-09-05 21:24:54 +00:00
Shuming Hao 3ff6087d98 Set KeyboardQuickSwitchView ratio correctly.
This CL sets the thumbnailView ratio correctly in Alt-Tab UI. The currently supported ratios are `SNAP_TO_30_70, SNAP_TO_50_50, SNAP_TO_70_30`. This can be extended when we add more split modes later.

Bug: 328691131
Test: manual in both landscape and portrait mode.
Flag: EXEMPT bugfix
Recall: http://recall/clips/79f3b250-d691-4b03-93c3-825a80478ae0

Change-Id: Idf4f174d1b222a8f3c80e5c6ed17c5bf53d3368c
2024-09-05 10:13:36 -07:00
Alex Chau 54fc5e0e52 Improve Task launch logging and function naming
Fix: 360186814
Test: manual
Flag: EXEMPT REFACTOR
Change-Id: I22c5a08382800941f0dd8f64f6129438ac04edaa
2024-09-05 16:58:06 +01:00
Wei Sheng Shih 9c1fd149dd Merge "Ensure the scrim layer above home task & wallpaper." into main 2024-09-05 02:14:55 +00:00
wilsonshih 4f5c7f6254 Ensure the scrim layer above home task & wallpaper.
Sepcify a positive number which must larger than task layer, to ensure
the scrim layer must occludes home task and wallpaper. Otherwise any
reparent transaction without specify layer could affect the visual
order.

Flag: EXEMPT bugfix
Bug: 363927522
Test: verify the scrim layer above home and wallpaper while playing
back-to-home animation.

Change-Id: I558e29e0ebe72b8efb42cacc9cafd7869b09a40e
2024-09-04 09:32:41 +00:00
Treehugger Robot 648320044e Merge "Dagger codeswap setup between Quickstep and NexusLauncher (2/n)" into main 2024-09-04 05:08:10 +00:00
Treehugger Robot 4394cc777d Merge "Fix Square Recent button unresponsiveness" into main 2024-09-03 20:57:49 +00:00
Alex Chau fae91d5e57 Include DigitalWelllBeing banner in task XML to avoid addView during animation
- Also simplified DigitalWellBeingToast to be an actual View that is a children of TaskView
- Split out getDwbLayoutTranslations into 2 methods
  - One that update layout will be called earlier during TaskView.updateTaskSize. It now takes calcualted split snaphsot size and layoutParams sizes instead of using measured sizes so it can run before onMeasure. Also make sure updateLayoutParams is called.
  - One that calulate translations only can be called more frequently without causing jank during animation
- TaskView.updateTaskSize now always set the exact sizes as layoutParams instead of MATCH_PARENT, so we can use the values for updateDwbBannerLayout
- Simplified outline and splitOffsetTranslation calculations

Fix: 345789862
Fix: 362435532
Test: Presubmit and manually testing DWB banner in variaous configuration single/split real/fake portrait/landscape/fake
Flag: EXEMPT bugfix
Change-Id: Ibde877c5f983689e0ef8104ba344b5947d0e3948
2024-09-03 17:02:31 +00:00
Alex Chau 09623dd5e5 Merge "Fix talkback in split mode" into main 2024-09-03 17:02:04 +00:00
Ats Jenk 32f22de97d Merge "Reuse stash handle alpha animation constants" into main 2024-09-03 16:09:51 +00:00
vinayjoglekar 3359fa7f32 Fix talkback in split mode
1. Announce description of both snapshot in GroupedTaskView.
2. Announce them in correct order.

After setting right content description for both the apps in split mode, announcement order was reverse. Seems that order of the node tree which android sees was wrong. Also order did not change even in RTL mode.

see here https://paste.googleplex.com/6492038621298688.

The correct order is manually set using addChildrenForAccessibility in GroupedTaskView. (similarly being used in RecentsView since we use reverse order for overview). Also considered RTL.
See order after fix here
https://paste.googleplex.com/6492038621298688

https://drive.google.com/file/d/1BA1YKkcNsovEu4us9cvq5xOdXviTR1OV/view?usp=drive_link

Other alternatives tried were fixing order using android:accessibilityTraversalAfter and android:accessibilityTraversalBefore, both in layout and programatically which doesn't seem to work.

Test: Manual - Using Node tree debugging of talkback developer options.(Print and filter by tag TreeDebug)
BUG: 330424779
Flag: EXEMPT bugfix
Change-Id: If3c360277bd951d2d2b223bab7844e078e9c7d27
2024-09-03 15:22:30 +01:00
Jordan Silva dfd6924274 Fix Square Recent button unresponsiveness
This CL adds a fix to prevent OverviewCommandHelper adding and running a new command when a previous command is already running.
In some cases OverviewCommandHelper queue gets cleared, ignoring if a command is still running. This behavior allows a new command to be added in the queue and executed right away, even that an old command is still waiting for callback. This results in the queue to be stuck due to an invalid state.

To prevent this, we implement the following changes:
- Prevent calling onTaskLaunchedInLiveTileMode from RecentsView when recents animation controller is null.
- Fix clearPendingCommands to clear only the pending commands from the queue, and not the running command.

Fix: 352046797
Flag: EXEMPT bugfix.
Test: Manual.
Change-Id: Ia6afc86424d298353a7ad6755e9a98275330d4ce
2024-09-03 14:37:57 +01:00
Luca Zuccarini d75eacf30d 3/3 Move some Shell utils to the Shared package.
Bug: 322791067
Flag: EXEMPT move only
Test: NA
Change-Id: Iabc42e4c1d9c13667e9d91be5789cf295f3332e1
2024-09-02 09:23:34 +00:00
Ats Jenk ba6c9f06ed Merge "Scale bubble bar to the width of the handle" into main 2024-08-30 23:06:43 +00:00
Schneider Victor-tulias a4ce092bea Merge "Add a test base for AbsSwipeUpHandler and its subclasses" into main 2024-08-30 20:48:09 +00:00
Tracy Zhou 98febb5fa4 Merge "Skip updating taskbar background alpha in phone mode" into main 2024-08-30 20:31:27 +00:00
Ats Jenk 673b88535c Reuse stash handle alpha animation constants
Taskbar and bubble bar stash handle should use a similar animation for
stash and unstash.
Remove duplicate alpha animation constants and use only the ones defined
in taskbar controller for taskbar and bubble bar.

Bug: 345680453
Flag: EXEMPT refactor
Test: m
Change-Id: I9edf847fc4148bc731051de60a883011e6bfb848
2024-08-30 13:07:24 -07:00
Ats Jenk dff855e702 Merge "Update bubble bar stash and unstash animation" into main 2024-08-30 19:30:14 +00:00
Mady Mellor 669445f707 Merge "Don't show the app badge on app bubbles" into main 2024-08-30 19:08:24 +00:00
Schneider Victor-tulias f5035847b1 Add a test base for AbsSwipeUpHandler and its subclasses
- Added a few basic tests for scenarios that should be contant across subclasses. These tests will not run on their own, they will only run when a subclass' test suite is run.
- Added test suites for LauncherSwipeHandlerV2 and FallbackSwipeHandler

Flag: EXEMPT adding tests
Bug: 353763639
Test: LauncherSwipeHandlerV2Test, FallbackSwipeHandlerTest
Change-Id: Ib44199f5d5281a544b433649d6ed49ae2a65ed70
2024-08-30 14:14:03 -04:00
Ats Jenk da9e36e4e7 Scale bubble bar to the width of the handle
When animating bubble bar from the stash handle, scale the width to the
handle.
Bubble bar is already almost the size of the handle, but a small scale
is still added.

Bug: 345488489
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest TransientBubbleStashControllerTest
Test: slow animations down and unstash and stash bubble bar, observe
  that the width of the bubble bar scales down to the handle
Change-Id: I54dc228fa41d4d494bfb15e191d2ba563c0970c7
2024-08-30 10:17:29 -07:00
Mady Mellor 3808adc58c Don't show the app badge on app bubbles
Flag: com.android.wm.shell.enable_bubble_anything
Test: manual - add an app bubble to bubble bar, observe it's not
               badged (with sysui CL)
Bug: 342245211
Change-Id: I768fa9bb478eeaba587b90d478f32f8c2ee88be1
2024-08-30 09:52:45 -07:00
Mady Mellor c4c5057c08 Merge "Follow RegionSamplingHelper being moved into shell" into main 2024-08-30 16:49:32 +00:00
Treehugger Robot 5b0e061b4e Merge "Only refresh TaskThumbnailViewDeprecated if runningTaskShowScreenshot has changed" into main 2024-08-30 15:46:20 +00:00
Schneider Victor-tulias 211751676c Merge changes I3e97ec83,Ib47a8a7f into main
* changes:
  Update KQS UX to better support square aspect ratio devices
  Update KQS recents apps and desktop mode launching UX
2024-08-30 13:48:05 +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
Alex Chau 31d465937b Only refresh TaskThumbnailViewDeprecated if runningTaskShowScreenshot has changed
- This is a follow-up of ag/28922223, which caused a RECENTS_SCROLLING jank regression
- The regression is probably caused by TaskThumbnailViewDeprecated unnecessarily redrawing, the fix is to only redraw when needed
- Also combined setShouldShowScreenshot and refreshThumbnails into a single method, so we can easily check inside TaskView if a refresh is necessary
- Centralize screenshotTasks logic into RecentsViewUtils, and centralize thumbnailView refreshing inside TaksView.setShouldShowScreenshot

Fix: 362294538
Test: Invoke Omnient or Screenshot hardware button on live tile, verify running task switches to screenshot after overlay closes
Test: Select/Screenshot swithces to screenshot normally
Flag: EXEMPT BUG_FIX
Change-Id: I7c6e73e52ebf18e7c59bb9afea029246b92681d2
2024-08-30 14:46:22 +01:00
Treehugger Robot 8da23e8c91 Merge "Refactoring OverviewCommandHelper (2/3)" into main 2024-08-30 13:31:58 +00:00
Treehugger Robot 09398bf183 Merge "Refactoring OverviewCommandHelper (1/3)" into main 2024-08-30 12:44:26 +00:00
Jordan Silva ebfae18529 Refactoring OverviewCommandHelper (2/3)
This CL should not affect the behavior of OverviewCommandHelper.
- It splits executeCommand into smaller functions
- Rearrange public/private functions
- Adds extra logs.

Bug: 352046797
Bug: 351122926
Flag: EXEMPT bugfix.
Test: Manual.
Change-Id: I283f179794af812973a559db6291febe19e3c6d7
2024-08-30 12:30:54 +01:00