Commit Graph

11748 Commits

Author SHA1 Message Date
Tony Wickham a79bc15cd0 Merge changes from topic "taskbar-running-minimized" into main
* changes:
  Maintain Running Tasks order in Desktop mode
  Change running apps section to use GroupTask instead of AppInfo
2024-06-21 21:00:01 +00:00
Tony Wickham 59e8952fc9 Merge "Handle running task launch properly in desktop mode" into main 2024-06-21 20:57:38 +00:00
Treehugger Robot f4934108bb Merge "Fix bubble bar bounce animation issue" into main 2024-06-21 20:44:10 +00:00
Mady Mellor a2146c8f10 Merge "Update bubble bar overflow to have a unique resId" into main 2024-06-21 15:55:04 +00:00
Hongwei Wang a648d13ea8 Merge "Position PiP animation based on actual coordinates" into main 2024-06-21 02:51:37 +00:00
Liran Binyamin cdc3e4d8b4 Fix bubble bar bounce animation issue
The bubble bar bounce animation was assuming that the initial translation
of the bubble bar is also the translation the bubble bar should have at
the end of the animation. This is normally correct except when the
bubble bar is initially hidden. What happens in that case is that the
translation is 0 so the bubble bar gets animated incorrectly.

This change gets the target animation from stash controller.

ABTD 100 runs: https://android-build.corp.google.com/abtd/run/L26900030004638356/

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 347856510
Test: atest BubbleBarTest#selectDifferentBubble
Change-Id: I661bf006c6f23ff871c221f8d9da74d79a2dff11
2024-06-20 18:03:52 -04:00
Liran Binyamin 8af78f19a3 Merge "Animate bubble removal from the bar" into main 2024-06-20 20:57:34 +00:00
Hongwei Wang cd6172911e Position PiP animation based on actual coordinates
In the previous patchset, we assumed the left/top to be 0/0 which is not
always the case. This could break, for instance, in ActivityEmbedding
setup, where the pip-ing app is on the left side.

Flag: NONE test fix
Bug: 345327260
Test: Verify with apps support auto-enter PiP such as YouTube
Change-Id: Ic2f3289cf0663d0687d5ccd7f4d0250066cb3f67
2024-06-20 13:24:18 -07:00
Liran Binyamin 7b426af15f Animate bubble removal from the bar
This change creates a BubbleAnimator class that handles animating
both new bubbles in and removed bubbles out.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dMHGANplWjGC5HZT6MXyA4

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 345687290
Test: atest BubbleAnimatorTest
Test: see demo

Change-Id: Ie060495f4b1421d1c8af48a861cd3e12dd0adbe8
2024-06-20 14:57:03 -04:00
Jordan Silva c9ec536f07 Merge "Fix recents button not navigating to Overview" into main 2024-06-20 16:42:16 +00:00
Luca Zuccarini 11fa93f25d Merge "Fix widget jump at the end of the new home animation." into main 2024-06-20 15:58:55 +00:00
Luca Zuccarini 4b4e426b30 Fix widget jump at the end of the new home animation.
The window animation wasn't being updated correctly, which resulted in a
jump at the end.

Bug: 298089923
Fix: 347880952
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Test: manual
Change-Id: Idbbd2e8485ae6f2bcbc1b42aa3744c2c659d1cfc
2024-06-20 13:40:45 +00:00
Jordan Silva 3d088e3899 Fix digital wellbeing banner position in portrait mode
The banner should be aligned to the start of the screen, not the center. This CL fixes DWB position for split tasks when device is unfolded.

Change-Id: I0544b4a8eb85b00196373c8a4368e680abab222b
Fix: 348200661
Bug: 345789862
Flag: EXEMPT bugfix
Test: Manual. Add a Digital Wellbeing (DWB) timer to 2 apps. Open these two apps in split mode. Unfold the device and go to Overview. The DWB banner should aligned correctly.
2024-06-20 09:46:30 +00:00
Fengjiang Li 622a7e37c5 Merge "[Launcher Jank] Avoid LauncherWidgetHolder and QuickstepWidgetHolder calling IAppWidgetService$Stub$Proxy.setAppWidgetHidden from main thread" into main 2024-06-19 15:19:22 +00:00
Jordan Silva 6a4c142b5b Fix recents button not navigating to Overview
This CL prevents returning launcher in getVisibleLauncher method when isHomeVisible is true but Launcher is not started.

Bug: 337954957
Bug: 331947116
Flag: EXEMPT bugfix
Test: Manual. With 3-button-nav. Open a video from -1 scren (not in Youtube app), press recent button. More instructions in b/337954957#comment26.
Change-Id: I40edafdab5457666474de2c0368158a9c1c05fb0
2024-06-19 15:08:43 +01:00
Tony Wickham 7c7c90528d Maintain Running Tasks order in Desktop mode
Fixes: 345034545
Test: TaskbarRecentAppsControllerTest
Flag: com.android.launcher3.enable_recents_in_taskbar
Change-Id: I4ab856c5293625c5279d4713450e5ea2d3b0ed85
2024-06-19 00:27:30 +00:00
Tony Wickham 2021727f1e Change running apps section to use GroupTask instead of AppInfo
- No longer bind All Apps to TaskbarRecentsController, and register
  RecentsModel.RecentTasksChangedListener instead
- The source of truth for "running tasks" in Desktop mode is the
  DesktopTask#tasks list itself, instead of
  RecentsModel.RunningTasksListener (which is no longer used)
- Added TaskInfo.TaskKey#isVisible to distinguish minimized running apps
- Next CL will hook up the UI for Recent/Running tasks that are
  not part of the Hotseat.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Fixes: 335398876
Bug: 315354060
Change-Id: I1313f97a791c5c0c1db7443a5d4f1d5bc761981f
2024-06-19 00:27:30 +00:00
Tony Wickham 4e1befb394 Handle running task launch properly in desktop mode
- Move logic from KeyboardQuickSwitchViewController to handle
  bringing desktop tasks to front, and still support recent
  tasks for non-desktop mode.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: manually launch tasks from the Recents section in both
Desktop mode and full screen mode (running vs recent)
Bug: 315354060

Change-Id: I0520351b4d0095a3538c6165acd82a7b4c45a5e2
2024-06-19 00:25:45 +00:00
Mady Mellor 58a6bbac4a Update bubble bar overflow to have a unique resId
This allows the overflow to be tested properly in end-to-end tests.

Flag: com.android.wm.shell.enable_bubble_bar
Test: atest OverflowBubbleTest (with other CL)
Bug: 347312208
Change-Id: Ice969434f9c40602c4b2d1a5baf6ba0509534a56
2024-06-18 16:43:32 -07:00
Fengjiang Li 880de362f1 [Launcher Jank] Avoid LauncherWidgetHolder and QuickstepWidgetHolder calling IAppWidgetService$Stub$Proxy.setAppWidgetHidden from main thread
Fix: 347991067
Test: manual - jank fix
Flag: NONE - jank fix
Change-Id: I881e5961ee4422d89e761c95ee8371902ded7ae6
2024-06-18 15:47:31 -07:00
Fengjiang Li 52c8595224 Merge "[Launcher Jank] Avoid making IWindowManager$Stub$Proxy.registerCrossWindowBlurEnabledListener bind calls from DepthController" into main 2024-06-18 21:48:07 +00:00
Fengjiang Li 05ad8912bc [Launcher Jank] Avoid making IWindowManager$Stub$Proxy.registerCrossWindowBlurEnabledListener bind calls from DepthController
Fix: 347965970
Test: manual - jank fix
Flag: NONE - jank fix
Change-Id: I59605d22ebc215e171c3b93fb1efc3becf2a4ade
2024-06-18 20:18:55 +00:00
Treehugger Robot b47bed0fe6 Merge "Add logging and error detection around quick switching" into main 2024-06-18 16:24:34 +00:00
Schneider Victor-tulias 78e5bab45a Add logging and error detection around quick switching
Also adding a fallback case for when quick switch could otherwise fail

Flag: NONE debug logs
Bug: 320215753
Test: checked logs
Change-Id: I2c6b6d2c6beee77d8c2bf9e81329c4b16839c328
2024-06-18 10:49:37 -04:00
Mykola Podolian 490858bfba Merge "Added return before the animation is started." into main 2024-06-18 05:45:53 +00:00
Riddle Hsu d76b06359f Merge "Let sender permission allow background launch when starting recents" into main 2024-06-18 01:48:41 +00:00
Liran Binyamin ad2f15c5b2 Merge "Implement new bubble animation when collapsed" into main 2024-06-18 00:16:08 +00:00
Shamali Patwa 0fb4cce4a7 Merge "Consider WidgetSections for suggestions in standalone picker" into main 2024-06-17 23:55:16 +00:00
Fengjiang Li 54fb3b6af7 Merge "Log stacktrace for binder call tracer" into main 2024-06-17 23:31:26 +00:00
Fengjiang Li f1727ac69e Log stacktrace for binder call tracer
Fix: 347752352
Flag: NONE - gated by studio build config
Test: Manual - record picture
Change-Id: I72f8fe62858a231ca5c996d880227337dccdd7a7
2024-06-17 14:35:58 -07:00
Jagrut Desai 18087d8b6f Merge "Add orientation logic to taskbar icon specs" into main 2024-06-17 20:28:33 +00:00
Liran Binyamin 9e15f07c1c Implement new bubble animation when collapsed
Bounce the bubble bar when a new bubble is received while the bubble
bar is collapsed.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/fn7NWNY3htuR6K3wxhfcK2

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 280605790
Test: atest BubbleBarViewAnimatorTest
Change-Id: I4c622454fd99f6bb5a332b3fe4aa2764c8af93af
2024-06-17 16:24:59 -04:00
Shamali P 77e42868da Consider WidgetSections for suggestions in standalone picker
This cl address the problem for standalone picker (follow up to match
ag/27720721) to ensure widgets that aren't in section of their owning
package didn't appear in suggestions

Bug: 345520128
Test: Unit tests
Flag: EXEMPT bugfix
Change-Id: Ia0ef96c5be77db56b84c76ace498125d07f4be42
2024-06-17 20:02:18 +00:00
Jagrut Desai 67b8de56ce Add orientation logic to taskbar icon specs
Test: Presubmit
Bug: 341146605
Flag: NONE Taskbar Customization
Change-Id: Ia86d61fd6ac38d03e45b23ea2a424a5b0b33c12b
2024-06-17 11:43:04 -07:00
Treehugger Robot 97e7166bc8 Merge "Fix icon flash on app launch" into main 2024-06-17 18:34:33 +00:00
Riddle Hsu a37161182e Let sender permission allow background launch when starting recents
Currently the recents activity is started by a pending intent created
by launcher. And the sender is system server.
(HIERARCHY_OP_TYPE_PENDING_INTENT in WindowOrganizerController)

If the intent creator doesn't have visible windows, e.g. launcher is
occluded by its another embedded of another package, then the background
launch policy will check whether the intent sender is allowed. But
system server also doesn't have visible windows, which causes
BackgroundActivityStartController#
checkBackgroundActivityStartAllowedBySender to return BalVerdict.BLOCK.
Which will set MOVE_TO_FRONT_AVOID_PI_ONLY_CREATOR_ALLOWS to disallow
moving the target task to front.
See I72a6c22a5fb27aeac52a4e5d46c6a16e28ee6757 for the block policy.

Although currently the recents activity can still move to front because
some places miss to check blocking the launch. Then it is like just
using a security hole.

By adding the background launch permission hint to ActivityOptions,
BackgroundActivityStartController#hasBalPermission will check if the
real caller has permission START_ACTIVITIES_FROM_BACKGROUND. Then
it will pass because the intent sender is system server.

Bug: 341618283
Flag: EXEMPT bugfix
Test: atest NexusLauncherTests: \
            com.android.quickstep.TaskAnimationManagerTest
Test: Swipe to minus one screen. Click a news item to Launch chrome.
      Swipe from bottom to return to home. There should not have an
      error log:
      "Without Android 15 BAL hardening this activity would be moved
       to the foreground ... only the creator of the PendingIntent
       allows BAL. realCallingPackage: android.uid.system:1000 ..."
       (from ActivityStarter#logPIOnlyCreatorAllowsBAL)
Change-Id: I19153f6553c09421bca248d4ff9110d168b34f98
2024-06-17 17:52:16 +08:00
Fengjiang Li ff83f1c448 Merge "[Launcher Jank] Avoid making ContentResolver binder calls from GestureNavigationSettingsObserver" into main 2024-06-15 02:30:43 +00:00
Hongwei Wang 263932e729 Ignore the mismatched source rect hint
When the app provided source rect hint does not match the aspect ratio,
by a certain threshold, we ignore that and in turn apply content overlay
during the enter animation, to avoid size change at the end.

In button-navigation mode, some special logical's applied as to crop the
content to its shorter edge for this case, which is inconsistent and we
will address that later in a separate change set.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/d4kLspMrqb7Xsc2JtkTW0m
Flag: NONE bug fix
Bug: 338616637
Test: Enter PiP from zoomed and non-zoomed video
Change-Id: I5059553cb9b6c02810e9638bfaf29dde9ab6140f
2024-06-14 13:27:06 -07:00
Schneider Victor-tulias 9fb1f80435 Fix icon flash on app launch
Flag: com.android.launcher3.enable_additional_home_animations
Fixes: 343051344
Test: temp logs, launched apps from home, quickly swiped home while quick switching
Change-Id: I91071d53f753eb7bc99305c46241de203bcfdc98
2024-06-14 15:27:36 -04:00
mpodolian ccd4b7efdd Added return before the animation is started.
Added return statement if flag is set to false.

Bug: 335575529
Flag: com.android.wm.shell.animate_bubble_size_change
Test: BubbleBarViewAnimatorTest
Change-Id: I21aaee7b802ace87f68ba6ae84565f925010d673
2024-06-14 19:37:25 +01:00
Jagrut Desai 55d101d15f Merge "Util classes for the Taskbar Customization Framework" into main 2024-06-14 17:25:39 +00:00
Uwais Ashraf d239b0d5ea Merge "Refresh overlay on new snapshot taken even if an old snapshot exists" into main 2024-06-14 10:00:11 +00:00
Mykola Podolian be4e591fac Merge "Animate bubble bar icon sizes and padding" into main 2024-06-14 03:39:10 +00:00
mpodolian 563c2101cf Animate bubble bar icon sizes and padding
Added animation for the updates of bubble bar icon sizes and padding

Fixes: 335575529
Flag: com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: BubbleBarViewAnimatorTest
Change-Id: I07d66b3a9d565f4fa6040c3c4bf4866e4d81a3a6
2024-06-14 01:25:05 +01:00
Jeremy Sim f37142f43e Merge "Fix flickering issues with divider during split animation" into main 2024-06-14 00:03:34 +00:00
Jeremy Sim 91fb2f2e5e Fix flickering issues with divider during split animation
This CL makes changes to the "split divider placeholder view", which was intended to cover up the backdrop a little during the split confirm animation. The placeholder view is now larger (fullscreen) and fades in with the animation movement, so there is no longer a period of time when it looks like an awkward rectangle.

New timings and interpolators confirmed with UX. Also renamed some variables and added comments for clarity.

Fixes: 344573331
Test: Manually verified that the visual bug no longer happens on large and small screen, and from desktop and Overview.
Flag: EXEMPT bugfix
Change-Id: I3b37f2b0478035d7a3181ae7c23962fe75a13b2c
2024-06-13 15:26:55 -07:00
Randy Pfohl 69092b41f6 Merge changes from topic "windowPrototype" into main
* changes:
  Fixing tests related to abstraction
  Abstracting StatefulActivity from StateManager
2024-06-13 22:11:49 +00:00
Uwais Ashraf d87d9e262b Refresh overlay on new snapshot taken even if an old snapshot exists
Bug: 302041971
Test: Manual checking of overlay refreshes in bug repro case - live tile and select
Test: Manual checking of no additional overlay refreshes on non-live tile select
Test: Manually ensured no additional overlay refreshes while scrolling
Test: presubmit
Flag: EXEMPT bugfix
Change-Id: I5d455560d0bf816f86042078a662f06f5d1397bb
2024-06-13 21:14:05 +00:00
Saumya Prakash f3e12f2b31 Merge "Change Pinned taskbar corners to be fixed." into main 2024-06-13 20:17:37 +00:00
Jagrut Desai 3cddb5817d Util classes for the Taskbar Customization Framework
Test: Presubmit
Bug: 341146605
Flag: NONE Taskbar Customization
Change-Id: Ice9d2e6db2754ba75a1253da45dd28aa63cad58f
2024-06-13 11:46:29 -07:00