Commit Graph

252 Commits

Author SHA1 Message Date
Sebastián Franco e1d31e5406 Revert "Revert "Moving DeviceProfile properties into DevicePrope..."
Revert submission 33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Reason for revert: Error is fixed

Reverted changes: /q/submissionid:33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Change-Id: Ib86824134955903c11e51e52dbfd6368aba1cd50
2025-05-23 14:08:11 -07:00
Priyanka Advani (xWF) 7705e92d93 Revert "Moving DeviceProfile properties into DeviceProperties da..."
Revert submission 33672643-DataDeviceProfile1

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

Fix: 419867875

Reverted changes: /q/submissionid:33672643-DataDeviceProfile1

Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
2025-05-23 13:53:04 -07:00
Sebastian Franco e1111e28c2 Moving DeviceProfile properties into DeviceProperties data class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I638f88cd76b926917965dbf9e70b5bdfff5971e0
2025-05-23 10:42:26 -07:00
Jagrut Desai bc28b98b8f Fix TaskbarAllApps Icon
Test: Manual, UX
Bug: 415836854
Flag: EXEMPT bugfix
Change-Id: I8b305ce35e0a6b73559f73083a0ca9b025043e8c
2025-05-12 10:46:57 -07:00
Jagrut Desai 6e3a83cf15 Fix Taskbar window size upon rotation
This cl simply reuses logic of setting the default taksbar window size upon rotation of device.

Test: Manual
Bug: 411587814
Flag: EXEMPT bugfix
Change-Id: I65149425b8d03240c3c4ab09ec0ec82be6b40c8f
2025-05-07 09:15:40 -07:00
Jon Miranda ce82b8a6bd Merge "Switch taskbar overflow flag to lse_desktop_experience" into main 2025-04-23 18:04:05 -07:00
Mykola Podolian 976ab5aebd Merge "Check the bubble bar maximum so it is not cut off." into main 2025-04-23 17:00:38 -07:00
Jon Miranda a19e4e2063 Switch taskbar overflow flag to lse_desktop_experience
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
2025-04-23 15:20:04 -07:00
mpodolian bf869d5de1 Check the bubble bar maximum so it is not cut off.
Add check of the bubble bar highest size when setting the taskbar window
size from TaskbarViewController.onRotationChanged

Fixes: 407708503
Test: Manual.
Use foldable device, set navigation mode to the 3 buttons. Fold the
device and trigger bubble. Lock screen. Unfold. Unlock screen. The
bubble remains visible.
Flag: EXEMPT bugfix

Change-Id: If16bf289ea394f6586d8530182db000dbcdea214
2025-04-22 15:26:45 -07:00
Toni Barzic e5fc903495 Disable pinning popup when transient taskbar is disabled
On freeform displays where taskbar is always pinned, toggling "Always
show taskbar" option is no-op, as the taskbar won't transition to
transient taskbar.
Left a TODO to reevaluate behavior once desktop taskbar transient
behavior gets updated.

Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: Manual.

Change-Id: Icfe7cd26e77de48ab34bfe4932bfedfe21923ef1
2025-04-18 22:59:55 +00:00
Brian Isganitis 6b4b65f42b Defer updating alignment when LayoutTransition is running.
This fixes a problem of 3-button variant of pinned taskbar. The code for updating the alignment (taskbar to hotseat) animation clashes with LayoutTransition, leading to weird icon states. This change coordinates these two animation systems.

Fix: 409442851
Test: ABTD cherrypick to Q2 release candidate (manual)
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Change-Id: Ifa80c384500a9cd3e65090ee39487977a2ac3b5d
2025-04-15 23:26:21 -04:00
Brian Isganitis 88707d3da3 Merge "Disable LayoutTransitions for transient taskbar." into main 2025-04-03 14:03:10 -07:00
Treehugger Robot 343333ce8a Merge "Prefer launching desktop tasks on freeform display" into main 2025-04-02 16:54:41 -07:00
Brian Isganitis c0af778af1 Disable LayoutTransitions for transient taskbar.
Taskbar stashes once an app is launched from taskbar, or remains stashed if you launch something from All Apps. The layout transitions therefore are unlikely to be seen by the user. Disabling them means when the user unstashes, they will see the end result of the transition immediately. The problem with them being enabled for transient taskbar is we set icon alpha to 0 if Taskbar is stashed, which conflicts with the alpha layout transition animation.

Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Fix: 406809935
Test: Manual
Change-Id: Ibcfc04e5c9af104725a69c8cceccef49544d7bd3
2025-04-02 13:21:54 -07:00
Jagrut Desai 1621848c58 Merge "Fix Taskbar offset in launcher" into main 2025-04-02 08:59:01 -07:00
Treehugger Robot 2c9a3508b8 Merge "Layout freeform display taskbar using actual icon sizes" into main 2025-04-02 00:03:22 -07:00
Jagrut Desai cef287164f Fix Taskbar offset in launcher
This cl includes: adding support to stash controller to get device locked state. Use different taskbar offset before and after lock screen.

Test: Manual
Bug: 407589216
Flag: EXEMPT bugfix
Change-Id: I55b27d39049458c741efc9bec365cdbc27d4e012
2025-04-01 17:37:59 -07:00
Treehugger Robot b932dea54e Merge "Implement spring animations for running state changes." into main 2025-03-26 21:06:14 -07:00
Sunny Goyal ca1f87d8f5 Update Launcher UI when model changes are made outside of Launcher UI
Bug: 305877212
Flag: EXEMPT bugfix
Test: Verified manually by modifing folder in taskbar
Change-Id: I513dcfbc9e4ffcd970766ce8352815571e576461
2025-03-26 13:52:53 -07:00
Toni Barzic b831f59d6c Layout freeform display taskbar using actual icon sizes
The taskbar shown on freeform display taskbar when
enable_desktop_taskbar_on_freeform_displays feature is enabled is
expected to remain in persistent taskbar state (and never
transition to transient taskbar). Given that transitions to transient
taskbar is not expected, use actual peristent taskbar sizing to layout
the taskbar in this case (similar to three-button navigation taskbar).

Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device - keep opening apps in desktop mode, and
      verify that taskbar does not enter overflow based on transient
      taskbar icon dimensions (i.e. that taskbar keeps filling up until
      it hits intended horizontal margins)
Change-Id: If6cdadccf0fe4da1462b437a13def78f6050e3bb
2025-03-25 21:03:27 +00:00
Toni Barzic 1f4b265dde Prefer launching desktop tasks on freeform display
Update usages of TaskbarActivityContext.inDesktopMode to account for a
possibility of a desktop flavour taskbar (i.e. pinned taskbar that
shows desktop tasks) being shown outside desktop mode, which may be the
case on freeform displays (e.g. when
enable_desktop_taskbar_on_freeform_displays feature is enabled, or on
home). Tasks launched from this taskbar should preferably be launched
into desktop mode.

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: I8f198216d84fd165c2dcbf437c82e418e5c7405e
2025-03-25 20:21:25 +00:00
Sukesh Ram 54f23ff654 Fix Pinning Animation
Fix Pinning Animation.

Flag: EXEMPT not adding new behavior
Bug: 405469510
Test: m
Change-Id: Iabc580031495f39902cb4d718ab12a7362c07d13
2025-03-21 17:18:45 -07:00
Jagrut Desai bda2a6fb10 Merge "Fix 3-button nav diplacement on lockscreen" into main 2025-03-20 13:49:54 -07:00
Sukesh Ram cb38ecbc8c [CD Taskbar] Null Protect Taskbar against onLauncherVisibilityChange crash
Null Protect Taskbar against onLauncherVisibilityChange crash.

Flag: EXEMPT not adding new behavior
Bug: 403294086
Bug: 404928723
Test: m
Change-Id: I84e899d26f93d484031073d1b63c6757daa8b141
2025-03-20 05:22:18 -07:00
Jagrut Desai 642f8be48d Fix 3-button nav diplacement on lockscreen
Test: Manual
Bug: 375112190
Flag: EXEMPT bugfix
Change-Id: I7f7d82563c2956aaafff91a75e79e4e2b554230e
2025-03-19 16:06:12 -07:00
Brian Isganitis c0a8f7ea99 Implement spring animations for running state changes.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Fix: 402683858
Test: go/testedequals
Change-Id: Icc4a3a61b6c0997564a4dcdd8eb7768459d5f2ef
2025-03-19 14:34:13 -04:00
Treehugger Robot e5cebbd9ca Merge "Do not notify desk mode changes on visible desk tasks count changes" into main 2025-03-17 18:29:02 -07:00
Sukesh Ram 16e04e84eb [CD Taskbar] Move DisplayController method calls to BaseTaskbarContext
To ensure consistent, controllable Taskbar in Connected Displays Behavior, move all independent calls to the singleton DisplayController's various methods into one place in BaseTaskbarContext, where we have access to the parent context and can override default behaviors of these methods throughout taskbar if in external display.

Flag: EXEMPT not adding new behavior
Bug: 401553128
Test: m
Change-Id: If9efc0cfc18bac3ee75bb64bf5280ea979d1faa2
2025-03-17 03:15:45 -07:00
minch c48f662c7d Do not notify desk mode changes on visible desk tasks count changes
1. Trigger `notifyIsInDesktopModeChanged` on
   `visibleDesktopTasksCount` changes only when the multi-desks
   flags are disabled.
2. Make `DesktopVisibilityController.isInDesktopMode` variable
   private and legacy, which should only be used when the multi-desks
   feature is disabled. All the call sites should go to check
   `DesktopVisibilityController.isInDesktopMode(displayId)`, which
    works both with and without the multi-desks feature enabled.

Bug: 402222877
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I291e2be6d99e81b0c918ae7f39c17a8cd4ea0918
2025-03-14 15:21:19 +00:00
Sunny Goyal 1ac78b6ec6 Removing listeners from FolderInfo
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.

Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest

Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187
2025-03-13 10:28:07 -07:00
Sukesh Ram c166a373a9 [CD Taskbar] Make External Taskbar 3-Button & Persistent
The gesture handle still persists in conjunction with the three buttons. In addition to being forced into three button mode, the taskbar on external displays needs to never enter transient mode. More info and before/after images on bug.

Flag: com.android.window.flags.enable_taskbar_connected_displays
Bug: 399718805
Test: Manual
Change-Id: Iff5c297c8ac4823fa24e7a8e4becd0447224cac0
2025-03-10 13:58:21 -07:00
Brian Isganitis 26f9468db1 Animate changes in Taskbar recents indicators.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Fix: 356394053
Test: go/testedequals
Change-Id: Ic018695254bbfea11469c3579e242089b00b90f5
2025-03-07 15:47:48 -05:00
Treehugger Robot 57cab7794a Merge "Simplifying some view iteration methods" into main 2025-03-04 18:42:06 -08:00
Sunny Goyal 476d926972 Simplifying some view iteration methods
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: Ieffa3a66fbf8595d542995c348df578a3aec9083
2025-03-04 10:39:55 -08:00
Brian Isganitis 42c58e39fd Migrate layout transition flag to DesktopModeFlag version.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I175e428240bc52689efe0f6e4457620ac2efdbb5
2025-03-04 11:30:23 -05:00
Treehugger Robot 1e8125c76b Merge "Merging some notification dots implementation" into main 2025-02-27 16:08:10 -08:00
Jagrut Desai 2ac4d9c794 Merge "Update Taskbar Icon content description to include state description" into main 2025-02-27 15:47:09 -08:00
Jagrut Desai 536097dec2 Update Taskbar Icon content description to include state description
This cl inlcudes: while user is in desktop mode, we will add state description(active, minimized) of each app icon to it's content description.

Test: Manual
Bug: 397555157
Flag: EXEMPT bugfix
Change-Id: Iaec18e7099108e8b076b76c637a41e29ed837265
2025-02-27 09:58:31 -08:00
Sunny Goyal 39063bf167 Merging some notification dots implementation
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: Ie02311afba85f06fbafd265a5015cd23bd356a36
2025-02-27 08:50:26 -08:00
Anushree Ganjam e6065f5a94 Move MainThreadInitializedObject to Launcher3 Go.
Move SandboxContext to a separate class.
Remove all MainThreadInitializedObject references in Launcher3 and tests.
Remove ObjectSandbox interface and make RoboApplication extend
SandboxContext

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I1a8af5e6ae59df44d8ad6732b4d6e949ac402d6c
2025-02-26 16:49:08 -08: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 b6ecf5889e Remove all external usages of GroupTask.task1/2 from Launcher3
See go/refactor-group-task for details. This CL removes all the usages
of `task1` and `task2` from `GroupTask` in Launcher3. Follow-up CLs will
remove it from NexusLauncher and remove the fields altogether.

Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: I902c8135b3a0aae95acf25267b3bcbf286bd4e7d
2025-01-31 17:14:44 +00:00
Fengjiang Li 90e83779f2 [Leak] Clear all of TaskbarView's FolderIcons' listeners upon activity onDestroy
Fix: 390200556
Test: manual
Flag: NONE - released code
Change-Id: I4f6fd2fb0b263169bd5e59e90b321cedfc22f4de
2025-01-15 14:58:14 -08:00
Mykola Podolian fc8db9afc3 Merge "Shift transient taskbar to ensure 12dp distance with the bubble bar." into main 2025-01-13 12:52:21 -08:00
Brian Isganitis 791944ff63 Merge "Disable model loading with Sandbox check instead of static boolean." into main 2024-12-19 15:32:56 -08:00
mpodolian 226ed8143d Shift transient taskbar to ensure 12dp distance with the bubble bar.
Shift the taskbar to fulfill the 12dp distance if the distance between
the taskbar and the bubble bar is below this threshold.

Fixes: 376929094
Test: TaskbarViewControllerTest
Test: Manual. Test that the transient taskbar shifts properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Moved bubbles side to side, confirming the taskbar
follows. The return-to-home-screen animation to the hotseat plays as
expected from either side.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/bJZ8PclmltZu7IupvBFrLn
Test: Manual. Test that the transient taskbar stashes properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Go to any application. Stash and un-stash the taskbar.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/hCGRhUgIqvcehOrTQ2Ulvj
Test: Manual. Test that the transient taskbar pin/unpin properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Pin/unpin the taskbar.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/f3fy5JKVZAk4wLCpVra4DK
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: Id4bd713da93053f90d9c2be8503dc93531a03b29
2024-12-18 15:51:37 -08:00
Brian Isganitis 002ef1f550 Disable model loading with Sandbox check instead of static boolean.
The static boolean also affects Taskbar within the Launcher process. We
only want this disabled for the Taskbar test Sandbox.

Flag: TEST_ONLY
Bug: 230027385
Test: NexusLauncherTests:com.android.launcher3.taskbar
Change-Id: Ife12e95ab34755d1aec42d79188c15232d8da092
2024-12-10 23:31:36 +00:00
mpodolian 3e419ebbf1 Remove usage of the enableBubbleBarInPersistentTaskBar flag.
Remove and merge the usage of the enableBubbleBarInPersistentTaskBar
flag to the enableBubbleBar flag.

Bug: 383181643
Flag: com.android.wm.shell.enable_bubble_bar
Test: NONE - removed and merged flag usage.
Change-Id: I4f131e1ddf8367425b91c8fb597857ee222b75d8
2024-12-10 15:10:49 -08:00
Brian Isganitis 3c24c421f6 Animate out/in the correct task view when recents change.
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I6c7708ed9f03eff8469b5f2e75ce00e545b03f54
2024-12-09 15:35:43 -05:00
Brian Isganitis 8e2b850df7 Implement initial LayoutTransition for Taskbar recents.
The animations mostly match the spec, though the recents indicators scale/fade with icon currently.

The change transitions need to incorporate translateX since that changes based on the number of icons in Taskbar. We need the translateX for pinning update to happen before TaskbarView lays out its children so that the animator computes the correct start and end values.

Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I13aa49abf80ddc09fab890f78bde924a8f7f1d6e
2024-12-09 15:35:43 -05:00