Commit Graph

138 Commits

Author SHA1 Message Date
Sukesh Ram 29a430fc21 [Connected Displays in Taskbar] Refactor TaskbarDelegate for Display Signals
Refactor the TaskbarDelegate to support multiple pass down displayId specific signals down to the taskbar level.

Flag: EXEMPT not adding new behavior
Bug: 376128251
Test: Manual
Change-Id: I61aef4eb746d671be69eefeb15d876d48dd9a8fa
2024-11-05 00:48:43 +00:00
Tony Wickham 0f954d9d3b Merge "TaskbarManager now sets TaskbarUIController for RecentsWindowManager" into main 2024-10-31 20:17:21 +00:00
Tony Wickham 87455f28fc TaskbarManager now sets TaskbarUIController for RecentsWindowManager
- FallbackTaskbarUIController can take in a generic
  RecentsViewContainer parameter, i.e. RecentsActivity or
  RecentsWindowManager.
- When changing Overview targets to RecentsWindowManager, which is not
  an Activity, we still update the TaskbarUIController

Test: Switch between default Home activities with the flag on and off,
ensure Taskbar works as expected in each case (3P vs 1P launcher).
Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 368030750
Fixes: 365775636

Change-Id: Ife775e8c226f8c73ec9e1f97b4a6f2972f6c905f
2024-10-30 20:21:26 +00:00
Brian Isganitis bab87b1551 Stop suspending Launcher Taskbar in tests.
The Taskbar under test should now be sufficiently isolated from
Launcher, so we no longer have to suspend it.

Flag: TEST_ONLY
Bug: 230027385
Test: go/testedequals
Change-Id: I20cff11c90208b59f1dca3730ec3978913c43a50
2024-10-29 19:15:58 -04:00
Andy Wickham 9605643883 Merge "Migrate Contextual Search code to AOSP" into main 2024-10-15 00:47:02 +00:00
Andy Wickham 0b936727d6 Migrate Contextual Search code to AOSP
- Adds ContextualSearchInvoker
 - Adds ContextualSearchStateManager
 - Adds ContextualSearchHapticManager

Example output from ContextualSearchStateManager
in TouchInteractionService dump:
https://paste.googleplex.com/5536017815961600

Bug: 353715553
Test: go/contextual-search-entrypoints-test-plan
Flag: EXEMPT moving code from vendor to aosp

Change-Id: I8253294d6be427e0fc29d6052994de0c03f05a3e
2024-10-10 21:03:42 +00:00
Brian Isganitis 066f5adcf6 Run Taskbar controller tests on VirtualDisplay.
Flag: TEST_ONLY
Test: go/testedequals
Bug: 369641781
Change-Id: Id53f420e7edc1779da9eb7647644ffffb74e67b3
2024-10-10 19:13:40 +00:00
helencheuk 5012640ab2 [Contextual Edu] Update Edu stats when going to overview and all apps from home
Update education stats when
- go overview and all apps by swiping up at homepage (AbstractStateChangeTouchController)
- go home from all apps by swiping down the all apps panel (AbstractStateChangeTouchController)
- go home from all apps or overview by swiping up from the bottom nav bar (NavBarToHomeTouchController)
- in 3 button navgiation mode (TaskbarNavButtonController)

NavBarToHomeTouchController does not inherit from AbstractStateChangeTouchController so logic are added separately.

Bug: 363480554
Test: TaskbarNavButtonControllerTest
Flag: com.android.systemui.keyboard_touchpad_contextual_education
Change-Id: I0662704a9093b9f5a4d2f086a8297429fbc49881
2024-09-17 16:00:24 +01:00
Treehugger Robot 206e15b286 Merge "Move DesktopVisibilityController to TouchInteractionService" into main 2024-09-12 02:32:00 +00:00
Schneider Victor-Tulias 2b46c945a7 Move DesktopVisibilityController to TouchInteractionService
Moved DesktopVisibilityController to TIS for 3P launcher support.

Flag: EXEMPT bug fix
Fixes: 338063030
Fixes: 357859025
Test: Launched overview and resumed desktop task from desktop mode on 1P and 3P launchers
Change-Id: I64e99a32ed13bcb6e4a81a18c29df2643373dc35
2024-09-11 09:56:35 -07:00
Tracy Zhou 7b30d2d102 Pipe appTransition signal to taskbar to pause region sampling when it's ongoing
Bug: 361593564
Test: https://android-build.corp.google.com/builds/abtd/run/L78300030006280283
Flag: EXEMPT bugfix
Change-Id: Ib874e2b44c1cc59280da1250fd35f01572c39221
2024-09-08 21:50:18 -07:00
Tracy Zhou a54e490eb1 notifyTaskbarStatus in taskbar phone mode
This fixes notification shade not being able to swipe up to the edge during animation because it listens to the task bar visibility signal

Fixes: 352365691
Test: https://b.corp.google.com/issues/352365691#comment28
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: I10d6f49d087dd85b3a8bc5894f76f5d46ba4a865
2024-08-20 20:39:41 +00:00
Fengjiang Li b87ad6f945 [Launcher Jank] Improve SimpleBroadcastReceiver.java
Bug: 348649441
Flag: NONE - jank fix
Test: manual - presubmit
Change-Id: I17bd7e4d7f0640522476e94edae691f983835f62
2024-07-11 11:12:29 -07:00
Brian Isganitis 8f1a1c4b6a Suspend Launcher taskbar while removed for tests.
This approach is less destructive than completely destroying Taskbar
while still ensuring it will not try to recreate itself.

Test: Taskbar Unit Tests
Bug: 230027385
Flag: TEST_ONLY
Change-Id: Ida0f7cc0b9c5b1d53bbadc2bb9fd81689c7f3940
2024-07-02 21:42:23 -04:00
Brian Isganitis 3ad18b451a Merge "Revert "Completely destroy Launcher's Taskbar."" into main 2024-07-02 23:20:58 +00:00
Brian Isganitis e1a2b67f2b Revert "Completely destroy Launcher's Taskbar."
Revert submission 28102205

Reason for revert: Potential test breakage.

Reverted changes: ag/28102205

Change-Id: If7fa1ff192a240e753e5c245d591d46e594e5a6f
Flag: TEST_ONLY
Bug: 230027385
Test: Presubmit
2024-07-02 17:00:11 -04:00
Brian Isganitis 035a25c9a7 Merge changes I18245c22,I4c7a6085,I1c17b7f0,I663e5ad7,I9199fd92 into main
* changes:
  Completely destroy Launcher's Taskbar.
  Add context for sandboxing Taskbar window contexts.
  Add tests for TaskbarUnitTestRule.
  Have recreateTaskbar perform recreate on UiThread.
  Move test rules to subpackage.
2024-07-01 16:41:17 +00:00
Brian Isganitis 326ae5e3d1 Completely destroy Launcher's Taskbar.
Just removing it temporarily from the window manager is insufficient.
Taskbar can attempt to recreate itself due to many callbacks being
invoked during tests such as the settings changing. After the tests
finish, the launcher process will restart anyways so taskbar will come
back automatically.

Flag: TEST_ONLY
Test: TaskbarUnitTestRule tests
Bug: 230027385
Change-Id: I18245c224f6d2ffc78d8bf80d30275429074f9b5
2024-06-28 18:38:23 -04:00
Brian Isganitis e7e98985f7 Move test rules to subpackage.
Test: Compiles
Flag: EXEMPT refactor
Bug: 230027385
Change-Id: I9199fd92450180fa10673c3072dd6e8312fd24d6
2024-06-27 18:32:26 -04:00
Tracy Zhou 027600a259 Pipe nav bar transitions logic into task bar
Bug: 349155860
Test: manual
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: Idaf7ecc7b964a2c406ddf4329b64971b08f5d7de
2024-06-25 22:01:34 -07:00
Fengjiang Li 1f87d94e59 [Launcher Jank] Avoid SimpleBroadcastReceiver making binder calls on main thread
Fix: 348649441
Flag: NONE - jank fix
Test: manual - presubmit
Change-Id: Ie97713f3f0b1f117662d49c6d6a65651c593d424
2024-06-21 14:37:51 -07:00
Brian Isganitis 9eaae4b6a4 Initial TaskbarUnitTestRule with example overlay controller tests.
Flag: TEST_ONLY
Bug: 230027385
Test: TaskbarOverlayControllerTest
Change-Id: I858906ece7e67677962ec8b4432bfcca5ec30283
2024-06-11 23:48:13 -04:00
Brian Isganitis e1eaefd537 Initial prototype of tiny taskbar.
Introducing isTinyTaskbar and using in a few places to show Taskbar on
phones.

Disabling for three button mode since the buttons will take up most of
the space. Could also prototype adding meta key as a 4th button in
this case if we feel like it.

Flag: com.android.wm.shell.enable_tiny_taskbar
Test: Manual
Bug: 341784466
Change-Id: Iba07382d9bd5d14fc29ef080a390db561f6fd454
2024-05-23 16:40:58 -04:00
Chris Göllner 0cd995e4ef Convert SysUiState flags from int to long
We already reached the limit of 32 flags for an int. To be able to have
more, changing from int to long.

This is needed, as new flags have to be added.

Flag: NONE
Test: Manually running SysUI and Launcher
Test: Unit tests in CL
Bug: 335625543
Change-Id: Iec1d40218264c7c64c50fd09764aa07c0caa7787
2024-05-13 14:47:33 +01:00
Jagrut Desai 2e8ca87c21 Taskbar in Desktop Windowing Mode
Test: presubmit
Bug: 330146462
Flag: NONE
Change-Id: Ib33f90704c3010df6a52e2a1c420960b11dbd0d4
2024-05-01 09:29:24 -07:00
Gustav Sennton 0eaf9ebdaa Remove references to FEATURE_PC and related Desktop classes in Launcher
Also clean up TaskbarRecentAppsController APIs

Flag: NA
Test: DesktopTaskbarRunningAppsControllerTest
Bug: 330551930
Change-Id: Ibd9c3d6aa1d5423b51a48ed0a972196752d5199a
2024-04-30 13:15:28 +00:00
Brian Isganitis 79d0569d49 Remove nav button controller dependency on TIS.
This refactor will make it easier to initialize TaskbarManager in a test
environment. Se go/taskbar-controller-tests for context.

Test: TaskbarNavButtonControllerTest
Bug: 230027385
Flag: N/A
Change-Id: I157649ff93b5e1751e6774e2cba2f76750792292
2024-04-24 18:17:00 -04:00
Brian Isganitis 3f4e5812ce Merge "Prevent meta shortcut from cancelling split select state." into main 2024-04-10 07:34:47 +00:00
Brian Isganitis 84fbec0b16 Prevent meta shortcut from cancelling split select state.
There are two things that need to be changed for this to work:

1. Make the isInOverview condition check for any Overview UI (including
   the split select state, modal, etc.)
2. Toggle Home All Apps directly, because firing the intent will cause
   Launcher to pause and resume before the intent is handled. We
misinterpret the pause as a request to cancel split screen. Since
TaskbarManager has a reference to Launcher, we might as well call the
method directly.

Test: Manual
Fix: 319076403
Flag: N/A
Change-Id: Ib8899188f593a168a054a16717df4a95be098557
2024-04-09 16:10:56 -07:00
Brian Isganitis 6d63e7796d Reset allAppsVisible if folding to phone upon recreateTaskbar.
For taskbar unification, we should reset this bit to false when folding
into phone orientation. Otherwise, we will reinit Taskbar AllApps over
the phone UI which is unexpected behavior.

Test: Manual
Flag: N/A
Fix: 293379641
Change-Id: I53c38c8b4df477191be3c21b7750c55a71c7336f
2024-04-08 15:36:31 -07:00
Gina Ko 5b845d2831 Reapply "Support toggling Taskbar All Apps with 3P Launcher." am: 036a83cd99
The revert was not supposed to be auto-merged.

This reverts commit 5a3bf93d82, reversing
changes made to 84f8002586.

Bug: 331384026
Change-Id: Ieb11a8544db90259aae856c4af805c37ce9e68cc
2024-03-26 15:03:31 -07:00
Liana Kazanova 5a3bf93d82 Revert "Support toggling Taskbar All Apps with 3P Launcher." am: 036a83cd99
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/26720630

Change-Id: I235f6d6263be6e39a583ac7b1a0783bfc77533c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-26 20:57:12 +00:00
Liana Kazanova 036a83cd99 Revert "Support toggling Taskbar All Apps with 3P Launcher."
This reverts commit 176f186a6d.

Reason for revert: DroidMonitor: Potential culprit for http://b/331438065 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: Ie375277ad2f65199749f0211ab50037d4b37e664
Merged-In: Ie375277ad2f65199749f0211ab50037d4b37e664
2024-03-26 20:34:09 +00:00
Brian Isganitis 176f186a6d Support toggling Taskbar All Apps with 3P Launcher.
Taskbar All Apps exists regardless of the default launcher. Thus, we can
toggle it on large screen devices. This CL ties registering the system
action to default launcher and taskbar's enablement.

Test: adb shell input keyevent 117
Test: AllAppsActionManagerTest
Flag: LEGACY ENABLE_ALL_APPS_SEARCH_IN_TASKBAR ENABLED
Fix: 317259709
Change-Id: I26f0ed9e921beac762f3f9e6aaceb1002ad4801a
(cherry picked from commit c113b277e6)
2024-03-26 01:16:39 +00:00
Tracy Zhou e3720885c1 Merge "Revert "Hide task bar when folding before the new config renders the correct task bar"" into main 2024-03-25 17:39:07 +00:00
Tracy Zhou 4dbac6caa9 Revert "Hide task bar when folding before the new config renders the correct task bar"
This reverts commit dfb334f1e1.

Reason for revert: A bunch of WM fixes are in (b/291562764)

Change-Id: I9d08dab976cda112f802ee91256c09ef2026a01f
2024-03-23 19:35:50 +00:00
Brian Isganitis c113b277e6 Support toggling Taskbar All Apps with 3P Launcher.
Taskbar All Apps exists regardless of the default launcher. Thus, we can
toggle it on large screen devices. This CL ties registering the system
action to default launcher and taskbar's enablement.

Test: adb shell input keyevent 117
Test: AllAppsActionManagerTest
Flag: LEGACY ENABLE_ALL_APPS_SEARCH_IN_TASKBAR ENABLED
Fix: 317259709
Change-Id: I26f0ed9e921beac762f3f9e6aaceb1002ad4801a
2024-03-15 13:42:10 -04:00
Jagrut Desai 3c3bef333a Fixing taskbar being unstashed after opening to unfolded mode
Test: Manual,
Bug: 312723553
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning TRUNKFOOD
Change-Id: I91aa947a707e3fc918e617f207e823b2f1460466
2024-02-29 16:17:24 -08:00
Tracy Zhou dfb334f1e1 Hide task bar when folding before the new config renders the correct task bar
Currently on folding, onConfigurationChange doesn't return about 0.5sec after the small screen turns on. The old bar is visible on the new screen before a visual jump from rendering the new bar.

While the ideal solution is to figure out what causes the delay, we can mitigate the visual jump by dimming the old bar when folded listener returns folded

Test: repeatedly fold and unfold, observe that there is no glare task bar change in task bar area after folding
Bug: 291562764
Change-Id: Ic6834d2d3b7df01a8ef841dde601cdb6a3e481b0
2024-02-12 17:06:04 -08:00
Sunny Goyal 2c206400a2 Implementing an unfold animation using CannedAnimationController
Bug: 297057373
Flag: aconfig enable_unfold_state_animation DISABLED
Test: Manual
Change-Id: Iaa352133ebf06ab74b9ba4b8c4d3523f27666089
2024-01-18 11:49:37 -08:00
Tracy Zhou 78c548a829 Remove taskbar window from WindowManager in TaskbarManager.destroy()
When task bar crashes (from anything), task bar window is not cleaned up properly. This is because destroyExistingTaskbar() only removes the root layout from the window when we are no longer rendering task bar (one use case of that is folding the device). We need to clean it up in onDestroy() also.

Fixes: 319105323
Test: adb shell am crash com.android.systemui and make sure there is only one task bar window
Change-Id: Ia9c808e903422707bf4c270b2631fc913dde65d9
2024-01-11 16:13:06 -08:00
Tracy Zhou cf5407dfc6 Hook up luma sampling state change from CommandQueue
Currently when swiping up from some apps (maps), the stashed task bar color changes. Instead, sampling should be disabled during the transition (with a signal from the frameworks).

Bug: 230395757
Test: Swipe up from maps. Make sure the bar color doesn't change during transition
 to overview
Change-Id: Ifc30f4067a0e4d134b422d152f5b5caee0a77a33
2024-01-09 21:56:58 -08:00
Yunfan Chen 2c385bec7b Merge "Do not recreate taskbar due to unestimated bounds" into main 2023-12-28 11:09:16 +00:00
Yunfan Chen f00adbeb68 Do not recreate taskbar due to unestimated bounds
The change around configuration and display cutout to support flexible
display setup is making the received display info is not calculated as
the hard-coded way in taskbar. It will cause the taskbar recreated when
the device reaches a given rotation for the first time.

The recreation is not necessary as it is only a hint of taskbar's
estimation doesn't match the result. Block the recreation in that case
to avoid user visible animation issue.

Bug: 302387383
Test: Rotate a device with movable cutout and no recreation happens
Flag: ACONFIG com.android.window.flags.allows_screen_size_decoupled_from_status_bar_and_cutout TRUNKFOOD
Flag: ACONFIG com.android.window.flags.movable_cutout_configuration DEVELOPMENT
Change-Id: I1aa6add57ec49a49cc7473bfaada6d9212c1fc4b
2023-12-21 14:35:20 +09:00
Brian Isganitis 588b78e174 Have meta key toggle Taskbar All Apps in freeform mode.
Test: Manual
Fix: 315245851
Flag: NA
Change-Id: Ie72f2f48ed21e85fc3b3f707cfd91023ebe79a7c
2023-12-20 19:42:19 +00: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
Tracy Zhou 7fae462565 Pass in navigation bar panel context created by task bar when taskbar navbar unification is on
When the flag is on, task bar is created with window context navigation bar. The floating rotation button window context should be in navigation bar panel.

Fixes: 309930089
Test: N/A
Change-Id: I730a4b898d9fb65cc5d7544dcb37dfe32d49a632
2023-12-05 12:53:51 -08:00
Tracy Zhou f2d7be1cec Make enableTaskbarNoRecreate() depend on ENABLE_TASKBAR_PINNING and ENABLE_TASKBAR_NAVBAR_UNIFICATION
We want to turn on the flag when either of the dependent features is on

Bug: 299193589
Test: N/A
Change-Id: I7b48ff2be0cf9da3b6bc00d75370fa585ce4140d
2023-11-08 14:52:58 -08:00
Tracy Zhou 6fe69f5a2a Migrate HIDE_NAVBAR_WINDOW to aconfig and rename is to enable_taskbar_navbar_unification
Bug: 309671494
Test: N/A
Change-Id: If35d807c17351146029498a876a055384eff3c2f
2023-11-07 13:51:38 -08:00
Sunny Goyal e82a20a44d Removing some dependencies on Activity
> Removing activtiy from overlay callbacks
> Removing usage on activtiyLifecycleCallbacks and managing the callbacks ourselves

Bug: 306225896
Test: Existing tests cover the lifecycle changes
Flag: N/A
Change-Id: I79941e364328eecdc8a72cac4d35b75d50a25319
2023-10-30 08:23:15 -07:00