Commit Graph

11245 Commits

Author SHA1 Message Date
Liran Binyamin a7d2658d96 Merge "Update new bubble animation" into main 2024-04-18 15:51:39 +00:00
Mykola Podolian 3291b85e5e Merge "Update bubble bar to match visual spec" into main 2024-04-18 15:09:34 +00:00
Eghosa Ewansiha-Vlachavas f6ea0a3a2b Merge "Gate new desktop task menu button with device config check" into main 2024-04-18 15:02:52 +00:00
Eghosa Ewansiha-Vlachavas e885e54d90 Gate new desktop task menu button with device config check
Desktop windowing is enabled only when the desktop windowing flag is
enabled and the device is supported through setting a device config
flag. Add this device config check to the desktop task menu button so it
does not appear if the device is not compatible.

Flag: NONE
Fixes: 335178869
Test: atest -c NexusLauncherTests:com.android.quickstep.DesktopSystemShortcutTest
Change-Id: Ia2559c1ff57bb7921867e69a47d868c03eae57e7
2024-04-18 11:47:55 +00:00
mpodolian d25c65f9f2 Update bubble bar to match visual spec
Made bubble bar icon size adjustable and listen to the task bar
icon size changes. Additionally fixes an issue where the pointer arrow
could be misplaced.

Test: BubbleBarViewAnimatorTest.kt
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 295027436
Fixes: 334781761
Change-Id: Ie4ceee84cc00baa0186a3d5b431080c8495c7285
2024-04-18 10:00:42 +01:00
Fengjiang Li 240dbab022 Merge "[Predictive Back] Swipe back within taskbar all apps should only scale down content view, rather than whole all apps sheet" into main 2024-04-18 03:20:59 +00:00
Fengjiang Li 1529052dcf [Predictive Back] Swipe back within taskbar all apps should only scale down content view, rather than whole all apps sheet
Bug: 335467443
Test: manual - took a video
Flag: aconfig com.android.launcher3.enable_predictive_back_gesture TRUNKFOOD
Change-Id: I45980329f70ac1a8a8fc0e84be007f3385e40f58
2024-04-17 16:09:21 -07:00
Treehugger Robot f7d105bf5c Merge "Adds AssistStateManager#supportsShowWhenLocked." into main 2024-04-17 20:46:50 +00:00
Liran Binyamin da1a7162e3 Merge "Suppress bubble animation when bar is hidden" into main 2024-04-17 17:45:14 +00:00
Liran Binyamin 0b114ebd46 Suppress bubble animation when bar is hidden
This change suppresses the new bubble animation when the notification shade is open and when the device is locked.

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Fixes: 332912942
Test: manual
     - Use test app to trigger a bubble with delay
     - Lock the device/pull down the notification shade
     - Observe the bubble is not animating
     - Unlock/collapse the shade
     - Observe new bubble was added to the bubble bar
Change-Id: I0b1d42a9d57b29807f113ae45ff60349341272ef
2024-04-17 11:22:04 -04:00
Luca Zuccarini 2fb15b12d5 Merge "Fix a bug where the status bar scrim doesn't animate." into main 2024-04-17 14:06:34 +00:00
Holly Jiuyu Sun 66a112a67d Merge "[omni] Enable CUSTOM_LPH_THRESHOLDS." into main 2024-04-17 00:52:41 +00:00
Holly Jiuyu Sun 5388adb001 Merge "[omni] Make AssistStateManager SafeCloseable." into main 2024-04-17 00:20:23 +00:00
Treehugger Robot 3a230921ba Merge "Reland slow gesture callback handling" into main 2024-04-16 22:54:19 +00:00
Holly Sun 4b377edb8f [omni] Enable CUSTOM_LPH_THRESHOLDS.
This will make our experiment setup easier. See https://docs.google.com/document/d/1GFMqkgVDgFYQnI_JMb7nARuKDwFy1SSVN00YOFKhY1Y/edit?resourcekey=0-JApoPZTfjxke-Cf82RSD_A&tab=t.0#bookmark=id.25pwwrhh1h8q

Bug: 331800576
Test: manual
Flag: legacy CUSTOM_LPH_THRESHOLDS enabled
Change-Id: I4b4fad79151ce6c91ca2895bcff534acae5e340c
2024-04-16 15:25:40 -07:00
Sunny Goyal f15a96608a Merge "Moving developer settings to xml overrides instead of code swap" into main 2024-04-16 21:27:04 +00:00
Schneider Victor-tulias f3f0e28762 Reland slow gesture callback handling
Now that b/329324086 has been fixed, we can be more certain that launcher always gets a signal to clean up from WM.

- Relanding original fix for b/285636175 with some additional error checking
- We will now check whether the recents animation start is pending on ACTION_UP
- We will now block entire swipes to prevent sending additional inputs an input consumer while the recents animation start is pending
- We will now only stop blocking inputs on ACTION_DOWN

Flag: LEGACY ENABLE_HANDLE_DELAYED_GESTURE_CALLBACKS TEAMFOOD
Bug: 329324927
Fixes: 285636175
Test: added a delay in RecentsAnimationCallbacks.onAnimationStart and attempted several rapid gestures
Change-Id: I9805114da34bf44e6b28c2a8a665e4cca88904c2
2024-04-16 17:16:40 -04:00
Treehugger Robot d955d23028 Merge "Fix KQS first task focux when there is only one recent task" into main 2024-04-16 20:53:34 +00:00
Schneider Victor-tulias 3b6e45d095 Fix KQS first task focux when there is only one recent task
Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 335257398
Test: TaplTestsKeyboardQuickSwitch#testLaunchSingleRecentTask
Change-Id: Ibf1514394c29c33ea1dde9e3704af231e2d039f2
2024-04-16 15:08:31 -04:00
Hongwei Wang 915d732782 Merge "Add debugging information on PiP content overlay" into main 2024-04-16 18:40:17 +00:00
Riddle Hsu d2ce88d594 Merge "Ensure that the recents start time is non-zero" into main 2024-04-16 16:53:12 +00:00
Winson Chung ad82df4d37 Merge "Migrate WorkspaceItemInfo non-resizeable flag to runtime status flag" into main 2024-04-16 16:41:42 +00:00
Ivan Tkachenko e993f92719 Merge "Desktop windowing wallpaper" into main 2024-04-16 15:20:38 +00:00
Ivan Tkachenko cd1dced953 Desktop windowing wallpaper
* Remove Launcher state manipulation from `DesktopVisibilityController`
* Remove Taskbar state updates for desktop mode in
  `LauncherTaskbarUIController`
* Update app widget animation for Home transision
* Update `RemoteTargetGluer` remote targets setup for Dekstop mode

Bug: 309014605
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_wallpaper_activity DEVELOPMENT
Test: manual
Change-Id: Ie2a7ad214a4d4e7e642d1236f2375ba6d17f3781
2024-04-16 10:59:30 +00:00
Wei Sheng Shih 347cc489bb Merge "Attemp handle back key when enable onBackInvoked callback." into main 2024-04-16 07:40:10 +00:00
wilsonshih 70beba044e Attemp handle back key when enable onBackInvoked callback.
Unlike normal activity, recents would receive key event from input
consumer instead of go throught ViewRootImpl, so when adapt to
predictive back API, recents should try to handle back key when receive
key event.

Flag: ACONFIG launcher.enable_predictive_back_gesture ENABLED
Bug: 333428882
Test: switch to 3-button mode, go to live tile, verify back key can
dismiss recents.

Change-Id: Ibe6d9b2475a0b89b12dc4b34251a2a92926b5a4e
2024-04-16 04:03:00 +00:00
Stefan Andonian 0d2cc9e87c Merge "Revert^2 "Remove Unused parts of LauncherPrefs causing cyclical dependency."" into main 2024-04-16 02:42:04 +00:00
Vinit Nayak e8609736f4 Merge "Revert "Launch split tasks at beginning of animation instead of the end"" into main 2024-04-16 01:11:05 +00:00
Hongwei Wang 59fc94684a 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-04-15 17:02:21 -07:00
Vinit Nayak fb092a9a6c Revert "Launch split tasks at beginning of animation instead of the end"
This reverts commit 26c11f2c49.

Reason for revert: b/333937249

Change-Id: Ide851596f5be7cea28df18dc27701b3cc0104bf1
2024-04-15 20:39:00 +00:00
Sunny Goyal 2eeee631aa Moving developer settings to xml overrides instead of code swap
Bug: 330920490
Test: Verified on device
Flag: None
Change-Id: Ibba96a57c8eb7347399ab32577a0e395ae886e91
2024-04-15 11:29:22 -07:00
Stefan Andonian 1a626d2d05 Revert^2 "Remove Unused parts of LauncherPrefs causing cyclical dependency."
This reverts commit a80997d9eb.

Bug: 324670265
Test: Locally tested this, as well as ran it through post-submit via go/abdt with the fix.
Flag: NA
Reason for revert: Root-caused the issue with this, and will push the fix along with this revert.

Change-Id: I4bda53d94dfdb865883fef6ceec9dacd0b87f015
2024-04-15 18:28:25 +00:00
Andy Wickham e0b23658d8 Merge "Cancel manual animation if LauncherState changes during drag." into main 2024-04-15 18:14:45 +00:00
Holly Sun ad7ac2943b [omni] Make AssistStateManager SafeCloseable.
Saw presubmit error: https://paste.googleplex.com/6266943744507904#l=76
which is thrown at https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/util/MainThreadInitializedObject.java;l=147-148;drc=1ce67a612220e7c9bd576d867cddf0fb74ccb866

Bug: 311356563
Bug: 330444720
Flag: legacy CUSTOM_LPH_THRESHOLDS disabled
Test: manual
Change-Id: I5fd28161756f10f0ec893f38c0abd51621fd36bc
2024-04-15 10:53:43 -07:00
Gustav Sennton e8c920967a Merge "Implement IRecentTasksListener.onRunningTaskChanged()" into main 2024-04-14 21:30:00 +00:00
Winson Chung 6a6de2dfc3 Migrate WorkspaceItemInfo non-resizeable flag to runtime status flag
- This aligns with other app-level state that is read at runtime

Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: I1e29583d1c0302646718473c8958d604c1a202a5
2024-04-14 06:20:54 +00:00
Schneider Victor-tulias a9721fd344 Merge "Add debug logs to AbsSwipeUpHandler" into main 2024-04-12 20:39:51 +00:00
Sunny Goyal 4396a935c2 Merge "Using resource overrides for PluginManager instead of code-swap" into main 2024-04-12 20:29:36 +00:00
Luca Zuccarini a0e2a878f4 Fix a bug where the status bar scrim doesn't animate.
Bug: 298089923
Flag: ACONFIG com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Test: manual
Change-Id: I8b624cf3e0b42572c122d04e2e7df6e7a6106b89
2024-04-12 18:55:49 +00:00
Sunny Goyal 4a22ed81ea Using resource overrides for PluginManager instead of code-swap
Bug: 330920490
Test: Presubmit
Flag: None
Change-Id: Ib1cd50f95873928b9ce104e8e95d21f1dca9c6e3
2024-04-12 11:38:32 -07:00
Schneider Victor-tulias 9622927c8d Add debug logs to AbsSwipeUpHandler
Investigating b/332386996

Flag: N/A
Bug: 332386996
Test: TaplTestsQuickstep#testQuickSwitchFromApp
Change-Id: Ic5245416df624b722819a3dcf1008ca0196d3161
2024-04-12 13:34:31 -04:00
Riddle Hsu 90ed0f9b32 Ensure that the recents start time is non-zero
It was only assigned when using gesture navigation.

When using non-gesture navigation, the calculation below in
ActivityMetricsLogger will be (uptime - 0) which could be several
hours or days.
 mSourceEventDelayMs = (int) (TimeUnit.NANOSECONDS.toMillis(
     launchingState.mStartUptimeNs) - sourceInfo.eventTimeMs);

Because the start time was set right after GestureState is created,
it can be simply set as the creation time of GestureState.
So non-gesture navigation can provide the timestamp when handling
OverviewCommandHelper.TYPE_TOGGLE.

Bug: 206872204
Test: Use 3-button navigation to enter recent.
      The value of LatencyTracker should not be unexpected large.
Change-Id: Ie661222822912e287d1ac295ccaf49e2086d909e
2024-04-12 11:10:07 +00:00
Andy Wickham 22dee942b5 Cancel manual animation if LauncherState changes during drag.
Previously, the following would cause the All Apps panel to appear
in NORMAL state:

1. Start dragging to all apps
2. During the drag, something sets Launcher to NORMAL
3. Release finger  -> animation to all apps completes, but state
   is still NORMAL

Side effects of this:
 - On large screens, All Apps draws its background on Launcher's
   ScrimView only if the current state is All Apps. So in this
   case, the apps just floated above the workspace.
 - On handheld, touches are handled by workspace even though you
   can see the All Apps list. So e.g. if you swipe down, the
   notification shade appears rather than all apps panel hiding
   (although it seems this touch issue was addressed separately).

I'm not sure if this is the main/only case of this state mismatch
happening, but verified with local async state changes that this
could in theory happen. We haven't been able to organically repro
the bug reliably. That being said, it feels plausible that a well
timed screen lock during the all apps transition could also hit
this case.

Demo videos with hard-coded state change to NORMAL 2 seconds after
you start swiping up to all apps (note I release my finger at the
end of each video):
https://drive.google.com/drive/folders/1ul8ep9N2M5oc6ZSbf_ZHQwp9IwTpz7GB?resourcekey=0-4LAufl0rkvtjvgZC0L-eMQ&usp=drive_link

Bug: 239394946
Bug: 331600490
Test: Manual with local async launcher state changes
Flag: NA
Change-Id: I6364dbde8aea67f5d1c525edf57ed7eb26096cf9
2024-04-11 16:00:34 -07:00
Saumya Prakash 5bb103246b Merge "Adjust where the back button is rendered for new SUW requirements." into main 2024-04-11 19:05:52 +00:00
Gustav Sennton 2744acfbf4 Implement IRecentTasksListener.onRunningTaskChanged()
Bug: 332504528
Test: N/A
Flag: NA
Change-Id: I7c98eb524bb7544a715f5b8226d3c28d05f72913
2024-04-11 16:58:42 +00:00
Saumya Prakash da26e19dd8 Adjust where the back button is rendered for new SUW requirements.
Large screen devices in landscape mode and devices that have mostly a
square aspect ratio are undergoing a redesign in Setup wizard that makes
most screens two-pane. As part of this redesign, the back button is
aligned in this change. This change doesn't use a flag because the Setup
Wizard change is not flagged.

Fixes: 323778778
Fixes: 328017929
Test: Run Setup Wizard and see if the back button aligns with the Skip
button in two pane screens.
Flag: N/A

Change-Id: I22680f40c0ddf7cd03ab1da69406eb14184b0174
2024-04-11 16:53:41 +00:00
Randy Pfohl 819b835519 Revert "Revert "abtracting Activity from recentsView through rec..."
Revert submission 26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ

Reason for revert: Fix for issue has been found and will be included in this revert.

Reverted changes: /q/submissionid:26911513-revert-26414135-RecentsViewContainer-MEROZZOKJQ

Change-Id: I517e7d2fc0d82d250a6ed40862dd31c194d0a302
2024-04-11 08:58:08 -07:00
Liran Binyamin e79120af38 Update new bubble animation
This change is a rewrite of the new bubble animation. Previously we chained the handle animation and the bubble animation so that they run sequentially.
That caused the transition from the handle to the bubble to be jarring.

We now use a single spring animation along the y axis that starts from the position of the handle to the position of where the bubble will end up.
The animation is split into 3 logical parts, where initially the bubble animates out, then the bubble starts animating in, and the last part is the overshoot of the spring animation, which is used to mark the bubble fully visible and ensure that from that point on, the bubble is only moving but doesn't change in scale or transparency as the bounce effect is playing.
Using a single animation path allows for a smooth transition from the handle to the bubble view.

Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/hHNUBdNJPiWi9gMbqy45UJ

Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: Ic1d3244574b8500d4aad2e9c718e61c1c34bd82a
2024-04-11 11:51:10 -04:00
Luca Zuccarini 926a10a3b0 Create a stubbed IRemoteTransition implementation.
Bug: 323863002
Flag: NA
Test: NA, new method is unused (still builds)
Change-Id: Ibc4187f469e41b2db91bef368c710ffbdcd33faf
2024-04-11 09:15:41 +00:00
Vinit Nayak 20c0b2f647 Merge "Add placeholder divider view when starting split tasks" into main 2024-04-11 05:10:35 +00:00