Commit Graph

12553 Commits

Author SHA1 Message Date
Jeremy Sim 41eadd1a91 Fix bug with double-relayout of Overview Actions View
This CL refactors Overview Actions View so that a separate view, R.id.group_action_buttons, is used for buttons related to grouped tasks. This also changes the way visibility is handled with actions buttons -- instead of all buttons living on one bar and being toggled on and off, sometimes the whole bar is toggled on and off (to change from single task actions to group actions and vice versa).

This prevents the same view from having its visibility changed twice in in one layout and causing the wrong visibility to be rendered.

Fixes: 333844287
Test: Manual
Flag: ACONFIG com.android.wm.shell.enable_app_pairs NEXTFOOD
Change-Id: I1b6be4637ac8c8d424e7633c437fca376ecdd757
2024-05-07 11:18:24 -07:00
Vinit Nayak cc7107d82e Merge "Disable gestures when split apps are animating in from shell" into main 2024-05-07 18:12:00 +00:00
Ats Jenk 31e9455718 Merge "Use translation to move bubble bar during bubble drag" into main 2024-05-07 18:04:31 +00:00
Vinit Nayak eaf9f083dc Merge "Determine split leash position by taskId instead of bounds" into 24D1-dev 2024-05-07 18:02:44 +00:00
Tracy Zhou 63da44e7eb Merge "Update SUW swipe home logic for taskbar stashing" into 24D1-dev 2024-05-07 15:33:00 +00:00
Treehugger Robot 22283fd1b8 Merge "Use TaskContainer as source of truth around Task handling" into main 2024-05-07 15:00:24 +00:00
Liran Binyamin 8f266507fd Merge "Animate the bubble bar for the first bubble" into main 2024-05-07 13:08:21 +00:00
Orhan Uysal d3f3200c5f Add quick switch flag for desktop windowing cases.
Add quick switch flag to desktop windowing cases. Quick switch should
work out of the box for desktop windowing when the flag is enabled.

Bug: 322759294
Bug: 322759294
Test: Manually enable/disable the flag
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_quick_switch DEVELOPMENT

Change-Id: Ifb531368552449f70ce9d883418d26c7f272c6e9
2024-05-07 12:38:05 +00:00
Alex Chau 5b15bfe20b Use TaskContainer as source of truth around Task handling
- Renamed TaskIdAttributeContainer into TaskContainer so it's shorter
- Make mTaskContainers the source of truth for Task handling, removing mTask, mSecondaryTask, mTaskIdContainer and use mTaskContainers to derive all related information
- Remove mTasks/mSnapshotViewMap in DesktopTaskView and replace with mTaskContainers
- Mark methods that assumes a single Task as deprecated e.g. getTask, getItemInfo, getThumbnail to discourage further usage of such methods; "First" is added to the method name to make it explicit only first Task is considered; getTaskContainers is encouraged to access such information

Bug: 249371338
Test: Manual
Flag: None
Change-Id: Ieb15e0e8432913c89dc46c1011f0148095c665f8
2024-05-07 11:51:26 +01:00
Alex Chau 6526706721 Merge "Remove TaskView.isDesktopTask" into main 2024-05-07 08:26:21 +00:00
Andy Wickham 96adbcb2a8 Merge "Remove unused AssistStateManager methods." into main 2024-05-07 01:43:46 +00:00
Tracy Zhou 2155a925fc Merge "Fix 3-button showing up briefly on the AllSet page in setup" into 24D1-dev 2024-05-07 01:26:01 +00:00
Ats Jenk 5a03549797 Use translation to move bubble bar during bubble drag
Revert logic to set translation on each BubbleView and background.
Background translation was set with bounds offset and BubbleView was
using setTranslationX(). This made it hard to synchronise background and
child view translations. And led to flickers.

Applying translation on the BubbleBarView itself, but applying the
reverse of the translation to the dragged BubbleView. This ensures that
the dragged bubble position is not affected by the parent translation.

Introducing a new property for BubbleView that is used to apply
translation during drag. It takes into account the offset of the
BubbleBarView.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: drag bubble to other side and release before the bubble bar
  animation finishes, observe no flickers
Test: drag expanded view to other side and release before the bar
  animation finishes, observe no flickers
Change-Id: I1712ed6ac26831f10466dbaf0378f8aabb29629d
2024-05-06 17:39:29 -07:00
Liran Binyamin aa73f595cf Animate the bubble bar for the first bubble
This change animates the bubble bar for the first bubble.
When we're in home -- the bubble bar bounces in and stays visible
When we're in app -- the bubble bar bounces in, then animates to
the stashed handle.
When the bubble bar auto expands, we currently animate the bubble
bar already expanded. In the future we'll time the expansion
until after the bubble bar settles in.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/hIGwtb3YKyCT9Ke9adZNgY

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 339066271
Test: atest BubbleBarViewAnimatorTest
Change-Id: I80ce55676b72a50bab23623e0b5c1e602690682f
2024-05-06 20:17:28 -04:00
Andy Wickham 1b6a08abd6 Implement animateNavBarLongPress for stashed taskbar.
I think ideally we would tie this into the taskbar's outline
provider, but it seemed more complicated to deal with existing
stashing animations.

Instead I've just animated the stashed taskbar scale to 0.85 or
1.18, depending on the SHRINK_NAV_HANDLE_ON_PRESS flag. These
are based on the existing navbar shrink/expand animations.

Demo (the flickering doesn't happen on-device):
https://drive.google.com/file/d/1CWCPRsuD3kjtOUbwXspkQ_ZJ6Ln7FnUo/view?usp=sharing&resourcekey=0-kJjfgnuEca1de4u8mbHrig

Bug: 308693847
Test: Manual
Flag: LEGACY SHRINK_NAV_HANDLE_ON_PRESS DISABLED
Flag: LEGACY ANIMATE_LPNH DISABLED
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3a7a76f88e51453cc4b70fa68aef2724cccc02c6)
Merged-In: I6ecbc849ac1c066a4c018325f0237a61641d99aa
Change-Id: I6ecbc849ac1c066a4c018325f0237a61641d99aa
2024-05-06 23:46:21 +00:00
Andy Wickham 17526db32a Merge "Implement animateNavBarLongPress for stashed taskbar." into main 2024-05-06 23:12:32 +00:00
Treehugger Robot c5fec774b2 Merge "Fix null pointer in FloatingWidgetView" into 24D1-dev 2024-05-06 22:55:57 +00:00
Tracy Zhou 6d3a1d8f50 Update SUW swipe home logic for taskbar stashing
- Reverted the previous change. It doesn't fix the issue when launching setup mode with command line. The fact that it looked as if it's fixed from factory reset might be a fluke
- Found out that we unstash the task bar to home from setup somewhere in TaskbarStashController. This is related to stashed alpha only.

Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I04daf41ae9a1c3b7e6e4962dd4a8c62b708e0a54
(cherry picked from commit b297d4fb83)
2024-05-06 22:34:36 +00:00
Tony Wickham 4f54ccebb5 Merge "Remove obsolete binder calls to TaskTransitionSpec" into 24D1-dev 2024-05-06 21:09:27 +00:00
fbaron 7435831cbd Fix null pointer in FloatingWidgetView
Flag: NONE
Test: NONE
Bug: 331868669
Change-Id: I350e6660ea1936bb9ee799c3d2c840c57876fef4
(cherry picked from commit c0c0bdbc38)
2024-05-06 20:58:14 +00:00
Tracy Zhou b297d4fb83 Update SUW swipe home logic for taskbar stashing
- Reverted the previous change. It doesn't fix the issue when launching setup mode with command line. The fact that it looked as if it's fixed from factory reset might be a fluke
- Found out that we unstash the task bar to home from setup somewhere in TaskbarStashController. This is related to stashed alpha only.

Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I04daf41ae9a1c3b7e6e4962dd4a8c62b708e0a54
2024-05-06 13:05:41 -07:00
Tracy Zhou 3196b7ca5c Fix 3-button showing up briefly on the AllSet page in setup
Fixes: 338883705
Test: Go through setup. Make sure the 3-button doesn't show up anytime during setup
Change-Id: Idd62486465d608235abe61b994718311c72cb20c
(cherry picked from commit cb8eb189f1)
2024-05-06 19:06:23 +00:00
Tracy Zhou 74ed411d07 Merge "Fix 3-button showing up briefly on the AllSet page in setup" into main 2024-05-06 19:06:07 +00:00
Sukesh Ram f1b3a2fc12 Merge "Replace Contextual Rotation Button with Floating Action Button" into 24D1-dev 2024-05-06 17:31:49 +00:00
Liran Binyamin b4b5e79ffe Merge "Interrupt bubble animation on stash change" into main 2024-05-06 16:06:55 +00:00
Liran Binyamin 209c764175 Interrupt bubble animation on stash change
This change handles cancelling the currently running bubble animation when the stash state is changing.

Demo - http://recall/-/bJtug1HhvXkkeA4MQvIaiP/4jnBgnFaIPez6m7fVLSlf

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I34628f8ad741228dd21285ad66e45ef2909fbdab
2024-05-06 09:55:34 -04:00
Tracy Zhou cb8eb189f1 Fix 3-button showing up briefly on the AllSet page in setup
Fixes: 338883705
Test: Go through setup. Make sure the 3-button doesn't show up anytime during setup
Change-Id: Idd62486465d608235abe61b994718311c72cb20c
2024-05-05 21:39:54 -07:00
Andy Wickham 3a7a76f88e Implement animateNavBarLongPress for stashed taskbar.
I think ideally we would tie this into the taskbar's outline
provider, but it seemed more complicated to deal with existing
stashing animations.

Instead I've just animated the stashed taskbar scale to 0.85 or
1.18, depending on the SHRINK_NAV_HANDLE_ON_PRESS flag. These
are based on the existing navbar shrink/expand animations.

Demo (the flickering doesn't happen on-device):
https://drive.google.com/file/d/1CWCPRsuD3kjtOUbwXspkQ_ZJ6Ln7FnUo/view?usp=sharing&resourcekey=0-kJjfgnuEca1de4u8mbHrig

Bug: 308693847
Test: Manual
Flag: LEGACY SHRINK_NAV_HANDLE_ON_PRESS DISABLED
Flag: LEGACY ANIMATE_LPNH DISABLED
Change-Id: I6ecbc849ac1c066a4c018325f0237a61641d99aa
2024-05-03 17:53:34 -07:00
Tony Wickham 35b08fe4b2 Remove obsolete binder calls to TaskTransitionSpec
Fixes: 334312256
Flag: none
Test: manual (no visual regression)
Change-Id: Ie20dc8d4bb0c85a8a256b001fbb92405679618a8
Merged-In: Ie20dc8d4bb0c85a8a256b001fbb92405679618a8
(cherry picked from commit a179a77e09)
2024-05-03 21:59:24 +00:00
Vinit Nayak 13dea8cbc9 Disable gestures when split apps are animating in from shell
Bug: 286509643
Test: See other CL in topic
Change-Id: Ic770bdf5ae6f847b1deca3b1d7e5a389ddd6663e
2024-05-03 14:52:11 -07:00
Holly Sun 3b36a82cff allKeys in DeviceConfigHelper should be populated with keys.
We have 2 instances of `DeviceConfigHelper`. One is `DeviceConfigHelper<SearchConfigProvider>` which contains all the old keys. One is DeviceConfigHelper<DeviceConfigWrapper> which contains all the new(omni) keys.

Bug: 338430152
Test: manual
Flag: NA
Change-Id: Ic0450df795888c8e5e7892157a8596cd86eb0d99
2024-05-03 13:25:03 -07:00
Hongwei Wang a089315793 Merge "Add debugging information on PiP content overlay" into 24D1-dev 2024-05-03 19:57:50 +00:00
Treehugger Robot 7cc2ab636f Merge "Determine split leash position by taskId instead of bounds" into main 2024-05-03 19:56:54 +00:00
Vinit Nayak 9a3b1ce673 Determine split leash position by taskId instead of bounds
* Previously we were comparing bounds of the leash to determine
which leash was leftTop vs bottomRight
* That didn't work when we were translating the split apps when
IME is showing in portrait split screen
* Transitions between IME showing to recents animation could
probably use some work, but that itself is not a regression.

Bug: 330714602
Test: Tested on large and small screen with IME up on both apps
No more empty hole

Change-Id: Ie08ac644e5d1bcc48ba57e05e25bbee66afa3d37
2024-05-03 19:13:34 +00:00
Tracy Zhou 098c477a04 Merge "Add ime back button logic to the init block of NavbarButtonsViewController" into 24D1-dev 2024-05-03 18:05:55 +00:00
Alex Chau 17d5f77ff5 Remove TaskView.isDesktopTask
- Replace with DesktopTaskView instanceOf check

Bug: 249371338
Test: Manual
Flag: None
Change-Id: I02034775d3b76646ec4603026fc9e617b055f77c
2024-05-03 19:05:54 +01:00
Anushree Ganjam 37845c540b Add dump for PredictionRowView.
adb shell dumpsys activity NexusLauncherActivity : https://paste.googleplex.com/4907497231482880

When AllApps prediction is off : https://paste.googleplex.com/5930628737925120

Bug: 332171918
Test: Manual
Flag: NA
Change-Id: I753ff876aab162026d99fd1b35f63edf2e712f70
(cherry picked from commit 1115b416bb)
2024-05-03 17:08:44 +00:00
Ats Jenk b67d07912c Merge "Drag bubble in bubble bar to other side" into main 2024-05-03 16:41:55 +00:00
Vinit Nayak afb770c737 Merge "Allow single root candidate for app pair launch for pip edge case" into 24D1-dev 2024-05-03 06:30:43 +00:00
Tracy Zhou 7b4cd90332 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
(cherry picked from commit 4b43cfbc04)
2024-05-03 06:24:59 +00:00
Vinit Nayak 55270a9f70 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
Merged-In: I415343a48e980afd7f4e511558d350cf15b97ca1
2024-05-02 22:49:25 +00:00
Vinit Nayak 070c3661d5 Determine split leash position by taskId instead of bounds
* Previously we were comparing bounds of the leash to determine
which leash was leftTop vs bottomRight
* That didn't work when we were translating the split apps when
IME is showing in portrait split screen
* Transitions between IME showing to recents animation could
probably use some work, but that itself is not a regression.

Bug: 330714602
Test: Tested on large and small screen with IME up on both apps
No more empty hole

Change-Id: Ie08ac644e5d1bcc48ba57e05e25bbee66afa3d37
2024-05-02 15:45:23 -07:00
Sukesh Ram 8bce9e5940 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
Merged-In: I8bd9acdeec8ade4c8183c42056bf67b1c825906c
2024-05-02 22:30:49 +00:00
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