Commit Graph

151 Commits

Author SHA1 Message Date
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
Mike Schneider 308b7849db Do not perform invisible transitions while the screen is off.
This change caches whether launcher was active at the time of the screen
off, and assumes this last state when the screen is actually off.

While trying to understand the code, I renamed a couple class-internal
methods and flags, plus added comments. If they are not accurate, its
due to a misunderstanding on my part, and I will gladly revisit and
check whether all the assumptions I made still hold.

Bug: 261418621
Test: manually

Change-Id: I2ad25caf478100781a063c356c5fd2d20d3e1917
Merged-In: I2ad25caf478100781a063c356c5fd2d20d3e1917
2023-03-21 21:02:55 +00:00
Jon Miranda f0e14ac7da Taskbar motion polish to keep icons within taskbar bg bounds.
Instead of making the icons themselves move faster, we change
the startDelay/duration of the taskbar bg alpha animation
so that the taskbar is only visible when the icons are within
the taskbar bounds.

This is still an approximation. For U+, we should support taskbar
width change to fit the icons when they are in the 'hotseat'
alignment.

Bug: 273961611
Test: home <-> overview
      home <-> app
      stash <-> unstash
      foldable/tablet
      RTL
Change-Id: I39bedafac4afd641d250f7c97abf1e2de070d646
2023-03-20 07:12:53 -07:00
Jon Miranda 4b5f6913ef Fix QSB flicker when returning home.
We only set qsb alpha if isQsbInline = true, since that is when
we draw/animate the qsb in the taskbar.

Fixes: 269164187
Test: isQsbInline = true / false
Change-Id: I92022135e74f734a8e50c606dc9c605df39a9f97
2023-03-17 13:38:39 -07:00
Brian Isganitis c762ef68d4 Log when taskbar is in task switcher container.
Test: wwdebug & wwlogcat
Bug: 261177876
Change-Id: Id4eda7ee7e4e2c1aa60e07d5b65410b3847d9ac6
2023-03-07 03:29:21 +00:00
TreeHugger Robot 3dd1440520 Merge "Translate taskbar to hotseat without jump when swiping up from overview" into tm-qpr-dev 2023-03-04 00:18:16 +00:00
Brian Isganitis d2d2913812 Merge changes from topic "running-in-test-camel" into tm-qpr-dev
* changes:
  Expose IS_RUNNING_IN_TEST_HARNESS as static method.
  Make isTooltipEnabled a getter due to its mutable dependencies.
2023-03-03 23:15:38 +00:00
Brian Isganitis fdd044e16e Expose IS_RUNNING_IN_TEST_HARNESS as static method.
This variable is now mutable, making the uppercase format misleading.
For instance, users might assume they can use this value in other
immutable properties, when they really should be accessing the latest
value every time they need it.

Context: https://source.android.com/docs/setup/contribute/code-style#follow-field-naming-conventions

Test: Manual
Bug: 271160958
Change-Id: Iaaa51d9153cb8a7d686c72e1210b1948029dcfd5
2023-03-03 00:17:33 +00:00
Tony Wickham 10c78b94f5 Translate taskbar to hotseat without jump when swiping up from overview
Also use this code path to reset translation when going from an app to
launcher.

Test: swipe up from overview, goes home without hotseat jumping
Fixes: 262826748
Change-Id: If8a4278a61e3786cfe16c388eabefacc63e8f327
2023-03-01 19:20:57 +00:00
Alex Chau 7fee161cd5 Skip updateIconAlphaForHome if Taskbar is already destroyed
Bug: 269409332
Test: Switch display with and without Tasxkbar at home and in-app, Taskbar and Hotseat visibility are correct
Change-Id: I598f618c336067bf795b77ccdf3b03f420634047
2023-02-28 12:46:50 +00:00
Winson Chung d30ef72606 Merge "Fix issue with global drag from taskbar being disabled" into tm-qpr-dev 2023-02-21 22:50:31 +00:00
TreeHugger Robot 9769b2844c Merge "Translate the taskbar icons to match nav handle shape." into tm-qpr-dev 2023-02-21 03:24:41 +00:00
Winson Chung 3bce15d2a2 Fix issue with global drag from taskbar being disabled
- BackgroundAppState extends OverviewState, so in some cases we will
  transition to background app, which inadvertently triggers global
  drag and drop from being enabled

Bug: 269819279
Test: Enter split, cycle the screen and try to drag an app from the
      transient bar
Change-Id: I0e8c5e8bbaa0220fc870d2db866152864253010f
2023-02-18 06:34:08 +00:00
Jon Miranda 13e9b9f889 Translate the taskbar icons to match nav handle shape.
- We need to reset icon alignment whenever icon layout bound
  changes. This fixes the issue where we build an icon
  alignment animator before any of the views are laid out.
- Separated animation logic between.
  createTransientAnimToIsStashed and createAnimToIsStashed
* The values still require a bit more tuning but this gets us
  a lot closer to spec for many of the motion polish.

Bug: 267806083
Bug: 246634367
Bug: 246635237
Test: manual
Change-Id: Id122134b22ef4e418ce632e4a8137239dc8bb313
2023-02-17 10:56:59 -08:00
Alex Chau 9a647d53cb Log stackstrace if updateIconAlphaForHome is called after Taskbar is destroyed
Bug: 269409332
Test: manual
Change-Id: I0ff4be33b1e621b0e1a837f8211eb70c27368be1
2023-02-16 18:56:13 +00:00
Vinit Nayak f4e7e5aaf4 Add overview taskbar split support for 3P launcher
* Created b/268120202 to track other states of split
selection that are unhandled on 3P launchers

Test: Able to initiate split in overview with 3P launcher
Fixes: 264576761
Change-Id: I0311fe83380bf914fa79956b2565b61cc5eab916
2023-02-15 11:26:06 -08:00
Vinit Nayak 05dbd1aab8 Merge "Rename LauncherState QUICK_SWITCH to QUICK_SWITCH_FROM_HOME" into tm-qpr-dev 2023-02-06 18:59:47 +00:00
Vinit Nayak 82b8aa561a Rename LauncherState QUICK_SWITCH to QUICK_SWITCH_FROM_HOME
Test: compiles
Bug: 265734073
Change-Id: I38e23c62b1eeae6a26db9c388655a8ffceb025b6
2023-02-03 10:38:21 -08:00
Tony Wickham 632e9a84c4 Merge "Don't applyState if taskbar is already destroyed" into tm-qpr-dev 2023-02-03 17:55:30 +00:00
Tony Wickham 9fb8883017 Don't applyState if taskbar is already destroyed
Test: Open overview while unfolded, then fold; ensure hotseat remains
visible
Fixes: 260135164

Change-Id: I788a9a682a7d5fabbea7c478231fc7abe92e95b9
2023-02-03 01:00:21 +00:00