Commit Graph

10780 Commits

Author SHA1 Message Date
Schneider Victor-tulias
00a484bf03 Merge "Fix alt-tab initial focus in overview on phones" into main 2024-02-15 21:06:08 +00:00
Schneider Victor-tulias
5c6263afc5 Fix alt-tab initial focus in overview on phones
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 325057678
Test: used alt+tab on a phone from home and from an app
Change-Id: I98388fea448fd1932d767c420e232d1451e0bbfe
2024-02-15 18:07:54 +00:00
Sunny Goyal
772e0127c3 Merge "Cleaning up some no-op calls during workspace binding" into main 2024-02-15 01:56:02 +00:00
Andy Wickham
1abc0a7f66 Merge "Extract TaskbarViewCallbacks to a separate class + factory." into main 2024-02-14 23:15:55 +00:00
Sunny Goyal
e337a80ef2 Cleaning up some no-op calls during workspace binding
Bug: 318539160
Flag: None
Test: Manual
Change-Id: Ida21d849a06ed9c0ebf5671214dd9ee8525288d3
2024-02-14 15:10:54 -08:00
Schneider Victor-tulias
33ce1cf67c Merge "Remove KQS touch handling outside its bounds" into main 2024-02-14 18:11:52 +00:00
Saumya Prakash
3acd0708ab Merge "Add insets for taskbar when a camera cutout interrupts it" into main 2024-02-14 17:45:30 +00:00
Alex Chau
76502e84f2 Merge "Refactored StateManager logs" into main 2024-02-14 17:40: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
6e32385838 Merge "Show scrim immediately when animating to overview from app through KQS" into main 2024-02-14 15:21:35 +00:00
Tracy Zhou
64cdbf5c77 Merge "Do not add jank monitor for stash state change when the drag layer is not attached to the window" into main 2024-02-14 03:08:01 +00:00
Andy Wickham
0ae51bcdb9 Extract TaskbarViewCallbacks to a separate class + factory.
Also log long presses on the taskbar all apps button.

Test: Manual
Flag: NA
Change-Id: Id2bf194f09007bfccff9f83162e4bcfb6562580f
2024-02-13 18:51:48 -08:00
Schneider Victor-tulias
bd5ffee884 Show scrim immediately when animating to overview from app through KQS
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 324888882
Test: opened overview from app/home with finger swipe/KQS/overview button
Change-Id: Ia4a15f5a64956ec56fc9aae3511173219616245e
2024-02-13 19:00:04 -05:00
Saumya Prakash
bb3af5d904 Add insets for taskbar when a camera cutout interrupts it
Certain devices have camera cutouts that taskbar's insets did not account for previously. This change adds in the cutout's height as a bottom inset (if it is present) to avoid a black bar being drawn in the taskbar area.

Fix: 322954760
Test: Open a full screen app on a large screen device and ensure that a black bar doesn't show up when rotating the screen to 90 degrees and 180 degrees.
Flag: N/A
Change-Id: I876274b561c7f0101554654ce758fc9c08180de7
2024-02-13 23:00:21 +00:00
Saumya Prakash
e1c6312800 Merge "Update back gesture tutorial strings to align with UX" into main 2024-02-13 22:48:17 +00:00
Tracy Zhou
91546d401d Do not add jank monitor for stash state change when the drag layer is not attached to the window
An alternative here is to use the root layer when NO_RECREATE flag is on. However, we do not have a reference to it here (shall we consider passing it in?)

Fixes: 325096498
Test: Need to verify
Change-Id: I1709bc88753a90547f7a61dc6e24cdaf489d19e0
2024-02-13 20:57:16 +00:00
Mady Mellor
9a1fb27508 Merge "Follow changes for MagneticTarget.Listener to pass the dragged object" into main 2024-02-13 17:47:30 +00:00
Alex Chau
4e6e1555c4 Refactored StateManager logs
- Make the log permanaent behind a DEBUG flag
- Logs are currently enabled with b/279059025 marked as the related bug

Bug: 279059025
Flag: None
Test: Manual
Change-Id: I60a75d73d40d00e7d42292f3d42cc9dd8c9b0825
2024-02-13 15:35:15 +00:00
Jordan Silva
3a42f0e0eb Merge "Log split button visibility to debug spacing issue" into main 2024-02-13 11:44:11 +00:00
Tracy Zhou
92f9d10cea Merge "Hide task bar when folding before the new config renders the correct task bar" into main 2024-02-13 03:52:03 +00:00
Tracy Zhou
dfb334f1e1 Hide task bar when folding before the new config renders the correct task bar
Currently on folding, onConfigurationChange doesn't return about 0.5sec after the small screen turns on. The old bar is visible on the new screen before a visual jump from rendering the new bar.

While the ideal solution is to figure out what causes the delay, we can mitigate the visual jump by dimming the old bar when folded listener returns folded

Test: repeatedly fold and unfold, observe that there is no glare task bar change in task bar area after folding
Bug: 291562764
Change-Id: Ic6834d2d3b7df01a8ef841dde601cdb6a3e481b0
2024-02-12 17:06:04 -08:00
Saumya Prakash
96ce6873dd Update back gesture tutorial strings to align with UX
This change updates the feedback shown to users to align with the
strings in figma for the back gesture tutorial.

Fix: 300919987
Test: Went through both the redesigned and previous gesture tutorial and
ensured the updated strings show up in the redesigned tutorial.
Flag: LEGACY ENABLE_NEW_GESTURE_NAV_TUTORIAL ENABLED

Change-Id: I057af6e8631b86ffaec8093ffbfbeae01c9d917c
2024-02-13 00:35:37 +00:00
Brandon Dayauon
5faed49eaf Merge "Fix color contrast in All Apps text by setting the color to onSurfaceVariant" into main 2024-02-12 23:15:05 +00:00
Schneider Victor-tulias
11e19c139b Merge "Add debug logs to MotionPauseDetector" into main 2024-02-12 22:28:28 +00:00
Schneider Victor-tulias
49bdc5d7ea Add debug logs to MotionPauseDetector
Flag: NONE
Bug: 321123090
Test: checked TIS logs
Change-Id: If389226c60b5115fcf90e76733383c74ceb7fbcd
2024-02-12 15:09:34 -05:00
Tony Wickham
e5451b10e4 Merge "Add CUJ annotations for going to Recents from Home" into main 2024-02-12 19:13:11 +00:00
William Leshner
2d30ff33e0 Merge "Add widget category filter to WidgetPickerActivity." into main 2024-02-12 17:30:46 +00:00
Jordan Silva
2d55c9c679 Log split button visibility to debug spacing issue
Bug: 321291049
Flag: N/A
Test: N/A
Change-Id: Id998be1c8337dfc3617893726dcb5d96fb6a35b8
2024-02-12 16:46:43 +00:00
Alex Chau
8cb873d8fb Merge "Use bigger task size in app to overview carousel" into main 2024-02-12 16:17:30 +00:00
Alex Chau
beb3053f3b Use bigger task size in app to overview carousel
- Introduced carouselTaskSize that represent size of TaskView in app to overview carousel, that is bigger than size of TaskView in Overview state
- Use nonGridScale and translation to scale TaskView to the desired carousel size
- For current task, inroduced carouselScale and translation to apply similar transformation at the carousel. They will be reset in `onPrepareGestureEndAnimation` after gesture is released and form the grid. Carousel translation can be invalidated and aniamte to 0.
- Fixed current task left/right wiggle that is caused by task shrinks and translate in different direction. Pivot is now moved to top right (or top left for RTL), to align with movement of current task.
- To compensate for the pivot change, current task is translated back to the carousel position by taskTranslation, and again translated by carouselTranslation for carousel -> fullScreen scaling. A complex interpolator is introduced to make current task moves in a vertical straight line rather than a curve.
- Fixed a bug in AnimatorControllerWithResistance when scaleStartResist==scaleMaxResist that causes division by 0. For grid overview, resistance kicks in after reaching carousel size, and current task size won't reduce further
- Added PendingAnimation#addAnimatedFloat that uses animator provided by AnimatedFloat, so the animator can be canceled and reaniamte from AnimatedFloat side; AnimatedFloat now clears the property values during cancel so the canceled animator still referenced by PendingAnimation can no longer change the values

Fix: 318352235
Fix: 308643507
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Test: presubmit
Change-Id: I2872d8b2204798fe5e05c10d08480a81e60bb498
2024-02-12 12:06:05 +00:00
Jordan Silva
9d9276810e Merge "IconAppChipView wrong position after rotation with menu opened" into main 2024-02-12 11:02:42 +00:00
Vineeth Bhende
e2c72c0178 Merge "Add HOME_TO_APP tag to CUJ_TASKBAR_EXPAND/COLLAPSE" into main 2024-02-12 04:03:58 +00:00
Will Leshner
afe715a64b Add widget category filter to WidgetPickerActivity.
The category filter can be added to the intent used to show the widget
picker activity.

Bug: 314804170
Test: manually
Flag: NA
Change-Id: I1c2006e23fb5cf076166f7c376298527e47d2e9e
2024-02-11 15:31:00 -08:00
Sunny Goyal
b999979bbb Merge "Creating GestureExclusionManager for a single place to listen for gesture exclusion region changes" into main 2024-02-10 08:17:50 +00:00
Tony Wickham
1a895f05c5 Add CUJ annotations for going to Recents from Home
Bug: 321756829
Flag: none
Test: switchToOverview, e.g. TaplTestsQuickstep
Test: Manually check traces for:
  - Home to quick switch to Overview
  - Home to quick switch to app
  - Home to Overview
  - Home to Overview to Home (one gesture)
Change-Id: I7e09957202b844d5db49f6c8545f864e7ace3522
2024-02-10 00:31:41 +00:00
Jon @
e322086de7 Merge "Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled." into main 2024-02-09 21:30:20 +00:00
Jordan Silva
3fc2298a45 IconAppChipView wrong position after rotation with menu opened
The chip menu was updated to a wrong position when the chip menu was visible and the display orientation changed. An animation to hide the TaskMenuView was happening during the rotation. The animation started before the rotation with wrong positions associated to it, thus, updating the position of the IconAppChipView with wrong X and Y position.

Fix: 320633351
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Test: TaplTestsSplitscreen.testAppChipIsPositionedCorrectlyAfterRotation
Change-Id: Id19ce02f09fa5ff50c6caeab02286d548a520c94
2024-02-09 18:02:15 +00:00
Jon Miranda
3c9de6841c Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled.
This prevents taskbar showing up on home screen. We already did this clean
up when the flag is off, so now we're matching parity. Investigation for
root cause is still on-going but for now this will fix the issue for
TEAMFOODers.

Bug: 279514548
Test: See bug for repo steps
Flag: N/A
Change-Id: I9a0c3b56f48b2c7c43e303978699124146c8b61b
2024-02-09 08:43:31 -08:00
Uwais Ashraf
c2f73d9091 Merge "App chip refactor" into main 2024-02-09 13:43:03 +00:00
Uwais Ashraf
99fdf7a75e App chip refactor
- Adds background outline replacing 2 circles + rect approach. This
enables easier shadow drawing code.
- Simplify structure of AppChipView.
- Adds an anchor View to simplify laying out of menu around app chip

Bug: 313644427
Bug: 317007147
Fix: 322760765
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD
Test: OverviewImageTest
Change-Id: I56c2644779863c083ae475a740a84321b1d0c396
2024-02-09 12:09:42 +00:00
Jeremy Sim
b9c2a1b735 Merge "Fix app pairs launch from in-app Taskbar" into main 2024-02-09 08:10:11 +00:00
Jeremy Sim
cf9132e07c Fix app pairs launch from in-app Taskbar
This CL adds a handler function in SplitAnimationController that manages the complicated logic flow for launching an app pair when already inside of an app.

To give an idea of the complicated logic:
If the user tapped on an app pair while already in an app pair, there are 4 general cases:
  a) Clicked app pair A|B, but both apps are already running on screen
  b) App A is already on-screen, but App B isn't
  c) App B is on-screen, but App A isn't
  d) Neither is on-screen

If the user tapped an app pair while inside a single app, there are 3 cases:
   a) The on-screen app is App A of the app pair
   b) The on-screen app is App B of the app pair
   c) It is neither

For each case, we call a different animation and launch the app pair in a different way.

When merged, this patch will fix all animation glitches that are currently happening in these situations, and get us 90% of the way to having the ideal animation in all cases. There are still a few complicated cases that need a polished animation (like when you launch app pairs with custom ratios), which will be implemented in a following patch soon (I thought this CL was big enough already as is).

Bug: 316485863
Fixes: 315190686
Test: Manual testing of all the different launch combinations
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I5c0e03512bb706360c575d833cac6ed02a5de936
2024-02-09 13:41:29 +08:00
Sunny Goyal
ab67e938db Creating GestureExclusionManager for a single place to listen
for gesture exclusion region changes

Bug: 273828110
Test: atest GestureExclusionManagerTest
Flag: None
Change-Id: Ida257b47d4f34b247af0f25310d589b89f790e65
2024-02-08 18:31:35 -08:00
Jon @
356401e663 Merge "Ensures that we end back to home animation on the last animation frame." into main 2024-02-09 00:43:41 +00:00
Jon Miranda
5441cce805 Ensures that we end back to home animation on the last animation frame.
This fixes the bug where user performs double swipe back to home and we
have a floating window on the screen.

Fixes: 277515917
Test: From an app, back swipe to home, and then immediately back swipe
      to home again
Flag: NONE
Change-Id: If312ee55efeaadde896511c6d449826368b15a84
2024-02-09 00:43:31 +00:00
Mady Mellor
31f53abe45 Follow changes for MagneticTarget.Listener to pass the dragged object
Flag: None; bug fix
Test: atest MagnetizedObjectTest MenuViewLayerTest DragToInteractAnimationControllerTest
Test: manual - drag and dismiss bubbles while stack is expanded
                 - drag and dismiss the stack
Bug: 315127709

Change-Id: I74d6711d822ea8873f468b1a4745d45937b81ef9
2024-02-08 15:44:06 -08:00
Winson Chung
7a9923c2c7 Merge "Fix issue with wrong token used for input consumer unregistration" into main 2024-02-08 19:05:44 +00:00
Winson Chung
b917c9ef52 Fix issue with wrong token used for input consumer unregistration
- Calling TIS.onUserUnlocked() will create a new InputConsumerController
  and also call register() on that consumer, which will under the hood
  destroy and create the consumer with WM.  However, if onUserUnlocked()
  is called multiple times (generally not the case), the second call
  will trigger the creation of a new InputConsumerController and try
  to call destroy with the new consumer's token instead of the old
  one, and when it creates a new consumer WM will throw an exception
  complaining that there is already a consumer.

  We should instead use the same input consumer controller instance
  for each registration so that we can destroy with the same token that
  was previously used to create the consumer

Fixes: 313284686
Test: Force trigger onUserUnlocked() multiple times and ensure no crash
Change-Id: I67da9a1ca82568770d470fd94f17378fd50c02f4
2024-02-08 19:05:30 +00:00
Luca Zuccarini
9fd2b31005 Merge "Rename a few more animations classes to cover transitions in general." into main 2024-02-08 16:34:22 +00:00
Luca Zuccarini
9ac91ffa63 Merge "Rename ActivityLaunchAnimator to cover transitions in general." into main 2024-02-08 10:15:43 +00:00