Commit Graph

67 Commits

Author SHA1 Message Date
Abhishek Sharma 5f3a03f4fb feat: Add option to clear home screen in settings (#6125)
Signed-off-by: abhixv <abhi.sharma1@hotmail.com>
2026-01-10 20:51:01 +07:00
Pun Butrach 0e8b200bab fix: Just make submodule stay the same please intellj 2026-01-10 20:50:12 +07:00
Pun Butrach edfd0baad6 fix: Android 14/15 crash 2026-01-10 20:49:55 +07:00
Pun Butrach d36845897b feat: Better At-a-Glance perceptive wallpaper colour luminance detection 2026-01-10 20:49:46 +07:00
Pun Butrach 2e76c99dad fix: Conflict incoming changes from 15-dev 2026-01-10 20:49:12 +07:00
Pun Butrach 11f7abcb66 chore: Cleanup, and hidden feature logged
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:48:25 +07:00
Pun Butrach 0a446431eb build: SNAPSHOT 0 (Draft) 2026-01-10 20:47:59 +07:00
Pun Butrach b67168f737 Allocate insane memory just for CI
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:44 +07:00
Sebastian Franco 8244449a9f Moving taskbar variables in DeviceProfile to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I05ec9e15ef02096326596af4835adb706473a736
2025-05-29 11:04:06 -07:00
Wen-Chien Wang 9942721299 pin-shortcut: Use unpin option for AllApps apps that are pinned
For the apps in All apps view, if the app is already pinned in the
taskbar, we should show the unpin option for users to unpin it
instead of a pin option that is no-op.

Bug: 375648361
Bug: 418058610
Test: manual + TaskbarPopupControllerTest
Flag: com.android.window.flags.enable_pinning_app_with_context_menu
Change-Id: I770afcf3abd6cb08c574230d27c4cbcbb83b29a6
2025-05-23 23:00:30 +00:00
Wen-Chien Wang e6816545b6 pin-shortcut: Check desktop state for the feature
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
2025-05-09 00:31:27 +00:00
Wen-Chien Wang ed04537faa pin-shortcut: Add tests to verify the behavior
Bug: 375648361
Test: This is the cl for tests
Flag: EXEMPT tests
Change-Id: I7209cebcc7e7c34d5f1362121fea5e062e3170de
2025-04-19 07:34:33 +00:00
Wen-Chien Wang 9d962c8c3e pin-shortcut: Move flag to lse
Bug: 375648361
Test: EXEMPT changing flag
Flag: EXEMPT moving flag
Change-Id: I13065db6dcf42e26e87aba27f395e4345c569d6f
2025-04-01 18:29:59 +00:00
Wen-Chien Wang 0f0df91430 pin-shortcut: Make single recent task pinnable from taskbar
With this change, we can now using long-press menu to pin a single
task to the taskbar.

Note that some of the code in this cl is filtered by the flag.

Bug: 375648361
Test: Adding in the next cl
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: Id0f2a9dce03a6c94da2cf8bd0deffd4c48656a7a
2025-03-26 00:49:27 +00:00
Tony Wickham 88a9e18f7c Don't show hover tooltip while an app popup is open
Flag: EXEMPT bugfix
Test: TaskbarHoverToolTipControllerTest
Fixes: 397243128
Change-Id: I1b67d065e9e79e13a5a341a5d133da700ef5f40c
2025-03-17 22:36:27 +00:00
Treehugger Robot 9a993d2b9d Merge "pin-shortcut: Implements the actual pinning functionality" into main 2025-03-07 18:09:10 -08:00
Wen-Chien Wang 5ada92b966 Allow recent task to have long-press menu
Bug: 375648361
Bug: 344657629
Test: Manual, Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu

Change-Id: If496c56a3fe47905a3e9947407f51077f180d5a2
2025-03-04 21:47:32 +00:00
Wen-chien Wang 8444f38c92 Merge "pin-shortcut: Tracks hotseat states and adds unpin option for taskbar" into main 2025-03-03 16:50:48 -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
Wen-Chien Wang a49081917b pin-shortcut: Implements the actual pinning functionality
This cl implements the onClick function for the pin shortcut, so
that clicking on it will actually pin an app/item to the taskbar.

Bug: 375648361
Test: Manual, Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: Ia0e9464ceb99efd47a9fefd8136b930f908599cb
2025-02-25 00:11:03 +00:00
Wen-Chien Wang f77c3cac2b pin-shortcut: Tracks hotseat states and adds unpin option for taskbar
This cl adds the unpin option by tracking the hotseat/taskbar state. The
option shown is determined by the following conditions:

1. If the target non-predicted item is on the taskbar, shows
   "Unpin from taskbar"
2. If the taskbar is not full, that is, reaching the limit of the
   available spaces, and the target item is anywhere outside of the
   taskbar, including All apps, shows "Pin to taskbar".
3. If the taskbar is full, simply don't show any shortcut option.

This cl also removes the option that will be shown on Launcher
homescreen or hotseat, as further UX alignment is needed.

One note about why the pin shortcut is not implemented in the
getShortcuts(). The reason is that getShortcuts does not have the
ItemInfo of the triggered item, while the SystemShortcut.Factory doesn't
have the hotseat/taskbar information. The simplest way at this point is
to check all the conditions in the controller and then manually add the
shortcut into the list.

Bug: 375648361
Test: Manual, Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: I7d048bcb1b00f78651e909fbfcd911052a4cd4ef
2025-02-25 00:10:59 +00: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
Mady Mellor 7d97e96550 Update code guarded by bubble anything flag to use the helper method
Also adds a dependency on shared shell lib so launcher can use this.

Flag: com.android.wm.shell.enable_create_any_bubble
Test: manual - enable the create flag and check that bubble anything still
               works; same with bubble anything flag
Bug: 389737359
Change-Id: I18322512c9d9883ee5cf473b72df565adea85879
2025-01-15 17:04:10 -08:00
Jagrut Desai 636aba5acb Merge "Don't recreate taskbar in Overview" into main 2024-12-19 13:00:03 -08:00
Jagrut Desai 2f1c1e10de Don't recreate taskbar in Overview
This cl includes
	- when going to overview from Launcher or Desktop Mode don't recreate taskbar and keep it a same variant as the context user was in.
        - user will still be able to pin/unpin taskbar in overview, but it will be recreated to the launcher context.
	- opening app from taskbar context is now aware of if taskbar is in desktop mode and opens app in Desktop Mode when user oepn any app.
        - This cl will not include the animation when taskbar variant is changing between launcher and desktop mode.

Solution
    - if desktop tasks are visible we will open any app from taskbar context into Desktop windowing mode after launching the DesktopTaskView manually. We will launch desktop task from recentview first and upon end of recent animation we will launch the app.

Bug: 343882478
Test: Manual
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib67e1e7150670f901c07c2df188cde81e7d725dc
2024-12-19 10:50:20 -08:00
Saumya Prakash 1bcaab81e3 Merge "Close the multi instance menu when other things open" into main 2024-12-18 07:38:26 -08:00
Saumya Prakash 54c6cf7c38 Close the multi instance menu when other things open
This change ensures that if open, the Taskbar multi instance menu will close when
another long press app menu is launched, when a folder is opened, or
when Taskbar all apps is opened.

Fix: 383510315
Test: Open Taskbar multi instance menu and ensure it closes when other
views are opening (Taskbar all apps, a folder, and app long press menu)
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar

Change-Id: Id2d64c86a76978af8db56d3a083dc79a677a1a5d
2024-12-16 08:54:42 -08:00
Wen-Chien Wang 2badfc7ebc pin-shortcut: Add pin shortcut to the context menu
This cl adds the pin shortcut option to the context menu, where
it works on Home launcher, hotseat, and pinned apps on the
taskbar.
Currently the option is a no-op.

Bug: 375648361
Test: Manual. Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: I5d1284a6e909fd75f14e81c3ae713da3cdc01ce3
2024-12-13 22:49:52 +00:00
Saumya Prakash ddd667ac9a Prevent Taskbar all apps from showing multi instance options
This change makes it so that we don't show any multi instance options in
Taskbar all apps. This matches the behavior from regular All apps.

Fix: 382342931
Test: Long press an app icon in Taskbar all apps and ensure multi
instance options don't show up.
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar

Change-Id: I5322df328ee5484168b96831f32c2023521704e6
2024-12-05 01:04:54 +00:00
Saumya Prakash dbaf1028db Add Manage Windows option to Taskbar long press menu
This change adds an option to the long press menu on Taskbar apps to
view open instances of the calling apps. It will only show on apps that
support multi instance (ex. Chrome).

Bug: 315989246
Test: Manual
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: Ie1e001c4cec831c751bcbf448aaa68bb90fb24ca
2024-11-15 06:34:28 +00:00
Saumya Prakash 4cf02b8538 Merge "Add "New Window" option to Taskbar menu." into main 2024-09-20 18:20:36 +00:00
Saumya Prakash 8e0ed4b01b Add "New Window" option to Taskbar menu.
This change adds a new menu option to Taskbar that is invoked when long
pressing an icon. It createds a new instance for an app if the app
supports multi instance in Desktop Mode.

Bug: 315344726
Test: Manual
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: Ibc42fbb1ad485496cd938af730b86e051cea559a
2024-09-19 21:30:43 +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
Saumya Prakash eb950c1f44 Disable split screen option in app menu in Desktop Mode
The split screen app shortcut is not intended to work in Desktop Mode.
This change removes it from Taskbar and all apps in this mode to avoid
a crash.

Fix: 346333758
Test: Launch the app menu for different apps in Desktop mode and in
normal mode. Check that the split option only shows up in normal mode.
Flag: EXEMPT bugfix

Change-Id: I6e2535b41a490ad3eb5c0ebd924c49eaf5028669
2024-08-13 22:22:19 +00:00
Mady Mellor 1cc100844c Add a bubble option to launcher long press menus
- Add a launcher "system shortcut" to bubble deep shortcuts or apps
- For shortcuts, save the shortcut info to use to produce the bubble
- Add an interface so that the system shortcut can call through to
  sysui proxy

Flag: com.android.wm.shell.enable_bubble_anything
Test: manual - enable the flag and try to bubble a shortcut via the
               longpress menu on launcher
             - try bubbling an app on launcher
             - try bubbling an app from the taskbar
Bug: 342245211
Change-Id: I1ef49e1628ba0be9cea05073ecd9cd66bf67f88f
2024-08-08 21:23:13 +00:00
Tony Wickham c5995c8f6d Load and draw Recent/Running tasks that aren't in Hotseat
- Re-support GroupTask as a tag on TaskbarView BubbleTextViews
- Can tap to launch (startActivityFromRecents) or drag and drop
- Move divider when enable_recents_in_taskbar is true

Behavior:
- While in Desktop mode, all open tasks show up in TaskbarView,
  either in the Hotseat section or the Running apps section
  past the divider. Each one also has a running line indicator.
- While in Fullscreen mode, up to 2 Recent apps that are not
  part of Hotseat will be added to the right of the divider.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I2e2870cca434b51f276a701860edb32069109159
2024-06-19 00:27:30 +00:00
Jeremy Sim a596f589c4 Allow app pairs in folders
This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.

This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).

Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
2024-04-03 16:47:42 -07:00
Jeremy Sim 742630c2f8 Reparent folders and app pairs
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.

Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
2024-03-29 15:39:28 -07:00
Sunny Goyal 9f226dff72 Simplyfing SystemShortcut rendering
Instead of opening the popup again when the status of AppSharing
changes, updating the UI in-place.

Bug: 321179015
Test: Presubmit
Flag: N/A
Change-Id: I6d7bd8cdf2014fd881324347e3e01b8e7e84ef1e
2024-01-19 10:48:54 -08:00
Charlie Anderson 69524513db Remove ENABLE_MATERIAL_U_POPUP flag and cleanup dead code
- removes a lot of dead code for the old popup design and especially around adding notifications to popups
- renames several resource files to remove the material_u specification, as it is now the only design

Test: manually run through launcher popups
Bug: 270395516
Flag: ENABLE_MATERIAL_U_POPUP
Change-Id: I462063482206578b4b896a6d405dc2383f2da510
2023-08-30 20:40:25 +00:00
Jagrut Desai 53d953ccd2 Taskbar All Apps Shortcut Menu Acccessibility Focus
Bug: 280657266
Test: manual
Flag: not needed
Change-Id: I2426636067ce3635b8b24b9f5d093dad7d9ddf4c
2023-06-28 14:48:54 -07:00
Jeremy Sim ab9e66c260 Merge "Allows splitscreen with work & personal version of the same app" into udc-dev 2023-05-13 00:23:23 +00:00
Jeremy Sim f4835a8884 Force Taskbar to remain stashed when in 3p launcher or recents
This patch makes it so that the transient Taskbar cannot unstash when in 3P launcher.

Previously, the user was able to unstash Taskbar when in 3P launcher, causing a janky-looking UI (3P launchers may implement their own version of Taskbar on the home screen. This also caused problems with certain Taskbar commands like split screen, which provide an entry portal to Pixel-specific implementations.

Fixed by forcing the Taskbar to stay stashed when a 3P Launcher is displayed. The Taskbar is still usable inside of other non-launcher apps. This was done by using TopTaskTracker to check for ACTIVITY_TYPE_HOME or ACTIVITY_TYPE_RECENTS, and disabling Taskbar when these activities are running.

Fixes: 277963491
Test: Manual
Change-Id: Ifc0f3c07e3b76eb610f93205978fbc596bab6253
2023-05-12 00:32:24 -07:00
Jeremy Sim 92e1eeb5f0 Allows splitscreen with work & personal version of the same app
This patch makes changes in various splitscreen controllers to pass userId to the new shell API, to allow same-app splitting with different users.

Fixes: 274973415
Test: Manual
Change-Id: I810b5353aad738c7c275856586b9c521f1554022
2023-05-11 22:10:51 -07:00
Jagrut Desai 29fcd9a636 Taskbar All Apps Icon Shortcuts Popup Accesiiblity
Before we were only applying the icon.clearAccessibilityFocus() only on normal popup and not material u popups, since the flag is turned on for udc, we can move it outside.

There seems to be a bug associated with either nested abstract floating views or the accessibility service where upon opening a nested abstract floating view from another the icon get the focus. This change make the bug littl less visible to use but users will still see this bug if they open the shortcut pop agian withought closing taskbar all apps.

The accessibility delegate was always null when using the TaskbarOverlayContext, now we use TaskbarActivityContext Delegate when in TaskbarOverlayContext.

Test: Manual
Bug: 280657266
Flag: not needed
Change-Id: I631e3aa6e54748c4c8ea2ac7daf5473b198e47d6
2023-05-08 16:25:53 -07:00
Brian Isganitis 44935cf678 Update notification dots in Taskbar All Apps.
AllAppsStore already has the business logic for this, we just were not
piping along to it.

Test: Dismiss notification from tray while All Apps is open, and dot
should go away in All Apps.
Fix: 277925243

Change-Id: I29c5723fd77d22f683f5518bd6e2e3206ddee999
2023-04-12 14:00:54 -04:00
Jon Miranda 9c478b6c29 Add taskbarIconSize to GridOption/DisplayOptions
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
  sizes

Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
2023-03-24 12:29:11 -07:00
Charlie Anderson 04c6def895 reorder System shortcuts for taskbar and secondary display
Bug: 269343928
Bug: 272418357
Test: locally on device
Change-Id: Iec7f9ad702214c7ab7f49758dbf2463fe63b0324
2023-03-23 15:27:12 +00:00
Jeremy Sim 3c8def9f88 Merge "Fix bug where Taskbar was not auto-hiding after splitscreen launch from icon menu" into tm-qpr-dev 2023-03-21 23:34:34 +00:00
Jeremy Sim 8eed87ac89 Fix bug where Taskbar was not auto-hiding after splitscreen launch from icon menu
This patch fixes a bug where the transient Taskbar was not hiding properly after splitscreen was initiated. When the user is inside an app and launches splitscreen by longpressing on a Taskbar icon and selecting the split button, the transient Taskbar should hide right away. This is an equivalent action to dragging the Taskbar icon up to create a split, and should hide the Taskbar so that other UI elements (like system-level toasts and error messages) can be seen.

The bug occurred because updateAndAnimateTransientTaskbar() is not being called in this specific code path to stash the Taskbar.

Fixed by adding a new call to updateAndAnimateTransientTaskbar upon clicking the splitscreen menu button.

Fixes: 272292897
Test: Manual
Change-Id: I64a9acfc41ddcaba4d9f43eb216458de44b4c9a4
2023-03-21 14:35:36 -07:00