* changes:
Filter out DEFAULT_DISPLAY from Taskbar unit tests.
Refactor test dagger graph to stub PerDisplayRepository instances.
Only use mockito-kotlin in SandboxApplication.
Note: before this change, triggering overview keyboard (KB) shortcut at lock screen would result in the overview shown after the screen is unlocked. This behavior is counter-intuitive. And thus, this change will discard overview KB shortcut at lock screen regardless if an external display is connected,
Flag: EXEMPTED minor bug fix
Test: manually trigger overview KB shortcut at lockscreen in both the default & connected display. Observed that no overview is shown at lock screen and after unlock.
Test: manually trigger overview KB shortcut after lockscreen in both the default & connected display. Observed that the overview is shown at the focused display.
Test: atest NexusLauncherTests:RecentsAnimationDeviceState
Bug: 415040428
Change-Id: Ia585b7b62e5f8de5be6d7cda9ad24760398ca37a
Handle go home and go back to previous screen for overview, split and full screen task
Bug: 397182595
Test: ActionCornerHandlerTest
Flag: com.android.systemui.shared.cursor_hot_corner
Change-Id: Ia928f102df6908058c02949db02a73430cea5ef1
All Taskbars are inflated on VirtualDisplays. We should ignore
DEFAULT_DISPLAY.
Flag: TEST_ONLY
Bug: 415326979
Test: Taskbar tests
Change-Id: If6700929840552001a8b16fa969003f2c21b3cfe
These are not being used yet in Taskbar, but they are hardcoding
DEFAULT_DISPLAY for the primary ID. In tests, we want the primary to be
considered the ID of the virtual display tests are running on.
This change also moves dagger classes to its own file for organization.
Flag: TEST_ONLY
Bug: 415326979
Test: Taskbar multivalent tests
Change-Id: Ibd0cdf46bc53dbd7a3dd5f34d7171d9a6cdebb38
* changes:
Add support for save app pairs to recents in window
Update RecentsView to allow re-apply load plan
Update AbstractQuickStepTest to check non-recents states correctly
If the recents view is not attached to window when reloadIfNeeded is called, then mTaskListChangeId will be set, but applyLoadPlan will exit early without actually applying the loaded tasks. This is an issue since the recents list will remain outdated until the task stack changes. This has been causing issues in tapl tests with recents window enabled. Delaying the setting of mAppliedTaskListChangeId until the end of applyLoadPlan to fix this.
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: TaplTestsQuickstep.testDismissLastGridRow
Change-Id: Iaa8441a74b54f86167a7963b0005c044f355d94e
This feature aims to work only for desktop mode. Add a check to
the desktop state when checking the aconfig feature flag.
Bug: 375648361
Test: EXEMPT flag update
Flag: com.android.window.flags.enable_pinning_app_with_context_menu
Change-Id: I19eb17d756f17892637bd303464748b505c89190
Note: enableOverviewOnConnectedDisplays must be true to enable the
functionality (taskbar button --> home) in the first place
Bug: 378443899
Test: m
Flag: com.android.window.flags.enable_reject_home_transition
Change-Id: Icf5e5939c8e4f59a7d87c30df0d74a151bdbd1d5
BgDataModel holds a mutable handle of the data, which ensures that all edits go through this class and there is a single place to keep the repository updated
Bug: 390572144
Test: Updated existing model tests
Flag: EXEMPT refactor
Change-Id: I991b707dd21801d1abd00510f676549947285012
> This allows the whole workspace model to be contained in itemIdMap instead of spread across multiple data containers
> Deprecating extraItems, all non-workspace data should use separate repositories
> Design: http://go/launchermodel-re-arch?#heading=h.5y8n4r164d5s
Bug: 390572144
Test: atest PredictionUpdateTaskTest
Flag: EXEMPT refactor
Change-Id: I886d0a8d5bbbf9f5c2054d4a2442bf03f9c4eab5
We previously sent the top coordinate of the bubble bar to shell.
However when the screen height changes, launcher takes a bit longer
to update than shell. So instead of calculating the top coordinate
on the launcher side, we now send the amount of space between the
bubble bar and the bottom of the screen to shell, where we can offset
that as needed.
Bug: 392893178
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
- send some bubbles
- launch app
- expand
- swipe to home
- fold and unfold
Change-Id: I57b96db49dab1e2304fde8dc55a99eaaf85e40f8
It doesn't seem necessary anymore (and anyway, existing cases like
Taskbar being stashed while IME is showing handle this as well).
Removing the specific block fixes a bug where touches were going
to the underlying app even though Taskbar window is fullscreen
while editing a Folder name.
Fixes: 400859085
Test: TaskbarInsetsControllerTest
Flag: EXEMPT bugfix
Change-Id: If30acd0b3b9c3fd0b29b94ca963beb1c70162416
Reason: Recents app can only listen to key gesture events after ag/33295605, which is gated by a read only flag, com.android.window.flags.grant_manage_key_gestures_to_recents.
Test: atest NexusLauncherTests:QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Flag: com.android.window.flags.grant_manage_key_gestures_to_recents
Bug: 406452076
Change-Id: I66f8c9b2f23eb65bafc986321ff971c855ce00a3
This cl includes :
- Refactor to remove unpinning/pinning in desktop mode with refactor of DisplayController, TaksbarPinningController, and its tests.
- Combined the auto stashing conditions under one method shouldAllowTaskbarToAutoStash() which takes in consideration isTransientTaskbar, isInDesktop, and Always Show Taskbar option is turned on/off in desktop mode.
- enabled taksbar divider popup support in desktop mode.
- Intorduced animation for pinned taksbar when autostadhing is enabled.
- Enable to onSwipeToUnstashTaskbar for TaskbarInputStashController for pinned taksbar in desktop mode.
Test: Presubmit, Unit, Manual
Bug: 381535785
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ie5ecf3a3c72bf8dfadf2d0c908269305fe5bad0b
This will allow the use of Flows in BgDataModel
Flag: EXEMPT refactor
Bug: 390572144
Test: Presubmit
Change-Id: I8fdd1635a19ae4d75260fb1ddb9cd7ab00cd0496
* changes:
Store bubble bar stashed state during rotation [6/N]
Restore bubbles without affecting bar state [5/N]
Do not animate bubbles from initial update [4/N]
Store and restore selected bubble and expanded state [3/N]
Do not animate bubble bar for initial state [2/N]
Bubbles that are restored with initial update should not be animated in.
If we restore the bubble bar after rotation, we need to show it
immediately. Attempting to animate the bubbles from initial update
causes the UI to flicker.
Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
bubble bar bubbles do not flicker after rotation
Test: have no bubbles in bubble bar, trigger a bubble, check it is
animated
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I3da2bc22588c0f5d2dd9c7a3adfcd2c19c339809
Current implementation of the nudge will show at default position
(bottom left corner) and may extended to other position in the future.
More detail at: go/al-growth-framework-nudge
Bug: 398033012
Test: NudgeControllerTest.*
Flag: com.android.launcher3.enable_growth_nudge
Change-Id: Idff9d62a5b1b26aa1cfbef5817f5425f8e94b7c9
Before this change, the overview keyboard shortcut pipeline is as follow:
PhoneWindowManager (System server)
StatusBarManagerService (System server)
CommandQueue (SysUi)
Recent (SysUi)
OverviewProxyRecentsImpl (SysUi)
TISBinder (Quickstep launcher)
This cross-process communication chain through the system server, SysUI, and quick step launcher created significant challenges. Firstly, it complicated efforts to pass additional data to the key gesture handler. Secondly, it was less performant than the streamlined new approach. Lastly, the StatusBarManagerService's responsibilities were ambiguous because it also handled unrelated tasks, such as overview, wallet.
Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Test: atest NexusLauncherTests:com.android.quickstep.input.QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Bug: 406452076
Change-Id: I2899e49c8c0a44c6ad58228db1c9eb587daf68c4
- With grid only Overivew, we can no longer rely on positioning in RecentsView to returning to previous task by using nextTaskView
- After a double tap, on the 2nd TOGGLE command, record the task Ids that this double tap comes from as ToggleInfo
- In the next double tap, if there is a ToggleInfo within last 5 second, return to the previous task
- Also make double tap from home picks up the first grid task instead of a Desktop task
- Simplified special handling when there is only large tile to always fallback to `previousTaskView` when there are no `nextTaskView`. This does not affect cases where there are no Desktop tasks (as previousTaskView will be null).
Fix: 411029836
Test: OverviewCommandHelperTest
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I1caa6b3db1bfd2c6203d4f1c5bf3e50c1b3c53c3
Rename methods in BubbleBarViewController and BubbleBarView that set the
expanded state.
These will update the state using an animation.
Update the name to highlight this.
Enables us to create methods to set the state without animation.
Bug: 357115534
Test: refactor, presubmit
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I9d2c46ab1640ab0b19f54103ab8cdb37a5d19dbb
* changes:
Move app timer in the taskContentView behind a refactor flag.
Change task content view to be a constraint layout.
Extract out timer text specific utility from the dwb view
Add a ui state for the app timer toast and add a mapper function for it
Both flags are in Nextfood, so there will be no change to
user experience.
Bug: 368119679
Bug: 375627272
Test: TaskbarOverflowTest
Flag: com.android.window.flags.enable_taskbar_overflow
Change-Id: Ie3ef3bd49e078f5657bd069bc92c5a48a136e7cb
Bug: 405359383
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit test for the util
Change-Id: Ic7444e3e874e3b9870894cd16f7259f6fa1197c6
Bug: 405359383
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit test for mapper
Change-Id: I35271ff33c8610d79674438fb18a3d851eb3d2d3