Commit Graph

19085 Commits

Author SHA1 Message Date
Uwais Ashraf
e21d6b15d5 Merge "Fix some compile errors occurring as a result of robo enablement" into main 2024-05-21 21:18:11 +00:00
Liran Binyamin
821fac010f Merge "Fix flake in BubbleBarViewAnimatorTest" into main 2024-05-21 20:24:45 +00:00
Uwais Ashraf
784b4f28b0 Fix some compile errors occurring as a result of robo enablement
Fix: 297950111
Test: :NexusLauncher.Robo:testGoogleWithQuickstepDebugUnitTest
Test: atest NexusLauncherRoboTests
Flag: NA
Change-Id: Ic9b09fff630d274558d09b7031d12ec28f10fbc7
2024-05-21 18:56:52 +00:00
Orhan Uysal
d061c71e66 Merge "Fix activity leak" into main 2024-05-21 18:35:34 +00:00
Liran Binyamin
56322431ca Fix flake in BubbleBarViewAnimatorTest
The flake was probably happening because the animation end listener
has not finished running on the UI thread. This change waits for
the UI thread to become idle before proceeding.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 341161005
Test: ran BubbleBarViewAnimatorTest#animateToInitialState_inApp 100x
Change-Id: Ide3b0a34095ed01cc179534fa608aecd5d3f3a20
2024-05-21 13:19:34 -04:00
Orhan Uysal
67c807a1fe Fix activity leak
In some occasions, launcher leaks through DesktopVisibilityController
and SplitFromDesktopController. Set mDesktopVisibilityController and mSplitSelectStateController to null
after their onDestroy() methods are called.

Bug: 332339792
Test: m
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD
Change-Id: I66418f30ec5d2735f812ee6e4180f55f67d7b46f
2024-05-21 12:42:37 +00:00
Alex Chau
4127e460b0 Move common code from DesktopTaskView and GroupedTaskView to TaskView
- Most TaskView method will now loop through taskContainer instead of accessing the first/second
- Moved TaskThumbnailView, showWindowsView, and TaskOverlay to be part of TaskContainer. There are still some TaskOverlay access from TaskThumbnailViewDeprecated that should be remove as we start using TaskThumbnailView

Fix: 339787250
Test: Manual
Flag: EXEMPT refactor
Change-Id: Icfaa4f5eb50582faed01113465335b6d2899f781
2024-05-21 12:43:37 +01:00
Ats Jenk
38ad424a17 Merge "Only send bubble bar top coordinate to shell" into main 2024-05-20 17:36:23 +00:00
Tracy Zhou
ad26390e23 Merge "Set inset in phone setup mode to setup inset" into main 2024-05-20 16:24:36 +00:00
Fengjiang Li
c9efd81d57 Merge "[Launcher Jank] Move binder call of RotationChangeProvider to BG thread" into main 2024-05-17 23:06:29 +00:00
Sunny Goyal
b7cd672363 Merge "Adding support for importing/exporting launcher layout" into main 2024-05-17 18:08:25 +00:00
Ats Jenk
7383866b91 Merge "Fix bubble translation when released after dragging" into main 2024-05-17 18:04:23 +00:00
Ats Jenk
b34f8c8831 Only send bubble bar top coordinate to shell
Stop sending entire bubble bar bounds to shell.
Keeping the bounds in sync was error prone as bubble bar can expand and
collapse. Bubbles can be added/removed.
In each of these cases we had to make sure that shell gets updated.
Shell only needed the full bounds for collapse/expand animation. But
after updating the animation, shell only needs the top coordinate of the
bubble bar.

Bug: 330585402
Flag: com.android.wm.shell.enable_bubble_bar
Test: bubble bar drag
  - drag bar from right to left
  - expand the bar
  - check that expanded view scales in from left edge
  - collapse and drag bar back, check the animation
Test: selected bubble drag
  - drag expanded bubble from right to left
  - check that expanded view scales in from the left edge
  - drag the bubble back to right, check animation
Test: other bubble drag
  - drag a unselected bubble from right to left
  - check that the selected bubble expands in from left edge
  - drag the bubble back to right, check animation again
Test: drag bubble from right to left, observe that expanded view
  expand animation originates from the bubble bar

Change-Id: Ib66cef8d3c04bce54a69e30e99edd408a31f018f
2024-05-17 10:53:33 -07:00
Uwais Ashraf
e420318843 Merge "Use getter for thumbnail from converted ThumbnailData in Java" into main 2024-05-17 17:08:08 +00:00
Ats Jenk
3529ace8a1 Fix bubble translation when released after dragging
Translation for bubble after drag release was based on bubble bar translation. TranslationX was adjusted for bubble position. And translationY was reused from bubble bar.
Before ag/27284635 bubble bar translationY just copied over the input translation value. But the cl introduced a fixed translationY applied to bubble bar.
This was getting applied to the bubble as well. And resulted in bubble being out of its target position when releasing drag.

Bug: 330585402
Test: drag a bubble from bubble bar and release it, observe it animates
  to its correct position in the bar

Change-Id: I48f2a84b60a9cc6047e9841c254b4035212f3c0e
2024-05-17 15:58:24 +00:00
Alex Chau
65574f8485 Sets taskOverlayFactory to TaskThumbnailViewDeprecated even when not binding
Bug: 339787593
Test: Manual
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I672bf7e5c0fd578974fca16272557f2ef2f218ee
2024-05-17 12:40:42 +01:00
Orhan Uysal
33967ebcea Merge "Set the listeners to null on unregister" into main 2024-05-17 08:33:03 +00:00
Kean Mariotti
c4079927f9 Merge "vc tracing: refactoring prior perfetto migration" into main 2024-05-17 07:38:33 +00:00
Tracy Zhou
b17af6ff75 Set inset in phone setup mode to setup inset
- In phone setup mode, gesture mode is no button but the inset we report should be setup inset

Fixes: 340998601
Test: https://screenshot.googleplex.com/8Q4WHorpUeqWSjw
Change-Id: I84d60ecc7179008e80e7b09eda5b3a1abb24e138
2024-05-16 21:38:58 -07:00
Sunny Goyal
25f5e29418 Adding support for importing/exporting launcher layout
Bug: 338282246
Flag: None
Test: Manual, developer feature
      atest AutoInstallsLayoutTest
Change-Id: I8a5674080f3c156d97bc6118c51532c2fe8177d5
2024-05-16 15:24:41 -07:00
Fengjiang Li
6335460613 [Launcher Jank] Move binder call of RotationChangeProvider to BG thread
Fix: 333771185
Test: record prefetto trace
Flag: NONE not gated
Change-Id: I68a574cbcfed84876fe57fa5be03ca189e569f7e
2024-05-16 15:17:12 -07:00
Ats Jenk
5719808945 Merge "Rename removeBubble method to clarify it is for dismissing via drag" into main 2024-05-16 22:00:56 +00:00
Liran Binyamin
013a4121be Merge "Suppress bubble animation when IME is visible" into main 2024-05-16 18:22:38 +00:00
Uwais Ashraf
1aa0e96d1f Use getter for thumbnail from converted ThumbnailData in Java
Bug: 334825222
Test: NA - one for one conversion
Flag: NA
Change-Id: Ibad85c59d7696f177d0fb723b7fd5b8983ecc974
2024-05-16 16:07:29 +00:00
Liran Binyamin
2cbb6dc5e4 Suppress bubble animation when IME is visible
When the IME is visible we now don't animate the bubble bar.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 340532785
Test: manual
Change-Id: I31fcf6a1fe81d907a9a02780ba42813111ac7e90
2024-05-16 10:15:19 -04:00
Alex Chau
ed9e3a8701 Merge "Convert TaksView to Kotlin" into main 2024-05-16 14:00:02 +00:00
Liran Binyamin
606e9fde47 Merge "Animate bubble update notifications" into main 2024-05-16 13:13:57 +00:00
Eghosa Ewansiha-Vlachavas
c36afd3e26 Merge "[2/n] Unify DesktopModeStatus between Shell and Sysui" into main 2024-05-16 12:43:26 +00:00
Chris Göllner
4b6d2d4fa3 Merge "Shortcut Helper - Integrate with launcher 3 button nav translation" into main 2024-05-16 12:40:22 +00:00
Alex Chau
9565667813 Convert TaksView to Kotlin
- PS1: Android Studio conversion (unformatted, cannot compile)
- PS2: Fix compilation issues and formatting
- PS3: First pass ready for review
- PS4: Minor changes (Remove Consumer, remove unnecessary null-checks)
- PS5: Removed check() around taskContainers, which is now lateinit and should always be initiailzed. Also ensure TaskView is bound before adding to parent.
- PS6: Move a bunch of getters to use .property style
- PS8: Refacoted RecentsView.applyLoadPlan bind logic, to avoid inflating TaksView, bind, add then immediatley remove
- PS10: Turned more functions to express functions; added an extension function
- PS11: Re-order functions, no code changes
- PS12: Reverted unit express function back to {} style

Bug: 339787593
Test: Manual
Flag: NONE
Change-Id: I75c06cf29718d8f258a4124997bcb054f5eb056f
2024-05-16 12:33:28 +01:00
Sam Cackett
1ee568bf13 Merge "Add metric logging for fake landscape usage" into main 2024-05-16 10:28:26 +00:00
Helen Cheuk
bd10f8f08d Merge "Fix navigation buttons focus state" into main 2024-05-16 10:27:02 +00:00
Pragya Bajoria
571c9b288d Merge "Remove obsolete desktop stashing logic from platform/packages/apps/Launcher3 [5/n]" into main 2024-05-16 09:50:17 +00:00
Orhan Uysal
2552cc78ed Set the listeners to null on unregister
In some occasions, launcher leaks through DesktopVisibilityController
and SplitFromDesktopController. It seems that we don't set the listeners
to null after we unregister which might be the reason why they hold on
to the launcher activity.

Bug: 332339792
Test: m
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD
Change-Id: If52ae87cec959264109e59b1144679183c8fedcc
2024-05-16 09:07:48 +00:00
Liran Binyamin
03a2ab1e56 Animate bubble update notifications
Updates to existing bubbles now cause the bubble bar to animate in
similarly to new bubble notifications.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: manual
Change-Id: Ib53316889170e0392f055242c6206882084b4a46
2024-05-15 12:13:12 -04:00
Sam Cackett
155e558b5b Merge "Fix crash resulting from missing entry in the taskViewIdArray" into main 2024-05-15 12:48:08 +00:00
helencheuk
7278073b57 Fix navigation buttons focus state
Two focus states in the same screen because taskbar and launcher are two processes. And we could not use keyboard to navigate to the nav button, agreed with UX that it should not have focus state. Make it not focusable to remove focus state as we are unable to focus on it by keyboard anyways. Tested that it would not affect TalkBack and SwitchAccess.

Only one focus in testing video: https://drive.google.com/file/d/18X3dtsvqfCMpdI7sBRxnaKwUCQzhHn8n/view?usp=sharing

Bug: 327386991
Test: Manual, navigate by keyboard in homepage and ensure there is no focus in the nav buttons
Flag: ACONFIG com.android.launcher3.enable_focus_outline Nextfood
Change-Id: I289ecb1784f8eb9b58bb36b28059ce4f367cf84e
2024-05-15 12:03:09 +00:00
samcackett
a24cb0e0fc Fix crash resulting from missing entry in the taskViewIdArray
Bug: 338057269
Test: Manual
Flag: NA
Change-Id: Ifa99fe87423ba75f52c43248c8fd730667803d1a
2024-05-15 11:32:48 +01:00
Pragya Bajoria
d9900e0d17 Remove obsolete desktop stashing logic from platform/packages/apps/Launcher3 [5/n]
Bug: 309481654
Change-Id: Id7b5db662d578eb625171055d30c37cd59e7d73c
Flag: EXEMPT refactor since it is removing obsolete code with no changes to current behavior.
2024-05-15 09:16:13 +00:00
samcackett
76331b6c17 Add metric logging for fake landscape usage
- Reuse existing TaskSwitcherContainer for Overview metric logging
- Log current orientation state for Overview when interacting with
gestures or via three button nav
- Log current orientation state on each phone rotation

Bug: 332870519
Test: Manual
Flag: NA
Change-Id: Ia10cf1acb809432175daab55151998f0d77362f9
2024-05-15 09:42:08 +01:00
Ats Jenk
50eb8e78f1 Rename removeBubble method to clarify it is for dismissing via drag
The removeBubble method was only used for dismissing a bubble via drag
in Launcher. Renaming the method to indicate it is only for this
purpose.
This allows us to reduce remote calls from launcher to shell when a
bubble is dismissed via drag. Otherwise we would need to make two calls,
one for removing a bubble and other for stopping the drag.
As shell keeps track of drag status in launcher for hiding the expanded
view.
Also removing the bubble key from remote call to shell to signal drag
has finished. The bubble key was not used.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: drag a bubble that is not expanded to dismiss target, previously
  expanded bubble should expand again
Change-Id: I57484aa3a2c0585ff7c3974d9f0d19dc1ab9dbd2
2024-05-14 20:37:47 -07:00
Holly Sun
49dc99abb0 [omni] Handle touch slop for LPAA.
Only handle touch slop when the taskbar is pinned (not isTransientTaskbar).

Bug: 335018496
Test: manual
Flag: legacy CUSTOM_LPAA_THRESHOLDS disabled
Change-Id: I4dc6dba473455b02208ef254c271a767bd7c8d42
2024-05-14 16:16:02 -07:00
Holly Jiuyu Sun
5334c82136 Merge "[omni] Dynamically configure timeout for LPAA." into main 2024-05-14 21:45:03 +00:00
Holly Sun
8b38295fb2 [omni] Dynamically configure timeout for LPAA.
Video: https://drive.google.com/file/d/1N7qOIolcSYM9n3z40FO9O6S_IdLJav9l/view?usp=sharing

Bug: 335018496
Test: manual
Flag: legacy CUSTOM_LPAA_THRESHOLDS disabled
Change-Id: I5b0f7cc7815ecd85c51254ad34f2be521c44795c
2024-05-14 12:42:28 -07:00
Liran Binyamin
0d8b2206af Merge "Deflake BubbleBarViewAnimatorTest" into main 2024-05-14 16:53:28 +00:00
Eghosa Ewansiha-Vlachavas
1c44de9cdb [2/n] Unify DesktopModeStatus between Shell and Sysui
Remove `DesktopModeStatus` from quickstep and instead access through
shell/shared to shell/shared.

Flag: None
Bug: 335401172
Test: atest -c NexusLauncherTests:com.android.quickstep.DesktopSystemShortcutTest

Change-Id: I42f8b6e5f97f13fda22ed34bda4aa712ead53349
2024-05-14 15:26:15 +00:00
Chris Göllner
fa09b12443 Merge "Convert SysUiState flags from int to long" into main 2024-05-14 10:44:40 +00:00
Luca Zuccarini
de2e793f53 Merge "Tune the window to icon and home scaling animation." into main 2024-05-14 09:12:24 +00:00
Orhan Uysal
3da07952c5 Merge "Disable drag from taskbar while in desktop." into main 2024-05-14 09:02:45 +00:00
Ben Lin
aca7b1cb19 Merge "Update SystemUiProxy signature." into main 2024-05-14 02:22:02 +00:00