This includes the previously added Taskbar System Action, as well
as a new one for Screen Search.
Bug: 299321919
Test: Manual
Change-Id: I4a8fa1dde402dc2de5f448cb2edbe712e128ff12
- 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
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
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
* 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
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
- 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
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
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
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
Test: simulate docking/undocking, ensure taskbar is not recreated;
set dark/light theme and ensure taskbar is still recreated
Fixes: 233459895
Change-Id: I583557039f4a7c02baaa5e62eb888f55d659adb0
- 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
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
* 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
- 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
Also moved references of "tasbkar_view" to share TASKBAR_RES_ID constant
Test: compiles; see follow up CLs
Bug: 235986838
Change-Id: I69bcfa975550e567f3daa35af8a810546297d79c
* TODO: Landscape/seascape support,
Separate nav spacing out into
separate class/add tests
Bug: 219035565
Change-Id: I8f5c007f04ea4d6df15962772806356181d764ff
* 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
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
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)
* 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
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
* 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
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
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
- 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
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