Commit Graph

49 Commits

Author SHA1 Message Date
Tony Wickham
3b7a391c2b Don't recreate taskbar on rotation
This was a regression due to ag/17241303, since technically the size changes when rotating (width and height swap). Now we detect that case and don't recreate, but instead propagate the new DeviceProfile via TaskbarActivityContext#updateDeviceProfile()

Test: Open an app, rotate device, ensure taskbar isn't recreated. Changing properties such as dark theme does still recreate taskbar.
Bug: 219981733
Change-Id: Ic827c8e697a284a085609ea8653d77900686306a
2022-03-24 10:35:10 -07:00
Vinit Nayak
bacd5e1d21 Use ComponentCallbacks to recreate on fold/unfold
* DisplayController callbacks were sometimes being
called too soon and providing stale window bounds,
which led to the incorrect DeviceProfile being used.
Switched to ComponentCallbacks on the window to get
the most up-to-date callbacks.
* Sadly, for navigation mode changes, ComponentCallbacks
get fired too soon and have a stale navigation mode
so we continue to rely on DisplayController for that
change for now.

Fixes: 219958843
Test: Tested folding/unfolding, no taskbar appears when
it shouldn't.
Tested with changing display/font size as well as
nav mode changes

Change-Id: I1b398934c0ea49f69bad19b13977b7b0906f3190
2022-03-17 12:03:14 -07:00
Nick Chameyev
41b7f53805 Merge "Do not run unfold taskbar animation when in portrait" into tm-dev 2022-03-09 10:26:21 +00:00
Nick Chameyev
fe9ec740cc Do not run unfold taskbar animation when in portrait
Limits taskbar icons translation animation
only when the display is in natural orientation.

Bug: 219958588
Test: fold/unfold in portrait and landscape
Change-Id: I33e26829ae37f1df39e8c7234f98d20eb7993b93
2022-03-08 12:03:32 +00:00
Sunny Goyal
4403d078a6 Moving NavigationMode to display controller
Navigation mode affects display properties like bounds and
most listeners already had a similar display listener. This
will remove race conditions when managing the two events.

Bug: 221961069
Test: Presubmit
Change-Id: If7a22e006e6b969ecddf075001066809aa72995c
2022-03-04 18:11:33 -08:00
Vinit Nayak
58c27cce73 Remove Taskbar and Taskbar EDU flags.
Bug: 219035565
Change-Id: I643b5d006b5759723418901ffeb463fa04a82cbc
(cherry picked from commit ec4adc1d5a)
2022-02-23 18:14:28 +00:00
Schneider Victor-tulias
bce63e06ed Merge "Fix taskbar icon dragging issues" 2022-01-25 19:03:06 +00:00
Schneider Victor-tulias
312b68fde4 Fix taskbar icon dragging issues
- Fixed icons disappearing when initiating dragging
- Fixed incorrect icon location when initiating dragging after rotating the screen to an orientation other than what launcher started in

Fixes: 215418478
Fixes: 214025075
Test: dragged icons from the workspace and taskbar
Change-Id: I848138af28802f7d806708c77c25b8de307c70d8
2022-01-20 14:56:01 -08:00
Schneider Victor-tulias
fa0bfee97a Add log dumps for taskbar state
Test: created bugreport and checked logs
Bug: -
Change-Id: Ic0c2330b18c8daf181ae5b236e0c4b212d630fa3
2022-01-20 14:41:25 -08:00
Pat Manning
2c4a1d8f7a Create taskbar for kids mode.
Test: manual
Bug: 203749295
Change-Id: I52c05cf8685e6e921bb717e9714d1cb2e5f4a351
2022-01-07 11:25:04 +00:00
Vinit Nayak
1144fa8c3d Merge "Add task unpinning support for 3 button taskbar" into sc-v2-dev am: f198f6e492 am: b3f069e06c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16339859

Change-Id: Ifb1a086f3a93f14ee7a8889c110b991c7b7701d9
2021-12-01 05:06:34 +00:00
Vinit Nayak
570653346f Add task unpinning support for 3 button taskbar
Bug: 199544447
Test: Tested on small and large screen
Change-Id: Ib7785992ef11825cd07a929e2cb623d02ef246f1
2021-11-30 17:18:09 -08:00
TreeHugger Robot
3057559690 Merge "Handle configuration changes in floating rotation button" into sc-v2-dev am: ed05712f04 am: 6b45ff77e8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16343605

Change-Id: I412679a314a4eab71a035c62884df44ca55e62f9
2021-11-29 20:19:02 +00:00
TreeHugger Robot
ed05712f04 Merge "Handle configuration changes in floating rotation button" into sc-v2-dev 2021-11-29 19:41:26 +00:00
Nick Chameyev
71eed5ca35 Handle configuration changes in floating rotation button
Update resources in floating rotation button
when configurations such as screen density, screen size,
current locale have changed.

Bug: 200103245
Test: change display size, locale, fold/unfold
 -> check that floating rotation button resources
    are updated
Change-Id: Ia69f4f8b393a686012e286a1e39822650c562d52
2021-11-26 11:38:28 +00:00
Winson Chung
cc60ff2fff Merge "Removing logs" into sc-v2-dev am: c1afaa4042 am: c0098a8628
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16248600

Change-Id: Id59fc54915e3f0c54d38904dff7c62d3c937e028
2021-11-23 22:23:39 +00:00
Winson Chung
c1afaa4042 Merge "Removing logs" into sc-v2-dev 2021-11-23 21:58:14 +00:00
Tony Wickham
329d07d91d Merge "Add support for dark tint on taskbar nav buttons" into sc-v2-dev am: 426b021e22 am: 7a957e914e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16250063

Change-Id: I15f08a40e4414b410a1571b97284ada43d610747
2021-11-22 22:30:14 +00:00
Tony Wickham
9ceae57095 Add support for dark tint on taskbar nav buttons
Tint the buttons when taskbar isn't drawing a background (either due to alpha or offset).

Test: Dark icons on a light wallpaper on home screen, dark icons when light IME is showing
Bug: 204256643
Change-Id: Iae634a1b604f50edc102905abd0d812a43c5346e
2021-11-17 16:28:21 -08:00
Merissa Tan
5f2516c03a Create new TaskbarUIController class for Kingyo.
This CL creates a new TaskbarUIController sub-class to allow for taskbar
UI customization on Kingyo.

Recall: http://recall/clips/598d7fc8-fa06-426b-8851-c5d5c1a91eb2

Bug: 202450677
Test: Manual
Change-Id: I9e06fe7556bd9a29d126e29c0277139b2f218069
2021-11-12 12:05:50 -08:00
Winson Chung
21d129de28 Removing logs
Bug: 201305599
Test: Builds
Change-Id: Ic480136ee6b158dc614d43beaed1dfce91b9ca8a
2021-11-12 17:18:11 +00:00
Winson Chung
cc4a1925a6 Remove debug tracing checks to get logs beteween tests
Bug: 201305599
Test: Presubmit
Change-Id: Iab4430f88a2cac97a056486edd97895bc30a03b1
2021-11-05 09:45:13 -07:00
Winson Chung
067faf3bbe Add some logging for taskbar recreation
Bug: 201305599
Test: Manual
Change-Id: I437fe3226657ebe7b5507146fbe5e7f32e2e2fce
2021-11-03 11:17:44 -07:00
Nick Chameyev
0288d2e8bb Move floating rotation button handling to Launcher
Moves handling of floating rotation button when navigation
bar is not created to the launcher. This button was not
showing when taskbar is visible as it was initialized in
navigation bar (which is not created for large screens).

Bug: 200103245
Test: rotate phone when autorotate disabled on inner screen
Test: showing rotate suggestion when gesture nav enabled/disabled
Change-Id: I13dd555bcd811f1524be7ab9ad51b2b012b3b749
2021-11-01 10:36:34 +00:00
Tony Wickham
5a5a926945 Recreate taskbar when dark mode changes
Also dispatch sysui flags to all controllers upon recreate, not just NavbarButtonsViewController. Additionally, tell the controllers to skip the animation due to the flag changes if it's fromInit.

Test: Enable themed icons, switch dark theme in quick settings, ensure taskbar updates
Fixes: 204403933
Change-Id: Ic43a50cf0456175f9beba5c29360440f051cbd2d
2021-10-28 17:49:03 -07:00
Tony Wickham
8791e7de11 Add FallbackTaskbarUIController
- Refactor TaskbarManager to accept StatefulActivity instead of BaseQuickstepLauncher
- Update the new StatefulActivity in onOverviewTargetChange()
- Cleanup LauncherTaskbarUIController a bit to avoid initializing TaskbarActivityContext, TaskbarDragLayer, and TaskbarViewController in the constructor, and instead get these from mControllers after init()

Test: No change in behavior
Bug: 188790554
Change-Id: Ic4d69d73deb6dada416876eb265db57803c3adfd
2021-10-21 10:53:46 -07:00
Nick Chameyev
8523412470 Merge "Do not animate statusbar unfold when in portrait orientation" into sc-v2-dev 2021-10-21 10:02:00 +00:00
Sunny Goyal
2a528a43c1 Delaying taskbar loading until user setup completed
> Also keeping it stashed while all-set activity is visible
> Creating a shared state (simiar to saved instance state) for taskbar
> Keeping taskbar stashed while all-set activity is visible

Bug: 194786060
Bug: 201782272
Test: Manual
Change-Id: Iab5e082243a206772266aece62d3028f5acb6400
2021-10-19 12:38:02 -07:00
Nick Chameyev
ae818dfe42 Do not animate statusbar unfold when in portrait orientation
Disables unfold animation for statusbar when it is
perpendicular to the screen fold.
Moves ScopedUnfoldTransitionProgressProvider from launcher
to shared SysUI/Launcher code

Bug: 201518277
Test: manual
Test: atest com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProviderTest
Change-Id: I1417ee89b132b541d5a3ed0e5ddcbc56d827da96
2021-10-15 14:06:42 +01:00
Vinit Nayak
a08e806e25 Move back to end of screen on keyguard
* Animate it back into position after user unlocks
* Re-create taskbar on layout direction change so
PropertyHolders are recreated to take into account
new values

Fixes: 199852418
Test: Tested w/ password + pin for gesture + 3 button
Change-Id: Ie7f16f737a8fc12328c05d7628d0e3ae09fc08ca
2021-10-06 18:09:15 -07:00
Tony Wickham
4db4ec118b Destroy taskbar when device is shutting down
Test: Shutdown/restart device, ensure taskbar isn't showing
Fixes: 194633599
Change-Id: I8061e515e122c446438975b98527aeda6c59996a
2021-09-10 16:18:20 -07:00
Tony Wickham
abaa481bfb Update taskbar color in onConfigurationChanged()
Test: Change wallpaper, ensure taskbar updates to match
Fixes: 199045474
Change-Id: I7ec8bbec8e31d2d03c09bf487ab55c86b95917e7
2021-09-07 15:39:53 -07:00
Nick Chameyev
4dd4159fdc Add taskbar icons unfold animation
Adds 'move from center' animation for taskbar icons when
unfolding foldable devices.

Moves unfold transition progress provider from quickstep
launcher activity to TouchInteractionService to widen
the scope when this provider is available to cover
both launcher activity and taskbar.

Launcher activity and taskbar get their own instances
of unfold transition progress provider using
ScopedUnfoldTransitionProgressProvider wrapper.
This wrapper allows to get transition progress provider
that emits events only when clients are ready to handle them.

Bug: 193794563
Test: manual
Change-Id: I27581bd4e145a74f526bf60f2a545e56ded322f9
2021-09-03 10:25:52 +01:00
Tony Wickham
14cba5e009 Show back button in SUW
- Listen for USER_SETUP_COMPLETE
- Recreate taskbar, forcing nav buttons to be visible

Test: Run setup wizard and ensure back button is present, then is replaced with taskbar when setup is complete
adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity

Fixes: 191846922
Change-Id: I789186dcc23a2db7cc4637b1cb0486f0d2add784
2021-08-26 17:34:54 -07:00
Tony Wickham
8a2c1cbc5a Add taskbar stashing feedforward, i.e. hint at upcoming stash/unstash
Also fix unstashing not working in 3P launchers by moving the unstash call from LauncherTaskbarUIController to TaskbarActivityContext

Test: long press taskbar background and stashed handle, watch it hint towards the new stashed/unstashed state respectively and then complete the animation when the long press is triggered
Fixes: 193926311
Fixes: 192926350
Change-Id: I0e538be9129bf5c600d07f360b8106d7077862ad
2021-07-19 14:09:33 -10:00
Alex Chau
60cacdf373 Notify System UI about taskbar state
We want to move the rotation suggestion button to the middle
of the taskbar when it is visible and not stashed.
To do this we need to update System UI about the current
state of the taskbar.

Test: manual
Fixes: 187410455
Change-Id: Id918e10a44631362f7c3a8a8bb624ee80bdd3c8b
2021-07-02 10:48:04 +01:00
Sunny Goyal
6e1ce8ccb8 Fixing out of order taskbar callbacks
OnCreate can come before onDestroy for a previous activity which can
cause the callbacks for taskbar to get cleared

Bug: 190170303
Test: Presubmit
Change-Id: I48334605384d4604043a50ffc3d137f84575148a
2021-06-18 12:44:38 -07:00
Vinit Nayak
560d28e3a1 Initial commit of TaskBar on keyguard
Bug: 180046394
Test: Tested with pin + keyboard +
pattern

Change-Id: I951d9508b1325c157a9c0d92fa8e77fe8df9c460
2021-06-15 11:33:26 -07:00
Vinit Nayak
e568781206 Support A11y contextual button
Also migrate to only using sysui state flags
for ime/switcher visibility instead of 2 separate
methods.

Bug: 180046394
Test: Tested w/ 1 a11y service, then 2 services for
long click. Tested with IME switcher enabled and then
also suggested rotation button.
A11y takes precedence over IME switcher, but rotation button
takes precedence over a11y as is in phone mode today.

Change-Id: I9289165c8ca98d7ee432bd7145122d6a519600f6
2021-06-08 11:25:44 -07:00
Sunny Goyal
57b2279dcb Taskbar layout update
> Calculating the hotseat padding statically
> Animating taskbar views individually when animating to home
  instead of a layout animation
> Moving all navbar buttons to a separate layout/controller and independent
  of Launcher
> Fixing RTL layout for taskbar and nav bar

Bug: 187353581
Test: Manual
Change-Id: If21696f38beee328f553e467394776a8e8ed4c3e
2021-06-03 16:10:02 -07:00
Vinit Nayak
91dca0f282 Initial commit of rotation contextual button.
UI fixing todo: b/187754252

Bug: 180046394
Test: Works in basic cases with on home and
in app taskbar.

Change-Id: I69985b57e38a9fdb7935fcafb097b1e6da73a6b9
2021-06-01 13:16:48 -07:00
Sunny Goyal
5584513500 Renamin TaskbarContainerView to TaskbarDragLayer
Bug: 187353581
Test: Presubmit
Change-Id: I9164a956aaa896111f287ab4e97b091a7d4d30ee
2021-05-21 14:42:18 -07:00
Sunny Goyal
301eaf2b8c Initiate taskbar only after the user is unlocked
Bug: 188755902
Test: Presubmit
Change-Id: Ida4bc07f45396e82ab404a617aa6833afeea78bc
2021-05-21 07:05:38 +00:00
Sunny Goyal
f8b1c3b38e Revert "Revert "Renaming TaskbarController to LauncherTaskbarUIC..."
Revert submission 14664190

Reason for revert: Errorprone fixed in ag/14667108
Reverted Changes:
Icd1ddd43e:Revert "Renaming TaskbarController to LauncherTask...
I465013697:Revert "Moving taskbar lifecycle to TouchInteracti...

Change-Id: I1dcccb43d8206830e2b7c1974e775c94ac8c542f
Bug: 187353581
2021-05-21 07:05:31 +00:00
Sunny Goyal
d5500548dc Revert^2 "Moving taskbar lifecycle to TouchInteractionService"
430465a3d5
Bug: 187353581
Change-Id: I7b2280d16adfafd3e85ffc1d22e32d0c00d12b67
2021-05-21 07:05:02 +00:00
Kholoud Mohamed
430465a3d5 Revert "Moving taskbar lifecycle to TouchInteractionService"
This reverts commit e215fb730b.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I13700009003387451&testResultId=TR89423459137251402, bug https://buganizer.corp.google.com/issues/188755902

Bug: 188755902
Change-Id: I4650136975b60f311499ee6ff5b27ab9a32d23d6
2021-05-20 13:32:05 +01:00
Kholoud Mohamed
bb6f6e5dae Revert "Renaming TaskbarController to LauncherTaskbarUIController"
This reverts commit 40a7421619.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I13700009003387451&testResultId=TR89423459137251402, bug https://buganizer.corp.google.com/issues/188755902

Bug: 188755902
Change-Id: Icd1ddd43e62d392f6b68b0150a1075f73106391a
2021-05-20 13:31:34 +01:00
Sunny Goyal
40a7421619 Renaming TaskbarController to LauncherTaskbarUIController
Bug: 187353581
Test: N/A
Change-Id: I44aac42c4df134fd7e6fc0c3609fdb3007cf52e3
2021-05-18 11:43:28 -07:00
Sunny Goyal
e215fb730b Moving taskbar lifecycle to TouchInteractionService
> Inflating taskbar views with a non-launcher window context
> Removing separate taskbar view in Launcher
> Handling taskbar icon clicks directly instead of going via launcher
> Fixing some relayouts during show/hide animation

Bug: 187353581
Test: Manual
Change-Id: Ia7d44acbb770bf0345922234b3daa5cc040a5843
2021-05-17 21:47:08 -07:00