Commit Graph

18 Commits

Author SHA1 Message Date
Jagrut Desai f52ffc1232 Auto-Stashing Functionality for Pinned Taskbar
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
2025-04-30 10:39:58 -07:00
Sunny Goyal 3b307455a0 Revert^2 "Simplifying model testing rules"
35b6d322ab

Change-Id: I3ed574a517dbe350b6dfe5b1d3ed198203d22f44
2025-03-26 23:08:55 -07:00
Priyanka Advani (xWF) 35b6d322ab Revert "Simplifying model testing rules"
Revert submission 32704934-model-test-cleanup

Reason for revert: Droidmonitor created revert due to b/406588406. Will be verifying through ABTD before submission.

Reverted changes: /q/submissionid:32704934-model-test-cleanup

Change-Id: Ieeb7f5b5699afeae27f946f060147bb68afc36e5
2025-03-26 16:12:16 -07:00
Sunny Goyal cb84230913 Simplifying model testing rules
> Using Sandbox application everywhere to avoid test leaks
> Removing LauncherModelHelper and moving some utility methods to rules and extensions

Bug: 406521480
Flag: EXEMPT test only
Test: Presubmit

Change-Id: I17bd5ec2bdb0fc0cbe02be9c8ee76595effe3f11
2025-03-26 11:34:15 -07:00
Jagrut Desai 8b2e5eff9b Desktop Mode Taskbar Recreate Animation
This Cl includes
       - addition of entry/exit callback methods in DesktopVisibilityController.
       - taskbar manager now listens to desktop mode changes.
       - TaskbarBackrgroundRedererer can now individually animation backgrounds for transient and persistent taskbars
       - new channel for taskbar icon alpha added to TaskbarViewController
       - new animated float to handle background alpha while we are recreating taskbar with animation.

Solution:

we use the callabck we get from DekstopVisibilty for entry/exit to first change logic of when we are considered inDesktopMode. Upon entry/exit we notify display controller for info change.
we also at notify taskbar manager who is now a listener to the desktop mode change and start the recreate process. TaskbarManager first animates existing taskbar out of user view and then follows the original recreate flow.

Test: Presubmit
Bug: 343882478
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib827564cacd194f499e7d9b1965e2bb13e3548ab
2025-02-24 11:59:53 -08:00
Ahmed Fakhry ad6fee6111 Implement isInDesktopMode*()
This CL does the following:
- Adds new methods `isInDesktopMode()` and
  `isInDesktopModeAndNotInOverview()` to `DesktopVisibilityController`.
- These two methods rely on the new multi-desks impl when the flags are
  enabled.
- Makes the existing `areDesktopTasksVisible()` and
  `areDesktopTasksVisibleAndNotInOverview()` private, and migrates all
  the usages to the new methods.
- The new methods uses the old methods if the flags are disabled.

A companion NexusLauncher CL is at ag/31601363.

Bug: 394182435
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I29ff38f984bfe2f68a120f84e1a75fa36b739258
2025-02-12 21:18:51 +00:00
Toni Barzic 860c4ee680 Use pinned taskbar with desktop tasks on freeform displays
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device. verify correct taskbar is shown
      on home screen, in overview, in desktop mode, with fullscreen
      app shown. Verify opening/launching apps from taskbar works
      as expected.

Change-Id: I5c1e21799609c28ec44cc190bfc681934907199f
2025-02-04 13:00:37 -08:00
Sunny Goyal 55dc2d1c31 Moving DisplayController to dagger
Separating various overrides to individual modules so that they can be reused in tests

Removing ContextualEduStatsManager and directly using SysUiProxy as all the usescases
are only in quickstep/
This avoids additional Module definition and delegation

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I096459d638553991ed01766002b874589c6b976e
2025-01-14 11:40:35 -08:00
Sunny Goyal e79d453bc8 Converting LauncherPrefs to dagger
Fixing ENABLE_TWOLINE_ALLAPPS_TOGGLE not properly tied to IDP:
http://recall/-/ep7WJ8pKwCEklUN5J1mAkM

Bug: 361850561
Flag: EXEMPT dagger-migration
Test: atest LauncherPrefsTest FakeLauncherPrefsTest
Change-Id: Iba63d060f4a8c2e31033fca2a4638c559c161338
2025-01-03 13:49:53 -08:00
Sunny Goyal 60bad051c4 Fixing module inheritence when overriding Launcher component
Bug: 361850561
Flag: EXEMPT dagger migration
Test: Presubmit
Change-Id: I1f726e9895f6872d0294a11ab0c52c6c619c2a3f
2024-12-18 10:38:00 -08:00
Sunny Goyal 41e8057bbf Moving WMProxy to dagger
Bug: 361850561
Flag: EXEMPT dagger migration
Test: Presubmit
Change-Id: I9a8031037f2167658b7bc212b59c9b11abbf2f03
2024-12-11 13:24:26 -08:00
Toshiki Kikuchi b00c260669 Handle display windowing mode change in onConfigChanged
This CL allows onConfigChanged to handle the changes of
showLockedTaskbarOnHome().
The return value of showLockedTaskbarOnHome() depends on the display
windowing mode. And onConfigChanged() is triggered when the display
windowing mode changes (e.g. by adb shell wm set-display-windowing
mode).

Bug: 375321881
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: DisplayControllerTest
Test: manual
Change-Id: I1932f460735b9517cc68170c01cd45ca9bacfeb0
2024-10-28 08:47:26 +09:00
Jagrut Desai 94c9fb7cf5 Refctor DisplayController#handleInfoChange
Test: Presubmit
Bug: 369140181
Flag: EXEMPT refactor DisplayController#handleInfoChange
Change-Id: I196fe0e843a60c518d882c25f9fbdcd3cb775ba6
2024-09-23 09:58:30 -07:00
Treehugger Robot f0123c9129 Merge "Reset taskbarModePreference on tearDown()" into main 2024-09-20 16:10:26 +00:00
Sunny Goyal 621918feda Changing min-sdk version of Launcher to 31
Bug: 368071216
Flag: EXEMPT refactor -> dead code removal
Test: Presubmit
Change-Id: I1f0113c56de56f12f3a174eb31c3f8e8a09407e6
2024-09-20 06:00:10 +00:00
Toshiki Kikuchi 5cec59a41d Reset taskbarModePreference on tearDown()
This CL forcefully resets taskbarModePreference on tearDown() to ensure
the following tests are not affected by the changes made by
`testTaskbarPinningChangeInLockedTaskbarChange`.

Bug: 368322666
Flag: EXEMPT bug fix
Test: nexus_unit_test_multi_device_platform
Change-Id: I8bd8e8ca8b4b832ed17e86fbdfc9bda7bf9ab16e
2024-09-20 00:47:18 +00:00
Toshiki Kikuchi 6ddfe9b179 Allow to show pinned taskbar when Launcher is visible
This CL allows freeform-first devices to lock the taskbar in a pinned
state when Launcher is visible.

Bug: 361419732
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: DisplayControllerTest
Test: manual

Change-Id: Ic0d2740e33fee19c676d88aa2bcf370eb64366e8
2024-09-18 10:49:52 +00:00
Sihua Ma 3b2a136272 Run UiThreadTest in LauncherMultivalentJUnit
Additionally migrating DisplayControllerTest to multivalent

Flag: TEST_ONLY
Test: atest NexusLauncherRoboTests
Test: SysUI studio
Change-Id: I9ff89218947b32f79b39bb0e6dd4beabec3b7369
2024-05-30 23:11:29 +00:00