Commit Graph

11894 Commits

Author SHA1 Message Date
Tracy Zhou
c9b5b0a3dd Merge "Add ime back button logic to the init block of NavbarButtonsViewController" into main 2024-05-02 21:16:54 +00:00
Fengjiang Li
c2ef74306b Merge "[Launcher Jank] Pass single threaded Executor to RotationButtonController so that binder calls are ordered." into main 2024-05-02 20:08:50 +00:00
Treehugger Robot
03cd176277 Merge "Add support for animating non-running tasks" into main 2024-05-02 18:24:56 +00:00
Sunny Goyal
93221e00a5 Merge "Converting ModelTask to an interface instead of an abstract class" into main 2024-05-02 17:41:09 +00:00
Hongwei Wang
cdb9690a87 Add debugging information on PiP content overlay
Added the reason for creating the overlay. Updated
SwipePipToHomeAnimator constructor also due to the fact the source rect
hint from Builder class is never empty.

Bug: 330488822
Test: manually, follow the reproduce path
Flag: NA
Change-Id: Id98ce799d7c96fff3279c0df0fa49084a49d563a
2024-05-02 17:01:17 +00:00
Tony Wickham
ee77e8483a Merge "Remove obsolete binder calls to TaskTransitionSpec" into main 2024-05-02 15:28:04 +00:00
Tracy Zhou
4b43cfbc04 Add ime back button logic to the init block of NavbarButtonsViewController
Fixes: 338320015
Test: Run adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity. Make sure the back key shows by default but hides when IME renders back arrow.
Change-Id: I8baeb10d3f5b13c3bac084872d77d881c1513733
2024-05-01 23:18:29 -07:00
Jagrut Desai
0fd34b783c Merge "Taskbar in Desktop Windowing Mode" into main 2024-05-01 22:49:48 +00:00
Sunny Goyal
993893895c Converting ModelTask to an interface instead of an abstract class
This allows extensibility and better use of lambdas

Bug: 338282246
Test: Presubmit
Flag: None

Change-Id: Ia41067f0068b3b631eeb4faf877dc77f8587e1f6
2024-05-01 15:43:26 -07:00
Helen Cheuk
e07207678b Merge "Fix performance issue caused by triggering hover focus animation accidentally" into main 2024-05-01 21:56:26 +00:00
Ats Jenk
363a841a04 Drag bubble in bubble bar to other side
Adds support to pin bubble bar to other side of the screen by dragging
from one bubble. The entire bubble bar will move to the other side.
Implements the BaseBubbleBarPinController to handle dragging an
individual BubbleView.
Updates how translation and alpha get applied during BubbleBarView
location animation when a bubble is being dragged.
Dragged bubble is part of the BubbleBarView and when it is being
dragged, and we animate the bubble bar to the other side, we need to
ensure that the animation does not affect the dragged bubble.
Updating the translation and alpha for the BubbleBarView ViewGroup will
affect the dragged bubble as well. Updating how translation and alpha
gets applied to BubbleBarView so that it gets applied to individual
child views and then we can skip applying it to the dragged view.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: drag bubble from expanded bubble bar to left and right

Change-Id: I1fe2ba9fd466ff97d3b3af763bdcce30c3f98606
2024-05-01 14:53:14 -07:00
Schneider Victor-tulias
65ae550a92 Add support for animating non-running tasks
It is possible to animate a non-running task to home mid-quick switch, which was not properly supported, causing a janky animation. Added custom animations to handle this more smoothly.

Flag:  ACONFIG com.android.launcher3.enable_additional_home_animations DISABLED
Fixes: 237638627
Test: swipe to home mid-quick switch on handheld/large screen in portrait/landscape from an app present/missing on the workscape in RTL/LTR
Change-Id: I89c9cf1ed1c0b88ff6c3ce71a663cb16e69d5843
2024-05-01 20:06:34 +00:00
Holly Jiuyu Sun
2692954360 Merge "[omni] Let parent to allow intercept when it's in the 2nd stage." into main 2024-05-01 18:48:52 +00:00
Vinit Nayak
4cb712b8d6 Merge "Allow single root candidate for app pair launch for pip edge case" into main 2024-05-01 18:43:59 +00:00
Holly Sun
1d90321484 [omni] Let parent to allow intercept when it's in the 2nd stage.
Discussed with Andy for ideas - instead of passing the outer touch slop out, it might be easier to let parent to allow intercept when it's in the 2nd stage (e.g., OverviewInputConsumer doesn't have touch slop handling logic). So we can go through this if: https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java;l=105;drc=deee0d06f624223b808593997cf22042c9aa5142
`mDelegate` can be `OverviewInputConsumer` or `OtherActivityInputConsumer` or `TaskbarUnstashInputConsumer`.

Bug: 330446193
Flag: legacy ENABLE_LPNH_TWO_STAGES disabled
Test: manual
Change-Id: I1f33172f1614a750a01632c8c945ee5e5cbd7adc
2024-05-01 10:02:40 -07:00
Jagrut Desai
2e8ca87c21 Taskbar in Desktop Windowing Mode
Test: presubmit
Bug: 330146462
Flag: NONE
Change-Id: Ib33f90704c3010df6a52e2a1c420960b11dbd0d4
2024-05-01 09:29:24 -07:00
helencheuk
ef31d0a35e Fix performance issue caused by triggering hover focus animation accidentally
HoverAnimator and FocusAnimator are triggered unexpectedly on state transition. When it is already disabled, it is disabled again when user swipes to All Apps and triggers animators. Add checking to not trigger animator when the new enable status is the same as the current one.

Bug: 333688227
Test: Ran v2/android-crystalball-eng/health/microbench/systemui/main/systemui-misc-1-jank-suite in ab/
Flag: N/A
Change-Id: I090490f1c78a3427225c24bc536e1767700ec6c3
2024-05-01 17:15:12 +01:00
Tony Wickham
a179a77e09 Remove obsolete binder calls to TaskTransitionSpec
Fixes: 334312256
Flag: none
Test: manual (no visual regression)
Change-Id: Ie20dc8d4bb0c85a8a256b001fbb92405679618a8
2024-05-01 15:15:18 +00:00
Alex Chau
e14ee6f914 Merge "Improve taskId logging for Overview" into main 2024-05-01 13:49:18 +00:00
Alex Chau
2daa3eba99 Merge "Refactor TaskView.getTaskIds and its attribute container to support any number of tasks" into main 2024-05-01 13:49:02 +00:00
Gustav Sennton
19f8002e30 Merge "Pass OverviewComponentObserver as a parameter." into main 2024-05-01 07:06:40 +00:00
Tracy Zhou
58a018746d Do not hide nav bar on the homescreen from setup
FLAG_STASHED_SMALL_SCREEN is not updated after setup UI finishes.

Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I297e3b44f49f94ab5a1b9fe5ff16ff64c6cf2c0a
(cherry picked from commit ee67a48d60)
2024-05-01 00:08:47 +00:00
Tracy Zhou
d0d94922fe Merge "Do not hide nav bar on the homescreen from setup" into main 2024-05-01 00:08:35 +00:00
Fengjiang Li
08af8696ff [Launcher Jank] Pass single threaded Executor to RotationButtonController so that binder calls are ordered.
Bug: 338036218
Test: presubmit
Flag: NONE
Change-Id: Ic398bf4be53c6b2cc5f4fa11aea5c3b451d5ddf8
2024-04-30 22:41:01 +00:00
Ats Jenk
af0ba3e8cf Merge "Implement API to animate bubble bar position" into main 2024-04-30 22:20:05 +00:00
Tracy Zhou
ee67a48d60 Do not hide nav bar on the homescreen from setup
FLAG_STASHED_SMALL_SCREEN is not updated after setup UI finishes.

Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I297e3b44f49f94ab5a1b9fe5ff16ff64c6cf2c0a
2024-04-30 15:01:38 -07:00
Ats Jenk
d7fe32ab8e Implement API to animate bubble bar position
Create a new API to animate bubble bar position.
Animating it will not update its laid out location.
To update bubble bar laid out location, BubbleBarUpdate can be used.
Applying a location change from BubbleBarUpdate no longer animates the
change.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: long press bubble bar and drag it to left and right
Change-Id: I2572da4c063fc8e07cf07c4303778d343baa4ec4
2024-04-30 13:12:56 -07:00
Treehugger Robot
7f26505f04 Merge "Re-fetch DesktopVisibilityController when needed instead of just once" into main 2024-04-30 17:50:17 +00:00
Alex Chau
0a81d07234 Improve taskId logging for Overview
Fix: 338034523
Test: manual
Flag: NONE
Change-Id: I0ba84047a83bd9bdbd891bddf86f6cbe36bca572
2024-04-30 17:22:43 +01:00
Gustav Sennton
f74d8b7264 Re-fetch DesktopVisibilityController when needed instead of just once
When creating DesktopTaskbarRunningAppsController the Quickstep Launcher
might not be available, meaning we pass a null
DesktopVisibilityController to DesktopTaskbarRunningAppsController.
With this CL we refetch DesktopVisibilityController whenever needed.

Bug: 338035946
Test: manual, and DesktopTaskbarRunningAppsControllerTest
Flag: ACONFIG com.android.window.flags.Flags.enableDesktopWindowingTaskbarRunningApps DEVELOPMENT
Change-Id: I8b806e2d0addbf8fb5ab6a3d419a4691c445f223
2024-04-30 16:07:13 +00:00
Treehugger Robot
5a8e719b4c Merge "Remove references to FEATURE_PC and related Desktop classes in Launcher" into main 2024-04-30 15:33:30 +00:00
Liran Binyamin
85c50adb91 Merge "Animate the bubble bar to show new bubble" into main 2024-04-30 14:01:09 +00:00
Gustav Sennton
0eaf9ebdaa Remove references to FEATURE_PC and related Desktop classes in Launcher
Also clean up TaskbarRecentAppsController APIs

Flag: NA
Test: DesktopTaskbarRunningAppsControllerTest
Bug: 330551930
Change-Id: Ibd9c3d6aa1d5423b51a48ed0a972196752d5199a
2024-04-30 13:15:28 +00:00
Orhan Uysal
6d54305170 Pass OverviewComponentObserver as a parameter.
Instead of instantiating a new OVerviewComponentObserver, instantiate
one in QuickstepLauncher and pass it down to relevant classes.

Test: Manual
Bug: 336155199
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Change-Id: Ifcc40c63f0649544a92e7f6d4a00d9edcd9f7fe1
2024-04-30 09:29:38 +00:00
Treehugger Robot
43f65905ab Merge "Replace Contextual Rotation Button with Floating Action Button" into main 2024-04-30 05:34:35 +00:00
Vinit Nayak
23b85ffdba Allow single root candidate for app pair launch for pip edge case
* Shell will launch single task if requested split apps have one of them
already in Pip
* Create a separate method to set animation for launching from the
appPair icon on workspace
* Reuse the animation method for launching an AppPair icon from taskbar
by specifying which windowing mode to look for if we're launching the
actual split pair vs just one in fullscreen

Bug: 323089902
Test: Launches fine visually
Change-Id: I415343a48e980afd7f4e511558d350cf15b97ca1
2024-04-29 18:52:58 -07:00
Ats Jenk
45a4f6426f Merge "Update bubble bar pin controller after parent class refactor" into main 2024-04-30 01:36:14 +00:00
Sukesh Ram
1187fd817e Replace Contextual Rotation Button with Floating Action Button
When foldable is in 3 button, the rotation button is covered by the device’s camera cutout upon rotation.

This CL replaces Contextual Rotation Button with Floating Action Button for taskbar and navbar.

Flag: NONE
Test: Manually tested on Felix & panther.
Bug: 324070001
Change-Id: I8bd9acdeec8ade4c8183c42056bf67b1c825906c
2024-04-29 22:44:00 +00:00
Ats Jenk
79a5acf475 Update bubble bar pin controller after parent class refactor
Some of the common logic related to exclusion zone calculation moved to
parent class. Update the bubble bar controller based on the refactor.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: run shell unit tests, manual test
Change-Id: I5910f76f26aaf6d15a5f6f7c1399b36b80296aeb
2024-04-29 15:16:14 -07:00
Alex Chau
15e2c7734b Refactor TaskView.getTaskIds and its attribute container to support any number of tasks
- getTaskIds and getTaskIdAttributeContainers will now return an array with any sizes:
  - Not bound -> empty array
  - Single task -> 1 element array
  - Split task -> 2 elements array
  - Desktop task -> N elements array
- Updates TaskView.containsTaskId/containsMultipleTasks accordingly
- Removed unnecessary overrides in GroupedTaskView and DesktopTaskView
- Updates RecentsView.hasAllValidTaskIds accordingly
- Reviewed all direct and indirect usage of getTaskIds, to make sure caller don't access the array without length checking; migrate usage to stream if applicable
- Simplfied RecentsView.shouldAddStubTaskView to use getTaskViewByTaskIds to find TaksView with exact match of taskIds
- Simplfied RecentsView.setContentAlpha to match TaskView ref instead of doing taskId matching

Bug: 249371338
Test: With single, split, desktop task in Overview, try different CUJs like launch, menu, dismiss, scroll, swipe up etc.
Flag: NONE
Change-Id: I39a5a36c85ce8b366fe25132a349b08244fb1217
2024-04-29 19:27:11 +01:00
Gustav Sennton
56f9df0620 Merge "[Desktop Mode] Show indicators under Taskbar app icons for running apps" into main 2024-04-29 08:28:28 +00:00
Pun Butrach
752c3757b1 Don't elevate priority for devices below Q (#4331)
* Don't elevate priority for devices below Q

EGL_CONTEXT_PRIORITY_HIGH_IMG doesn't exist for Android below Q and
Lawnchair Launcher don't support QuickSwitch for Android Q anyway,
the effect should have no effect on daily usage.

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java

* Use AtLeast check from Launcher3's Utilities

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java

Co-authored-by: Zongle Wang <wangzongler@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Co-authored-by: Zongle Wang <wangzongler@gmail.com>
2024-04-27 13:14:34 +00:00
Liran Binyamin
29a3e5d676 Animate the bubble bar to show new bubble
This change updates that animation that plays when a new bubble notification is received. We now animate the entire bubble bar rather than the individual bubble.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dwbsZJZlqLwJ2IG7RfJZ7c

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I2dc58ad61b880d76c9eefa462c3aee4e8bbb3584
2024-04-26 20:50:43 -04:00
Evan Rosky
1754a6a2b2 Merge "Phase-out shell-transit flag" into main 2024-04-26 22:24:35 +00:00
Brian Isganitis
4fcf4016a0 Merge "Make IME force stash the Taskbar." into main 2024-04-26 21:37:23 +00:00
Vinit Nayak
4dfda85f2a Merge "Revert^2 "Launch split tasks at beginning of animation instead of the end"" into 24D1-dev 2024-04-26 18:18:56 +00:00
Saumya Prakash
edc8a0a967 Merge "Increase the delay in between gesture tutorials" into 24D1-dev 2024-04-26 18:05:21 +00:00
Gustav Sennton
52a8b7e24b [Desktop Mode] Show indicators under Taskbar app icons for running apps
In Desktop Mode we show running Desktop apps in the Taskbar. With this
change we also show an indicator under the app icon for each such
running app.

Bug: 332504528
Test: manual
Test: DesktopTaskbarRunningAppsControllerTest
Flag: ACONFIG com.android.window.flags.Flags.enableDesktopWindowingTaskbarRunningApps DEVELOPMENT
Change-Id: If0906dab8ad0bd8a78d93a4e99db47550e763bed
2024-04-26 15:29:00 +00:00
Jordan Silva
4e741082dc Merge "Make TaskMenuViewWithArrow width wrap content with a minimum width" into main 2024-04-26 15:14:46 +00:00
Sam Cackett
dcfe4ef27d Merge "Make DesktopTaskView's icon handling more similar to standard TaskView" into main 2024-04-26 14:53:40 +00:00