Commit Graph

138 Commits

Author SHA1 Message Date
Jagrut Desai 24231d9994 Merge "Taskbar pinning animation with no recreate" into main 2023-10-26 21:33:41 +00:00
Jagrut Desai 631b284836 Taskbar pinning animation with no recreate
Test: Manual, Visual
Bug: 265436799
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED

Change-Id: I84a4d1efdb0bd4a0f856fa1f46b6489ef54a3841
2023-10-26 10:36:48 -07:00
Tracy Zhou f767c86896 Add task bar window of TYPE_NAVIGATION_BAR when FLAG_HIDE_NAVBAR_WINDOW is on
Bug: 304426019
Test: manual
Change-Id: I0c09e57db5a9bf6391605d5ec667cf12c96a2042
2023-10-25 14:54:01 -07:00
Tracy Zhou 00f9e52575 Migrate ENABLE_TASKBAR_NO_RECREATION to launcher.aconfig
Bug: 274517647
Test: manual
Change-Id: I29fe58691440ee757c9f391bd574ef80eefb5ae6
2023-10-24 18:42:15 -07:00
Tracy Zhou fbc01a0b4f Fix transient task bar not automatically stashed in app when ENABLE_TASKBAR_NO_RECREATION is enabled
Currently the task bar root layout consumes all the events and does not pass the events to drag layer, without explictly routing those events

Fixes: 303910224
Test: go to an app, swipe home, and then go back to the app. Make sure the task bar is stashed
Change-Id: I6f5e481c267dad25544118134ff95b0cb9bb1a45
2023-10-11 11:25:45 -07:00
Jagrut Desai f9ad6ab8bb Merge "Add more debugs logs to TaskbarManager" into udc-qpr-dev am: f2412770e2 am: 7a150d07d7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24829188

Change-Id: Ia5fae16bbb40ac5553b92380f8b1f7f592cb201e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 05:04:26 +00:00
Jagrut Desai c1bd53c3f0 Add more debugs logs to TaskbarManager
- adding more logs to TaskbarManager to investigate taskbar being present in folded state of the device.

Test: Presubmit
Bug: 254119092
Flag: not needed
Change-Id: I81c475f1c6bbc8d5b7874ddc45e8778861b61cd0
2023-09-28 15:46:22 -07:00
Andy Wickham e257408101 Adds SystemActionConstants
This includes the previously added Taskbar System Action, as well
as a new one for Screen Search.

Bug: 299321919
Test: Manual
Change-Id: I4a8fa1dde402dc2de5f448cb2edbe712e128ff12
2023-09-19 22:12:40 +00:00
Brian Isganitis 3c0303b6ac Focus Taskbar search EditText and show IME on meta key toggle.
Test: adb shell input keyevent 117
Fix: 300116542
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: Iaf15240f49e978078cd586169be1665e1a86eda5
2023-09-12 20:23:47 +00:00
Tracy Zhou ca9b884118 Merge "Always recreate TaskbarActivityContext" into main 2023-09-12 02:24:45 +00:00
Tracy Zhou 01cc856157 Always recreate TaskbarActivityContext
- Add ENABLE_TASKBAR_NO_RECREATION flag
  When the flag is turned on,
  * Always destroy and recreate
  * Move task bar drag layer lifecycle from TaskbarActivityContext to TaskbarManager
  * Wrap the drag layer into a fullscreen root view

Note that in order to preserve the window across multiple TaskbarActivityContext creations, the inset types and ids must stay the same, so it's extracted out.

Bug: 274517647
Test: Fold and unfold a few times. Use a few applications. Make sure the task bar is visible and in the right place (tested with ENABLE_TASKBAR_NO_RECREATION and FLAG_HIDE_NAVBAR_WINDOW both on, both off, and one on and one off)
Change-Id: Ic3f0aa3d056fe178a53b76b2ad6cc6b9bffd5898
2023-09-10 22:43:47 -07:00
Andy Wickham 976876ec5b Add tests for LPH override for 3 button mode Taskbar.
Override == Launcher handles via AssistUtils instead of SysUI.

Bug: 297561673
Test: TaskbarNavButtonControllerTest + bug bash session
Change-Id: I079d4b9045d6f7d94d74e91bcabbbc182de6e17d
2023-08-30 14:45:18 -07:00
Brian Isganitis 18dd200832 Merge "Launch Taskbar All Apps with Meta key when it's available." into udc-qpr-dev 2023-08-09 17:15:12 +00:00
Brian Isganitis a8ad7e448c Launch Taskbar All Apps with Meta key when it's available.
Taskbar All Apps will be chosen over Launcher's when we are in an app or
in overview. Otherwise, we fallback to toggling Launcher All Apps.

Test: Manual, adb shell input keyevent 117
Fix: 282111244
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: I68e4cb3a80d42e233f7d9ad33fc3791b5c75d219
2023-08-08 19:32:02 +00:00
Nicolo' Mazzucato e120fcfa47 Add better logging around long launcher operations during unfold
This logging helps understanding what's going on in Launcher main thread
 during unfold from perfetto traces.

Test: Perfetto trace after unfolding
Bug: 292472402
Change-Id: I7a037d9a129deb4bfe4310fdba664b87164ef2ca
2023-08-07 12:18:10 +00:00
Vinit Nayak 15a9feb67f Add support for taskbar phone 3 button seascape
* Ignore orientation check from ag/22709055 for now,
that will be reverted. This causes recreateTaskbar() to
not run when folding the device

Bug: 274517647
Test: Tested 3 button nav in portrait/landscape/seascape
Flag: persist.wm.debug.hide_navbar_window
Change-Id: Ied02ead677d496b465c748257e32b7db5eb9580c
2023-07-06 13:58:30 -07:00
Sunny Goyal c87f7c74ef Simplifying taskbar recreation logic
Using the same config changes as used by the Launcher activity to
avoid any inconsistencies

Bug: 269409332
Test: Tentative fix, can't reproduce the original bug
Flag: N/A
Change-Id: I3d7503cf13e6b3112151f1db520486d87871584c
2023-06-15 15:03:30 -07:00
Schneider Victor-tulias 871d7fc351 Moved TISBinder lifecycle handling to TISBinderHelper
- All instances where we used TISBinder will now use TISBinderHelper#getBinder. This will allow TISBinderHelper to handle its lifecycle
- Moved all instance of TaskbarManager and OverviewCommandHelper as well since TIS and TISBinder handle their lifecycles
- Cleaning up launcher instance from TaskbarManager when TISBinder is being destroyed

Flag: not needed
Bug: 283490010
Test: ran launcher and performed gestures
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:248794e698417b1156bf911adb31682186fe2e34)
Change-Id: I8415a6b2c1dba0776e7c0e1ee32ad3c683100bde
2023-06-07 17:15:18 +00:00
Jagrut Desai 64b79a9fad Merge "Exposing functionality to pin Taskbar from TaskbarDividerPopupView." into udc-dev 2023-04-21 16:15:07 +00:00
Jagrut Desai c6d625b8db Exposing functionality to pin Taskbar from TaskbarDividerPopupView.
This CL allows user to long press on Taskbar divider view to bring up divider popup view. It also included functionality of allowing user to turn on always show taskbar from the divider popup view.

Test: Manual
Bug: 265436055
Bug: 265434718
Bug: 265434902
Bug: 265434705
Flag: ENABLE_TASKBAR_PINNING

Change-Id: Ied54d718483a9b06b053d68988e5c294a786002a
2023-04-20 22:04:21 -07:00
Jon Miranda 59d1214798 Remove ActivityInfo.CONFIG_SCREEN_SIZE if orientation is still the same.
Avoid NPE to unblock development while we investigate root cause.

Bug: 274394837
Test: see repo steps in bug comment #11
Change-Id: Ib18aa9da1d2827ae03037215ff9e34d27493995b
Flag: ENABLE_TRANSIENT_TASKBAR true
2023-04-18 19:38:53 +00:00
Tony Wickham df59884370 Add debug logs for why taskbar might not be destroyed
Test: Manually read log output
Flag: None
Bug: 254119092
Change-Id: Ibaa7ffdc91030c5c999ddc5f2807a55763854331
2023-04-03 23:20:57 +00:00
Jagrut Desai d2140ba498 Taskbar System Action with Broadcast Receiver.
Test: Manual
Bug: 265618836
Change-Id: I734402ef277a09cf5e41aa63f8be09375706c17a
2023-03-29 10:37:45 -07:00
Mike Schneider a79d460736 Add optional debug logging to on flag changes
FlagDebugUtils.formatFlagChange() utility to always write the set of
updated flags, with a list of actual changes applied. Examples:

[allow_gesture|device_dozing] +[device_dozing]
[] -[state_started]

Additionally, moved the appendFlag utility to the new FlagDebugUtils

Test: manually verifed the output in logcat
Bug: 261418621
Change-Id: Ie4f2cfcd4b34f0a816db7845e1df4331babed07a
2023-03-15 13:36:18 +01:00
Tony Wickham b0fa52f3ee Only recreate taskbar for uiMode theme changes
Test: simulate docking/undocking, ensure taskbar is not recreated;
set dark/light theme and ensure taskbar is still recreated
Fixes: 233459895

Change-Id: I583557039f4a7c02baaa5e62eb888f55d659adb0
2023-02-28 23:55:31 +00:00
Winson Chung 8fe24e0893 Reapply previous states when recreating the task bar
- When the taskbar is recreated (ie. from a display config change),
  the previous states sent from SysUI need to be reapplied to the
  new controllers

Fixes: 267664948
Test: Wipe device, in SUW accessibility settings change the display
      density and verify it properly tints the back button
Change-Id: I837a67ced2941d4545359b8231026044b5479767
2023-02-11 00:25:01 +00:00
Alex Chau 2d9692f63d Destroy taskbar if it's not present in DeviceProfile
Bug: 254119092
Test: manual
Change-Id: I9eb95cc90c92bf93d9220b05406d4589b2cb196f
2023-01-20 20:57:58 +00:00
Nicolo' Mazzucato 696238e086 Provide single threaded executor to UnfoldUnfoldTransitionFactory
This fixes a concurrency issue where HingeSensorAngleProvider was being stopped and started at the same time in a thread-pool after a fast fold/unfold, despite not providing concurrency guarantees.

In sysui, the background executor provided was already single threaded, so no issue arisen. From Launcher, THREAD_POOL_EXECUTOR was provided.

In a follow up cl, I'll add a @SingleThreadBackground annotation to the executor used in the unfold lib.

Bug: 261320823
Test: manually stress tested fold/unfold.
Change-Id: Iccf1f1f7246d8592d4d80a032479aa75f0050655
2023-01-12 09:19:48 +00:00
Vinit Nayak 0d784ee7fb Toggle taskbar button nav assistant availability
* New signals coming in from Sysui reflect the toggle
in Settings for long pressing on home button to
invoke assistant.

Fixes: 255909545
Test: Manual + added unit test for TaskbarNavButtonController
Change-Id: Ic65a80b0b9697990931b7e89756773fb086cc3bd
2023-01-03 20:07:27 -08:00
Nicolo' Mazzucato 1ee66e943a Add logs to aid missing unfold animation on launcher investigation
Bug: 261320823
Test: Manual
Change-Id: If714750c85ee49e66e21462ab9d2675ab0be8b55
2022-12-06 13:06:01 +00:00
Alex Chau e818bcb997 Use real IDP in DeviceProfileTest
- Mock WindowManagerProxy instead of IDP in DeviceProfileTest
- Extracted NavigationMode to standalone class
- Moved parseNavigationMode to WindowManagerProxy so it can be mocked
- Moved DeviceProfileTest to internal repo

Bug: 242086027
Test: DeviceProfileTest
Change-Id: Ia5a43293b1380f04d786d2adf8503cfd10f7674a
2022-09-07 10:35:21 +01:00
Tony Wickham c8e824dbdb Add support to Tapl to recreateTaskbar
Also moved references of "tasbkar_view" to share TASKBAR_RES_ID constant

Test: compiles; see follow up CLs
Bug: 235986838
Change-Id: I69bcfa975550e567f3daa35af8a810546297d79c
2022-08-30 13:40:45 -07:00
Sunny Goyal d6801af69a Inlining BaseQuickstepLauncher to QuickstepLauncher
Bug: 243022799
Test: Presubmit
Change-Id: I3706fc1f10d88ea73bd873c7e94c3e78795791eb
2022-08-24 12:51:21 -07:00
Vinit Nayak 8a3d05587e Show 3 button nav on phone in Taskbar (1/2)
* TODO: Landscape/seascape support,
        Separate nav spacing out into
        separate class/add tests

Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
2022-08-09 13:25:50 -07:00
Vinit Nayak 7db37b3d94 Use Taskbar window for phones (only works on gesture nav) with flag
* Try to avoid re-creating TaskbarActivityContext to
avoid re-inflating taskbar views
* Toggle via Flipper App (key 1101)
OR adb shell setprop persist.wm.debug.hide_navbar_window 1 && adb reboot
TODOs
* Only works for gesture nav, not 3 button
* Sampling on phone doesn't always work.

Bug: 219035565
Change-Id: I2a015f99d5f1fe86d7261eec9fd898bd4480ff9f
2022-08-01 17:48:09 -07:00
Brian Isganitis a9a78117c7 Have separate DeviceProfile instances for taskbar and all apps windows.
We want to scale down the DeviceProfile for taskbar, but the all apps
window should rely on the original DeviceProfile.

Test: Manual
Fix: 232907361
Change-Id: Ia09f674ada9e445c1d7278fa94c536ea9de13ef9
Merged-In: Ia09f674ada9e445c1d7278fa94c536ea9de13ef9
2022-05-25 18:11:51 +00:00
Schneider Victor-tulias 766f2fc346 Coordinate the SUW All Set page first reveal with the taskbar unstash to hotseat animation.
Bug: 220096988
Test: manual
Change-Id: I1f517b322e5c18f825be8b51ebb560a4a195b666
2022-05-13 11:17:10 -07:00
Schneider Victor-tulias 9b6babf839 Translate the 3 navigation buttons to/from their in-app position when animating to/from the -1 screen, all apps and widgets.
Bug: 221455508
Test: opened all apps, widgets, -1 screen, notifications shade and keyboard in various combinations and orders; locked screen, launched app, returned home with the back/home buttons, opened overview
Change-Id: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
Merged-In: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
(cherry picked from commit 9c1a452a1d)
2022-05-02 18:45:01 +00:00
Vinit Nayak 188ae14220 Listen for density changes through DisplayController callbacks
* Make display controller callbacks member variable for
clarity.
* Created follow-up refactor (b/227669780)

Fix: 227329641
Test: Repro steps in bug no longer make taskbar appear
when it shouldn't

Change-Id: I83702c0b817749943d2a9c4c5f0e44342a475e75
2022-03-31 16:20:23 -07:00
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