Commit Graph

12553 Commits

Author SHA1 Message Date
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
Lynn Yeh f99f04608b Merge "Close the KQS view when touching the gesture nav region" into 24D1-dev 2024-04-15 14:36:52 +00:00
David Lin cb37425710 Merge "Do not report finish in mergeAnimation..." into 24D1-dev 2024-04-15 10:08:18 +00: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
Treehugger Robot 028e1fcd9d Merge "Launch AppPair live tile when not visible" into 24D1-dev 2024-04-12 03:59:27 +00:00
Treehugger Robot 8119d72903 Merge "Add placeholder divider view when starting split tasks" into 24D1-dev 2024-04-12 03:48:46 +00:00
Vinit Nayak 95a7ca485e Launch AppPair live tile when not visible
* End the recents animation and then relaunch as if
from scratch
* We explicitly ignore the anim for end of recents animation
since that will cause the taskbar to quickly show and stash
again, and we know in this case that we'll quickly be launching
right back into an app

Test: Tested w/ live tile + non live,
fullscreen + app pairs
Bug: 316485863

Change-Id: I6ae8cccc01401935bf96fba8a154216e6b1ad701
(cherry picked from commit 637274ebc9)
Merged-In: I6ae8cccc01401935bf96fba8a154216e6b1ad701
2024-04-12 03:41:20 +00:00
Vinit Nayak 32700f81ec Add placeholder divider view when starting split tasks
* This prevents launcher underneath from peaking through
while the split apps are loading

Bug: 299640096
Test: Launched from recents, home and all apps
Doesn't seem to affect small screen since recents scrolls
away and the scrim is only left

Change-Id: I32e394a0bc361489473ee657161c8f3bcbf1e422
(cherry picked from commit cdaabc6199)
Merged-In: I32e394a0bc361489473ee657161c8f3bcbf1e422
2024-04-12 03:24:46 +00:00
Shan Huang 05b6d1fb7e Generate progress events from app process for app animations.
Bug: 261654570
Flag: None
Test: atest BackNavigationControllerTest
Test: atest OnBackInvokedCallbackGestureTest
Test: atest BackAnimationControllerTest
Test: atest BackTouchTrackerTest
Test: atest WindowOnBackInvokedDispatcherTest

Change-Id: I075c099d59012825583fd9beda29a33d00f4d077
2024-04-11 19:16:01 -07:00
Saumya Prakash f44e8e5feb Merge "Adjust where the back button is rendered for new SUW requirements." into 24D1-dev 2024-04-12 00:22:02 +00:00
Jeremy Sim 1ece740e7a Prevent menu items from showing on split tasks
This CL changes the TaskShortcutFactory for SCREENSHOT and MODAL so that the associated menu options ("Screenshot" and "Select") don't show up on split tasks. These actions are not fully supported on splitscreen tiles (they will only work on one of the two apps), so we disable them.

Bug: 327434215
Flag: N/A
Test: Manual
Change-Id: I121a9c28fa7570f10e13be2de6489182e3362cfc
(cherry picked from commit 6a60c3b113)
Merged-In: I121a9c28fa7570f10e13be2de6489182e3362cfc
2024-04-11 23:41:42 +00:00
Jeremy Sim ee1fdb4abc Fix bug where app pair title was not updating with language
This CL adds the ability for an app pair icon to update its title string when package changes are detected. It also reorganizes some code in the app pairs classes for readability.

Fixes: 316051810
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual
Change-Id: I833e4f9766b7da8c0a3a5fb4b9fc050d8897437e
(cherry picked from commit 24284467b5)
Merged-In: I833e4f9766b7da8c0a3a5fb4b9fc050d8897437e
2024-04-11 23:38:41 +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 92b20d89a6 Fix incorrect fragment in gesture tutorial when rotating the screen
This change makes the current fragment load on configuration changes for
the gesture navigation tutorial. Previously, the old fragment would be recreated causing inconsistencies when rotating the screen. Not marking a flag as this change is for both the previous gesture tutorial and the current one.

Fix: 317162126
Test: Run the tutorial and rotate the screen after each step. The
tutorial should progress like normal.
Flag: N/A

Change-Id: I09c40006dd0ef6e9e78fa44e36962a678918420a
(cherry picked from commit c028cc7699)
2024-04-11 22:04:32 +00:00
Saumya Prakash afc6cfcd3b 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
Merged-In: I22680f40c0ddf7cd03ab1da69406eb14184b0174
2024-04-11 21:25:49 +00:00
Vinit Nayak 559aeb2c45 Merge "Allow app pairs in folders" into 24D1-dev 2024-04-11 20:55:33 +00:00
Andreas Agvard 98e57de7a8 Merge "Removes recovery" into 24D1-dev 2024-04-11 19:37:47 +00: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
Vinit Nayak cdaabc6199 Add placeholder divider view when starting split tasks
* This prevents launcher underneath from peaking through
while the split apps are loading

Bug: 299640096
Test: Launched from recents, home and all apps
Doesn't seem to affect small screen since recents scrolls
away and the scrim is only left

Change-Id: I32e394a0bc361489473ee657161c8f3bcbf1e422
2024-04-11 05:09:49 +00:00
Tracy Zhou f5299f3168 Merge "Move AbstractFloatingView for stage split layering above all apps" into main 2024-04-11 05:05:01 +00:00
Jeremy Sim 9109e43f02 Allow app pairs in folders
This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.

This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).

Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
(cherry picked from commit a596f589c4)
Merged-In: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
2024-04-11 03:51:53 +00:00
Tracy Zhou 3158bf7e43 Move AbstractFloatingView for stage split layering above all apps
- We don't need to worry about if it's in Overview. Only overview has task menus, so if there is no task menu, we place it at the top.

Fixes: 332465429
Test: Launch stage split using keyboard shortcuts with all apps open. Make sure it's above all apps.
Change-Id: Ic950d2897fe80ef407038dd840b86fc92d6d6287
2024-04-10 19:42:50 -07:00
Priyanka Advani 1d6851083b Merge changes from topic "revert-26414135-RecentsViewContainer-MEROZZOKJQ" into main
* changes:
  Revert "abtracting Activity from recentsView through recentsview..."
  Revert "fixing tests to match new abstraction"
2024-04-10 23:58:09 +00:00
Sunny Goyal 63bf93cf65 Merge "Freezing legacy feature flags" into main 2024-04-10 22:29:24 +00:00
Priyanka Advani 3c71346147 Revert "abtracting Activity from recentsView through recentsview..."
Revert submission 26414135-RecentsViewContainer

Reason for revert: Probable culprit for b/333767026. Will be verifying through ABTD for confirmation and before submitting the revert.

Reverted changes: /q/submissionid:26414135-RecentsViewContainer

Change-Id: I25775cd6531355f1dc042ddb7a8d442ee0b36e58
2024-04-10 21:31:07 +00:00
Vinit Nayak 24f88860de Merge "Launch split tasks at beginning of animation instead of the end" into main 2024-04-10 20:16:08 +00:00
Jeremy Sim 00bf2488d1 Reparent folders and app pairs
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.

Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
Merged-In: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
2024-04-10 18:44:12 +00:00
randypfohl 547d6fc472 abtracting Activity from recentsView through recentsviewcontainer and basecontainerinterface interfaces
This change will let us move from activity to other parent views for recent views.

Summary: In prep for new recentsview containers outside of activity we needed to decouple recentsview from activity and state.
This change will let us move from activity to other parent views for recent views.

Test: Built and tested locally for 1p and 3p launchers on tablet, and portrait modes. Verified working functionality.

Bug: 292269949

Flag: NONE

Change-Id: I5c72745f438d466362ece988c35a97d829e9c1b4
2024-04-10 09:14:28 -07:00
Holly Jiuyu Sun c2ee3f5001 Merge "[omni] Implement 2-stage for LPNH." into main 2024-04-10 15:35:54 +00:00
Jeremy Sim 4eac54565e Merge "Prevent menu items from showing on split tasks" into main 2024-04-10 15:25:27 +00:00
Alina Zaidi 0580379e30 Rename freeform tasks to desktop tasks
Bug: b/332878426
Test: refactoring CL. Existing unit tests still pass.
Flag: NONE

Change-Id: I24ad9699223dd383ff794ef3b028bf32beca96d7
2024-04-10 12:30:50 +00:00
Brian Isganitis 3f4e5812ce Merge "Prevent meta shortcut from cancelling split select state." into main 2024-04-10 07:34:47 +00:00
Holly Sun deee0d06f6 [omni] Implement 2-stage for LPNH.
Use existing override duration and touch slop multiplier values for the 1st stage. Times `TWO_STAGE_MULTIPLIER` for the 2nd stage.
See http://shortn/_WqYj0buH7R

Bug: 330446193
Test: manual
Flag: legacy ENABLE_LPNH_TWO_STAGES disabled
Change-Id: Ic200f431524578d17fd98ebfbc65e44e0971e31c
2024-04-09 17:00:15 -07:00