Commit Graph

120 Commits

Author SHA1 Message Date
Vinit Nayak f1a832fa55 Revert^2 "Call setOverviewDragState() whenever taskbar is recreated"
This reverts commit 541c5d272d.

Reason for revert: test still failing w/ revert https://android-build.corp.google.com/abtd/run/L66700030002678824/

Change-Id: If3ab4bb850ee519446e6cae4160ea6271049f83a
2024-03-23 00:51:00 +00:00
Sukesh Ram 541c5d272d Revert "Call setOverviewDragState() whenever taskbar is recreated"
This reverts commit 0adca26744.

Reason for revert: potential cause of presubmit failures

Change-Id: I102d92f86afc7fa21c806d3cf1642e343dc91d45
2024-03-21 21:25:30 +00:00
Vinit Nayak 0adca26744 Call setOverviewDragState() whenever taskbar is recreated
* Un/Pinning taskbar re-creates controllers which led to
stale state for checking if we are allowing split selection

Test: Crash/immediately going into split no longer repros after
un/pinning taskbar in overview and trying to split
Fixes: 326356246

Change-Id: I06cfc4d1c3c7fe071f04414c3134eaff7960ade6
2024-03-19 17:30:33 -07:00
Luca Zuccarini c9cbc9d5a1 Introduce a new Home animation for workspace and the outgoing task.
The values are currently the same for all display and orientation
configurations, but they might change before launch.

There are a couple known imperfections:
* Swiping out of a hotseat app with very low velocity doesn't look
  great
* Sometimes, if the window movement reaches its final location faster
  than the background is done scaling, there is a small snap in icon
  position

Bug: 298089923
Flag: ACONFIG com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Test: verified with the flag on and off

Change-Id: Id54c7f0a76f62108d8b92a3b5e78634fff64dbef
2024-03-14 10:48:02 +00:00
Jon @ e322086de7 Merge "Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled." into main 2024-02-09 21:30:20 +00:00
Jon Miranda 3c9de6841c Clean up launcher state when ENABLE_HOME_TRANSITION_LISTENER is enabled.
This prevents taskbar showing up on home screen. We already did this clean
up when the flag is off, so now we're matching parity. Investigation for
root cause is still on-going but for now this will fix the issue for
TEAMFOODers.

Bug: 279514548
Test: See bug for repo steps
Flag: N/A
Change-Id: I9a0c3b56f48b2c7c43e303978699124146c8b61b
2024-02-09 08:43:31 -08:00
Jon @ f670b96e31 Merge "Update state for when task launched in live tile mode gets cancelled." into main 2024-02-08 00:00:21 +00:00
Jon Miranda 4af3e80cae Update state for when task launched in live tile mode gets cancelled.
This fixes the bug where taskbar shows up on home screen.

Fixes: 314790864
Flag: N/A
Test: From overview, tap on app, then immediately swipe to go home

Change-Id: I3aaa8cbe67edefc43ccd6db90ee7647152a862fc
2024-02-07 11:29:07 -08:00
Vinit Nayak 7c7ece3efe Rename isSplitSelectionEnabled() to isSplitSelectionActive()
Bug: 295467097
Change-Id: I5c518c3e7227c034956fb92590b7472ba4a71d39
2024-01-23 15:41:14 -08:00
Tracy Zhou 95c4c8d268 Fix crash from folding/unfolding
This is fundamentally caused by the phone device profile not having task bar related attributes, which crashes in icon alignment animation. We had resolved it by skipping this animation based on isPhoneMode check. However, we passed in launcherDp instead of taskbarDp (from TaskbarActivityContext) which doesn't always have the most up to date information in race conditions (e.g. repetitively fold/unfold)

Fixes: 311431054
Test: repetively fold/unfold, make sure it doesn't crash
Change-Id: I65f600112da4123d337b3f59a2fe6dd13ac7af74
2023-12-14 18:39:42 -08:00
Jon Miranda 20fdc7b508 Move taskbar clean up so that it only gets called when user swipes up to go home.
This fixes the bug where the flag gets set when user taps on nav handle, which
results in the taskbar animation playing.

Flag: N/A
Test: open app
      wait for taskbar to finish stashing*
      tap on nav handle
      nothing happens (desired affect)
      * I will address tapping on taskbar while its animating in a separate change
Bug: 292108880
Change-Id: I75870050225bdd951c69224d272d0bd5a3d6d4ea
2023-12-13 02:51:28 +00:00
Tracy Zhou ab1dc752e8 Make sure the hotseat icons are always visible in phone mode
With task bar in unfolded state, we animate from app to home by morphing the task bar into the hotseat. In the folded state, the visibility of the hotseat should never be affected by the task bar state.

Fixes: 309477352
Test: Swipe up from app in folded state with task bar / nav bar unification flag on, make sure that the transition is smooth and the hotseat is always visible. Also make sure unfolded state works as usual.
Change-Id: I1064a0c03e8f7539f8ea4d0322f58be9dff8513e
2023-11-11 07:46:30 +00:00
Jon Miranda 60ae29ef08 Migrate ENABLE_HOME_TRANSITION_LISTENER to launcher.aconfig
Also set flag to TEAMFOOD.

Flag: ACONFIG ENABLE_HOME_TRANSITION_LISTENER TEAMFOOD
Bug: 306053414
Test: manual
Change-Id: Icf3947e61fa9f20f5b6e5ca2af96e693b55d3edc
2023-10-27 16:43:01 +00:00
Vinit Nayak a1be4c1123 Use aconfig flag enable_split_contextual
Bug: 276361926
Test: Basic split contextual operations work
as expected

Change-Id: I7202654f8452a0c57e5e728c9baaadf85fa22a96
2023-10-25 01:37:17 +00:00
Jon Miranda 00c3d78191 Add HomeTransitionListener to launcher.
Fixes: 279514548
Bug: 284474103
Bug: 306053414

Flag: LEGACY ENABLE_HOME_TRANSITION_LISTENER DISABLED
Test: App launch -> Hotseat -> Taskbar stashes
      Transluscent app launch and launcher still visible -> No change
      Going home -> Hotseat visible

Change-Id: I6db5253ada3e3b37dfae124f3ee88a9805804fb8
2023-10-20 15:46:11 -07:00
Vinit Nayak 114293fb56 Disallow taskbar long click when in split selection state
* This is specifically when contextual is initiated on home
screen and then user swipes up into overview.
* We no longer want to rely on LauncherStates for split specific
management

Bug: 295981634
Test: Start split on home, swipe up to overview, long press on
taskbar app icons, nothing happens
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE

Change-Id: I9e56ddbe1f536be779d4848769a993724d5395da
2023-10-06 14:42:22 -07:00
Mady Mellor 2da9c114c4 Stash taskbar when bubbles is expanded in overview
Test: manual - have transient taskbar
             - have a bubble
             - go to overview
             - expand bubbles
             => observe that transient taskbar stashes
             - collapse bubbles
             => observe that transient taskbar unstashes

             - verify that expanding bubbles in app and on launcher
               home behaves as expected (stashes taskbar in app and
               don't see taskbar or stashed handle on home)
Bug: 284104811

Change-Id: I3d7057ed651e66ab2a0292725f30153ee4d6d51e
2023-09-11 09:41:14 -07:00
Ats Jenk f0be4fa573 Use hasBeenResumed() for checking if launcher is resumed
ag/23852178 introduced a clean up for launcher state when invoking
transient taskbar. It was checking launcher activity resumed state with
`isResumed()` method. This breaks transient taskbar for desktop mode as
we are marking the launcher activity to be paused using the launcher
flags. `hasBeenResumed()` method is the one we can used instead as it is
checking the launcher flags and not the resumed state of the activity
itself.

Bug: 292266259
Test: open transparent activity on top of launcher
      unstash taskbar
      go home
Test: move an app to desktop, unstash taskbar
Change-Id: I98d14dbfdde4b857f50e62206fc0f308e8f54231
2023-07-25 11:18:29 -07:00
Alex Chau 625709617e Clean-up b/260135164 logs
Fix: 271242509
Test: manual
Change-Id: I2c5421539f8f70897b142dfdaa6bc97a10225309
2023-07-17 15:30:31 +01:00
Treehugger Robot 957d46ae52 Merge "Cleans up bad state when transient taskbar shows on home." into udc-dev am: 2c3c1e46c0 am: 4de15620c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23852178

Change-Id: Idbb6ded338cf1fe3db8142ba75d54844a9bf1382
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 19:05:32 +00:00
Jon Miranda 3bad3ebaad Cleans up bad state when transient taskbar shows on home.
Bug: 279514548
Test: open transparent activity on top of launcher
      unstash taskbar
      go home

Change-Id: I13ab79b334e1f8feda441a82cc4d035c0142f513
2023-06-29 02:51:38 +00:00
Brian Isganitis 4337083b40 Merge changes If4669756,Ide702745 into udc-dev am: 77a40999e1 am: d0e61e3eef
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23603557

Change-Id: I6140b46469c6e4251819afdd124bc869bceeadac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-12 18:07:50 +00:00
Brian Isganitis fd896ed6bd Make sure FLAG_IN_APP is set when launching apps from keyguard.
This flag was not being set in the case where you lock from launcher and
then unlock by tapping on launcheable items from keyguard such as home
controls, notifications, smartspace, etc. This change makes sure we
double check if we are unlocking to launcher or not and then setting
FLAG_IN_APP accordingly.

Test: manual
Fix: 284314711
Change-Id: If46697566d252c649a00a7b3d728a14789dc6aed
2023-06-07 18:28:30 -04:00
Mady Mellor 6dea6d1624 Modify Taskbar code to accommodate bubble bar gesture to stash/unstash
* Bubble bar typically follows the behavior of taskbar - if taskbar
  is shown, the bubble bar is shown, if taskbar hides, bubble bar
  hides.
* The bubble bar has 3 states: stashed, collapsed (unstashed but
  the bubbles are not expanded), and expanded. When bubbles are
  expanded, this means WMShell is rendering the bubble
  expanded view. In this situation taskbar becomes collapsed.

Bug: 253318833
Test: manual - flag turned on - see go/bubble-bar-tests
Test: manual - flag turned off:
             - launch an app, ensure taskbar is stashed
             - unstash taskbar, drag down on taskbar, ensure it
               becomes stashed
             - be in an app, unstash taskbar, interact with the app,
               ensure taskbar is stashed
             - be in an app, unstash taskbar, select an app from it,
               ensure taskbar is stashed & app is opened
Flag: WM_BUBBLE_BAR
Change-Id: I7b481d768182c8429160ab4a9b213b885a7d78bc
2023-05-23 14:02:50 -07:00
Schneider Victor-tulias eb8dce01ce Add handling for toggling keyboard stashing from the keyboard
Flag: ENABLE_KEYBOARD_TASKBAR_TOGGLE
Bug: 281726846
Fixes: 246660615
Test: toggled the transient taskbar with the meta+t input
Change-Id: I315f83850b11d24d8b55061d7111300effb43936
2023-05-15 18:41:25 +00:00
Winson Chung e04071e19c Merge "Only refresh the launcher resume state when the task launch fails" into udc-dev 2023-05-11 23:31:21 +00:00
Winson Chung de1b42b957 Only refresh the launcher resume state when the task launch fails
- The previous call from TaskbarLauncherStateController caused a
  regression due to the inability for the code to distinguish
  Normal -> Background -> Normal when tapping on the bar area
  or from failing to launch a task, so both cases were triggering
  the resumed state to cycle and start an animation.  For now we can
  only handle the task-launch fail case.

Bug: 268448123
Fixes: 281966662
Test: Quickswitch to an activity that finishes when resumed
Change-Id: Ie4692dd85252540ff47633978c0e6e4adbb1bdd0
2023-05-11 23:31:14 +00:00
Treehugger Robot 52d4764576 Merge "Revert "Modify Taskbar code to accommodate bubble bar gesture to stash/unstash"" into udc-dev 2023-05-11 20:58:02 +00:00
Mady Mellor 662787540c Revert "Modify Taskbar code to accommodate bubble bar gesture to stash/unstash"
This reverts commit 7344766886.

Reason for revert: b/282035015

Change-Id: I38db287f730048d3e1e5041f1853bdae214e1a66
2023-05-11 18:50:35 +00:00
Thales Lima fda9f3d430 Merge "Make taskbar touchable region smaller in Overview" into udc-dev 2023-05-11 14:48:18 +00:00
Thales Lima 3bc763f5a3 Make taskbar touchable region smaller in Overview
While in overview, makes the touchable region smaller so touches can go to the window below and trigger tapping on overview to go home.

Bug: 269985301
Test: Manual (TAPL in a following CL)
Flag: none
Change-Id: Ie8c7719090c387f951d78cf0fc47e6d9ed192f27
2023-05-11 14:45:41 +00:00
Mady Mellor 7344766886 Modify Taskbar code to accommodate bubble bar gesture to stash/unstash
* Bubble bar typically follows the behavior of taskbar - if taskbar
  is shown, the bubble bar is shown, if taskbar hides, bubble bar
  hides.
* The bubble bar has 3 states: stashed, collapsed (unstashed but
  the bubbles are not expanded), and expanded. When bubbles are
  expanded, this means WMShell is rendering the bubble
  expanded view. In this situation taskbar becomes collapsed.

Bug: 253318833
Test: manual, with other CLs, see go/bubble-bar-tests
Flag: WM_BUBBLE_BAR
Change-Id: Ic210c382e7482c259ae543a0dc083fe9305cbf5b
2023-05-09 12:37:14 -07:00
Winson Chung df51c1ada8 Try to detect and handle delayed quickswitch task launch failure
- The main issue arises when a task is successfully launched from
  overview, but the activity later finishes (ie. during resume) which
  prevents the usual logic of resetting Launcher to a good state
  (ie. it can get stuck in overview with a blank or empty snapshot)

  In this case, the Launch will "succeed" so that onTaskLaunchFailed
  is not called, but then also silently fail (launched task finishes
  and Launcher is again resumed) before Launcher stops, which does the
  usual resetting of the state back to normal state after quickswitching.

  This change checks for this case by listening for the activity and
  transition state, and in the case where Launcher has not been stopped
  or is resumed again after the transition finishes, returns the
  user to the default home state.

  This primarily only affects quickswitch for now, as other launch
  failures leave the user in a valid state (ie. overview) while this
  issue will leave the user in background state while quickswitching.

Bug: 268448123
Test: Quickswitch to an activity that finishes when resumed
Change-Id: I7d554f8fd521f7bc480dc06930ad91eeef0f1a1a
2023-05-05 23:55:22 +00:00
Kateryna Ivanova c0a003ed77 Revert^2 "Introduce library for public animation APIs"
af289a1cd1

Bug: 271850966
Change-Id: Iddc1790fc3704ce20fde4377d05360a77b6c146c
2023-04-28 08:38:26 +00:00
Liana Kazanova af289a1cd1 Revert "Introduce library for public animation APIs"
Revert submission 22740447-animation-library

Reason for revert: b/279195827

Reverted changes: /q/submissionid:22740447-animation-library

Change-Id: Ie2ef34f8bdb3076a015d91742be041c7c9ade8a2
2023-04-21 19:14:23 +00:00
Kateryna Ivanova 2d6a8e3a87 Introduce library for public animation APIs
* Add a public library
* Pull Interpolators implementation from systemui animation library
* migrate existing usages of Interpolators

Test: n/a
Bug: 271850966
Change-Id: I3f941423b76f555b2c1e7205e23d5ff9ad95d413
2023-04-21 08:06:47 +00:00
Mike Schneider 45894db9d5 Merge "Revert ag/22195243 and solve the initialization issue it was supposed to fix differently" into udc-dev 2023-04-14 06:35:57 +00:00
Mike Schneider 593ff77267 Revert ag/22195243 and solve the initialization issue it was supposed to fix differently
The fix caused a flicker tests to fail, but that is specific to the persistent taskbar used in tests only.

Bug: 277470898
Bug: 277003116
Fixed: 277470898
Fixed: 277003116

Test: Flicker tests passes
Test: Manual (http://shortn/_kiAZykhZsp)
Test: Tapl presubmit tests
Change-Id: Ib9daebf3b06af2f1a4a3b7461acf91f204ff281b
2023-04-13 11:37:39 +00:00
Jon Miranda c9a4c1ceae Revert "Allow user gesture to take priority over taskbar translation reset animnatiuon."
This reverts commit 41b580bc63.

Bug: 277942460
Test: tablet/foldable device
      check taskbar animation b/w states and during drag
Change-Id: Ib8b362102d08d155d3153b652db47364feb5df0a
2023-04-12 13:31:41 -07:00
Jon Miranda fa8cc97e5f Revert "Fix bug where taskbar is translated during hotseat handoff."
This reverts commit ecb55ef471.

Bug: 277942460
Test: tablet/foldable device
      check taskbar animation b/w states and during drag

Change-Id: I48e37d58afa6e168a683e1b9c73ae15432920030
2023-04-12 13:24:19 -07:00
Jon Miranda ecb55ef471 Fix bug where taskbar is translated during hotseat handoff.
Fixes: 277271088
Test: be in app
      swipe up from bottom to top of screen without pausing then release
      observe taskbar -> hotseat handoff
      observe no jump

Change-Id: I2bb9d93d39215ca3653e2e4353391b50b7ab6417
2023-04-07 11:44:33 -07:00
Jon Miranda 4288be12a7 Merge "Allow user gesture to take priority over taskbar translation reset animnatiuon." into tm-qpr-dev 2023-04-05 18:20:16 +00:00
Mike Schneider f0f94f2ed9 Hide taskbar content while dreaming.
When entering the dreaming state, the TaskbarDragLayer is faded out.
Upon wake up, a slight delay is added to  allow the SFPS reader to do
its magic, so the lockscreen-navbar does not pop-in just to be removed
again.

Bug: 271440683
Bug: 275319714
Fixes: 271440683
Test: manual (http://shortn/_cQudGXDSDU)
Change-Id: I34e02f02288bace39626d531d115fc994b11f371
2023-04-05 09:40:21 +02:00
Jon Miranda 41b580bc63 Allow user gesture to take priority over taskbar translation reset animnatiuon.
Bug: 273948325
Test: open overview
      tap to open main app
      quickly swipe up to show taskbar

Change-Id: I0bbb3a354baf9b56652f029a357d8a5803281da5
2023-04-04 17:06:04 -07:00
Mike Schneider 65b1561a68 Change the use of ScreenLifecycle to WakefulnessLifecycle.
This is a better fit for the signal in launcher, since it identifies
whether the device is awake or asleep, where asleep also inclues AoD

Test: manual, unit tests
Bug: 275319714

Change-Id: I6d6a6694ab018d182606c5554377caec1986bc08
2023-04-03 16:47:12 +02:00
Mike Schneider ba19f31669 Auto-stash taskbar when locking device
This greatly reduces the the jank of the taskbar being shown above the
lockscreen.

Before: http://shortn/_PhXhkWR73t
After: http://shortn/_MC3ZLGHp4o

Bug: 264604213
Test: manual (http://shortn/_ISEXThUFM2), tapl
Change-Id: Ib1c5dbaafd4d0e1d69fbc03d908632e0275c8a0b
2023-03-23 19:30:12 +00:00
Jon Miranda cbe578b269 Merge "Fix spring not springing when unstashing." into tm-qpr-dev 2023-03-23 17:37:35 +00:00
Mike Schneider 43700f61f7 Ensure FLAG_IN_APP is correctly set after launcher-restart.
This is a follow-up to ag/21699905, which caused the nav-bar to be visible after a device-restart alongside the hotseat, until an app was launched.

Currently, when restarting launcher (for example a device restart), there is no guarantee when the SysUI flags are received for the first time. The current init-codepath  expects the launcher to be fully initialized at the time. From there, only deltas are processed:
- during the initial resume, launcher is not considered active because the screen is still off
- the SCREEN_ON event itself is not processed to update the FLAG_IN_APP

Before: http://shortn/_MGQjGFRIaB
After: http://shortn/_awiv2CxFn9

Bug: 261418621
Test: manual (http://shortn/_ty9EDuLM97), tapl
Change-Id: Ie3b3ba1ebe249efe8fc43850052bc9956cafcd24
2023-03-23 08:54:01 +01:00
Jon Miranda 5945226515 Fix spring not springing when unstashing.
The spring animation was getting cancelled by the reset
animation.

Added a check to avoid creating a new reset animation if we
are already animating to the final value.

Bug: 273961611
Change-Id: I3afb62b89b5f6fbe920906499db2497ef8e94069
Flag: ENABLE_TRANSIENT_TASKBAR
Test: stash transient taskbar
2023-03-22 11:53:58 -07:00
Mike Schneider 94f46e14f4 Do not play unstash animation when unlocking the device
The unstash is ignored by TaskbarStashController, while the TaskbarLauncherStateController positions the hotseat on the launcher correctly without animation.

Since the TaskbarStashController is used even with 3p launchers, both of these actors keep track of whether the device is locked independently, based on the SysUI flags.

Bug: 270139677, 266890635, 274084408
Test: manually, Tapl
Change-Id: Iae94522b5d57cc89c9a4d219ad1254b150a3400d
2023-03-22 09:10:03 +01:00