149 Commits

Author SHA1 Message Date
Pun Butrach
9b90822395 fix: Disable material expressive folder expansion animations 2026-01-10 20:51:07 +07:00
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
Pablo Gamito
853c970b54 Merge "Remove json viewer config" into main 2025-06-06 10:56:47 -07:00
Shamali Patwa
afa97055fa Update various tests to prepare for the new picker UI
- Switched the tests that probe old picker to use disabled flag
- Added some more tests for new code
  - A test to use the tap to add listener to add widget to homescreen
  - Updated compose unit test to cover for expanding an item

Bug: 408283627
Flag: EXEMPT independent module
Test: Test changes
Change-Id: I238896ec6e24596db93953a22bb43f6c7abbb9d1
2025-06-03 17:37:40 -07:00
Pablo Gamito
fc3c3bf830 Remove json viewer config
Now that we fully migrated to Perfetto based protologging we don't need
this.

Flag: EXEMPT part of flag clean up
Bug: 322760624
Test: m droid
Change-Id: Ie7ac94fafccf0224ee6390846ee5dda170f74217
2025-06-02 14:35:46 +00:00
Shamali Patwa
97cbe1c132 Add dagger2-compiler to some of picker module targets.
Also mark factories with widget picker annotation.

Bug: 408283627
Flag: EXEMPT independent module
Test: dagger compilation
Change-Id: I716e6cd2eefe44db9a597a80329631484089e84b
2025-05-29 13:26:15 -07:00
Shamali Patwa
e61df48651 Wire the compose based widget picker in widget picker activity
- Uses new picker behind a flag.
- Includes appropriate implementation of picker module based on whether compose is enabled.

Bug: 408283627
Flag: EXEMPT independent module
Test: Upcoming in follow up cls
Change-Id: I13e69379bc89c6d2e6909f9d11937997affc6a58
2025-05-29 13:26:00 -07:00
Shamali Patwa
8e1ac2de44 Repository and datasource implementations backing the widget picker.
Bug: 408283627
Flag: EXEMPT independent module
Test: Existing tests
Change-Id: I0f0b68c25f416c8494f363ecc93a388570f8dfa6
2025-05-28 16:49:18 -07:00
Shamali Patwa
5293a8c9ff Add widget picker module dependency to launcher when compose is enabled
Bug: 408283627
Flag: EXEMPT independent module
Test: Not applicable.
Change-Id: I1b83fca74fefd0a43291515b7197af650236ed44
2025-05-28 16:49:12 -07:00
Jordan Silva
4de09ab0ee Update build to support Compose tests custom directory
- Support for Compose Screenshot tests using ScreenshotComposeLib.
- Support for custom directory for tests to be used when compose flag is enabled.

Bug: 400436593
Fix: 366387927
Flag: EXEMPT Build flag: RELEASE_ENABLE_COMPOSE_IN_LAUNCHER
Test: Build
Change-Id: I9a5a5fd4942da2b5d8be0e554e1a42b1cde5f2af
2025-05-22 17:29:51 +01:00
Jordan Silva
24a66b740d Merge "Revert "Add "PlatformComposeCore" from SystemUI to use theming and common compose libs."" into main 2025-05-19 10:05:20 -07:00
Jordan Silva
5cace2d01b Revert "Add "PlatformComposeCore" from SystemUI to use theming and common compose libs."
This reverts commit 3551983a01.

Reason for revert:
- PlatformComposeCore uses PlatformAnimationLib that requires min_sdk_version: "33". Launcher has minSdkVersion 31 at this moment.
- Error during build: uses-sdk:minSdkVersion 33 cannot be different than version Baklava declared in library
- Reverting this CL to prevent build breaks when Compose is enabled.

Change-Id: Ia8436338c9c547bd638796f331ae9f77977d0f84
2025-05-19 09:56:51 -07:00
Treehugger Robot
92dbe3dffc Merge "Add "PlatformComposeCore" from SystemUI to use theming and common compose libs." into main 2025-05-19 04:42:31 -07:00
Jordan Silva
3551983a01 Add "PlatformComposeCore" from SystemUI to use theming and common compose libs.
Fix: 400448881
Flag: EXEMPT build flag: release_enable_compose_in_launcher.
Test: Manual
Change-Id: I20c417ff6bc97194b9f84b6a5e5a642b7ad42719
2025-05-19 03:07:33 -07:00
Pat Manning
d2f050ab26 Add magnetic detach to task dismiss using MotionValue library.
Fix: 389081766
Test: TaplTestsQuickstep
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I77f980f9851f4b1c041cbf3bb7247b972c1730fd
2025-05-02 17:13:57 +01:00
Schneider Victor-Tulias
42d6c08d41 Move ExtendedLongPressTimeoutRule implementation to shared sysui test library
Flag: EXEMPT test fix
Fixes: 396862825
Test: TaskbarExpandCollapse
Change-Id: I950ed4ede8db150234d843422982792f5b6bfd8e
2025-05-01 11:38:27 -07:00
Adnan Begovic
3b0dd96093 launcher3: Implement ExecutorsModule
Implement the ExecutorsModule interface
to provide the necessary dependencies needed
for having injectable executors.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: I4a53fc6be31664b7a6fa907761ea93a2d0377f08
2025-04-14 09:16:57 -07:00
Adnan Begovic
01d3f6f210 launcher3: Introduce executors modules.
The following change contains three parts:

1. Qualifiers for executor types.
2. A mapping of any provided-for-those-qualifier-types to
executors, executor services, or scheduled executor servies.
3. The exposure of the existing dagger qualifiers as a specific build target.

With this change, any host(launcher) can provide bindings for
these annotations stipulating whatever pool or thread allocations
as they see fit, while any dependent modules that want to isolate
their code from launcher can build against the qualifiers library
to ensure that they receive the right kind of executor at injection.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: I7e6ba623c7f85ec11bb86d1d3a66486f68efe7f6
2025-04-14 09:16:48 -07:00
Will Osborn
ec8d20d0ed Refactor RecentsAnimationDeviceState and TaskAnimationManager using new PerDisplay library
Test: locally tested on Tangor
Bug: 399371607
Flag: EXEMPT refactor

Change-Id: Ie52f53a2d5dee757a8dc3b19248736bc15e5e0c6
2025-03-28 12:08:36 +00:00
Treehugger Robot
aca72908f6 Merge "Use Launcher aconfig flag in Resource file." into main 2025-03-12 14:12:11 -07:00
Stefan Andonian
ae799cc4e8 Use Launcher aconfig flag in Resource file.
Use BaseIconRoot as an example. Also add bpfmt file formatting.

Bug: 393609690
Test: Verified compilation worked well and font actually built
successfully in both gradle and make.
Flag: com.android.launcher3.google_sans_flex_font

Change-Id: I2200d13a8d57e5d046a35226f08a751add937ca7
2025-03-12 18:44:05 +00:00
Brandon Dayauon
aa39accd49 Include multiuser flag to launcher3 dependency
Bug: 360313403
Test: mp Launcherd / Static import of the android.multiuser.Flag method
Flag: EXEMPT adding dependency
Change-Id: I1a234ce61550c12d65c6e682285ec357fe91b82a
2025-02-28 21:51:33 +00:00
Sunny Goyal
3fd385c1cd Moving grid customization provider to Dagger
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger

Change-Id: I0ebc2a614b9448e5de97d3dda43d98b951989689
2025-02-20 10:16:56 -08:00
Adnan Begovic
a610285dfa Launcher3: Introduce lint checks for Launcher3.
As part of the initial check in, add a test to ensure
  that custom Dialogs are not utilized inside of the codebase.

Bug: 389709580
Test: DialogDetectorTest
Flag: NONE Lint checks
Change-Id: I7e3f98c729cdbf4d062419c53a209d12a23b1806
2025-01-29 13:54:27 -08: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
Sam Cackett
6593622db5 Disable "MissingClass" lint check in QuickstepResLib
QuickstepResLib just contains resources. The code implementation for custom views is in NexusLauncher, so the linter doesn't know about this and falsely thinks a custom view resource is added without a corresponding class.

Change-Id: Icfe57c82af679c22428319e20d4c0e29b5c374fe
Fix: 383318069
Bug: 376817827
Flag: EXEMPT trivial build config change
Test: Add a custom view resource to QuickstepResLib, add code for custom view to NexusLauncher, run presubmits, check lint warning isn't there
2024-12-10 16:40:19 +00:00
Pechetty Sravani (xWF)
41743bd0c7 Revert "Listen to LauncherUserInfo config changes and hide/unhid..."
Revert submission 29352757-update-usericoninfo

Reason for revert: <DroidMonitor created revert due to b/379000263. Will be verified through ABTD for standard investigation.>

Reverted changes: /q/submissionid:29352757-update-usericoninfo

Change-Id: I751536274ec9dcc4047bf9c76b3a5cab258da6e4
2024-11-14 06:11:15 +00:00
Olivier Nshimiye
39dee43e12 Listen to LauncherUserInfo config changes and hide/unhide private space
entrypoint accordingly

Flag: android.multiuser.add_launcher_user_config

Bug: 346553745
Test: Manual - verified on device
Test: atest LauncherAppsTests

Change-Id: I202c4c76af4f96d5b3226daffcfebc2f9b9703b1
2024-11-13 21:35:05 +00:00
Juan Sebastian Martinez
9c774c4cf0 Introducing the MSDLPlayer in Launcher via a wrapper singleton.
The player is the main API to the MSDL library (also used in SysUI) that
implements the Multi-sensory Design Language in the system UI. This CL
also includes an example of the API usage, when the user swipes up to
reveal AllApps, or taps on QSB.

Test: manual. Verified that the MSDL haptics play when swiping to reveal
  AllApps and tapping on QSB.
Flag: com.android.launcher3.msdl_feedback
Bug: 371322466
Bug: 371250001
Change-Id: Ie13fd5494efc9fc80cdb94a7bdd6e20b2e4633a8
2024-11-08 14:24:36 -08:00
Cole Faust
cfa4fe7e2b Remove dependencies on the 1-variant fallback
When adding a dependencies, if the variants don't match, but the
dependency only has 1 variant anyways, soong will always use that
variant. This makes it hard to add new variants to soong, because the
1-variant fallback stops being used and you start getting missing
variant errors. Make changes to bp files such that all dependencies
correctly specify the variant to use.

Bug: 372091092
Flag: EXEMPT refactor
Test: m nothing
Change-Id: Ifa43c0488e4cd40d6195fe2af3de5faa4f5996ea
2024-10-28 12:20:53 -07:00
Schneider Victor-Tulias
00b6996e6d Add protolog support to Quickstep
Flag: EXEMPT changes cannot be flagged
Bug: 293182501
Test: launcher builds
Doc: go/launcher-protolog-support
Change-Id: I302b442b99165c9591b9349ea200285a5b9c074c
2024-09-24 17:07:53 +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
George Lin
de4d7457a8 Send message to launcher renderer to update grid (3/3)
This CL supports external surface view callbacks to send messages to
update the launcher's preview grid.

Bug: 348664593
Test: Manually tested. See bug.
Flag: com.android.systemui.shared.new_customization_picker_ui
Change-Id: I8108ae2c49af6b4fc1a207c6ece23e82616baa61
2024-09-05 16:49:15 +00:00
Treehugger Robot
648320044e Merge "Dagger codeswap setup between Quickstep and NexusLauncher (2/n)" into main 2024-09-04 05:08:10 +00:00
Jihoon Kang
a2dc65a2a1 Merge "Make java_sdk_library dependencies explicit" into main am: 10f0f9a93b am: 612b153591
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3250185

Change-Id: I37d8a779985f820befa52be51df8101f53ed12bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-30 20:41:29 +00:00
Jihoon Kang
612b153591 Merge "Make java_sdk_library dependencies explicit" into main am: 10f0f9a93b
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/3250185

Change-Id: Ic156ed0a774b6d6a40af20a1852846503e229b77
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-30 20:11:39 +00:00
Jihoon Kang
9f8e4b6b62 Make java_sdk_library dependencies explicit
modules should specify the submodule of java_sdk_library that the module
actually depends on

Test: CI
Bug: 358613520
Change-Id: If1b96a7ffa7ddde50c44817e0d96257ae2967a0e
2024-08-30 00:29:41 +00:00
Anushree Ganjam
14721d1e3a Dagger codeswap setup between Quickstep and NexusLauncher (2/n)
Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: Ic552091d91b991b2fdaf5c3eaa73f394328889e3
2024-08-29 10:05:12 -07:00
Anushree Ganjam
bd8633133f Setup Dagger for Launcher (1/n)
Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: Idbe19f1aa747f519417e21fe8a23a41c52ececc1
2024-08-28 12:11:47 -07:00
helencheuk
39a6093369 [Contextual Edu] Enable updating Edu data in Launcher
- Added ContextualEduStatsManager (in Launcher3) and SystemContextualEduStatsManager(in Quickstep) to enable classes in Launcher3 and quickstep to update contextual edu data
- Implemented new updateContextualEduData method in SystemUiProxy file, so the EduStatsManager could use it for update
- AbsSwipeUpHandler handles the logic to go home/overview when in app. Added code to update contextual edu data when these action is triggered.

Test: LauncherSwipeHandlerV2Test
Bug: 357542123
Flag: com.android.systemui.keyboard_touchpad_contextual_education
Change-Id: I6fc5a285ba1a1d770c54cc7af444ff8b3051bd00
2024-08-09 13:38:21 +01:00
Jordan Silva
4afa195b5b Add Jetpack Compose for Launcher3 and Quickstep behind a build flag (2/3)
This CL adds a Soong build flag in Android.bp files to enable Compose code when building Launcher.
The flag is disabled by default, and it will be enabled once agreed with the System Health team. More details in go/launcher-enabling-compose-next-steps.

To turn this flag on, one simply has to `build-flag set RELEASE_ENABLE_COMPOSE_IN_LAUNCHER true` before compiling.

- When the flag is enabled, Launcher3 will use a ComposeFacade object that provides features implemented using Compose. This Facade also provides a function to check whether Compose is enabled or not.
- When the flag is disabled, Launcher3 will implement a ComposeFacade object that throws an exception if a feature using Compose is requested. Thus, it is important to always check isComposableAvailable function before requesting a Compose feature.

Bug: 346288480
Test: Builds
Flag: EXEMPT Build flag: RELEASE_ENABLE_COMPOSE_IN_LAUNCHER
Change-Id: I5f2703f74960aeb104d0386ed3ef49784ed85234
2024-08-06 18:47:22 +01:00
Treehugger Robot
11a4756728 Merge "Resolve aconfig flag deps for Launcher" into main 2024-07-12 20:53:05 +00:00
Jared Duke
1222dd753c Resolve aconfig flag deps for Launcher
Only link in framework-declarared aconfig flags for targets that *don't*
reference platform APIs. Targets that do reference platform APIs will
inherit the framework-defined implementation, avoiding runtime classpath
collisions.

Bug: 352519114
Test: m + presubmit
Flag: EXEMPT refactor
Change-Id: I297a3c7929f41b065cc8b9c00d39dfd6ab831c96
2024-07-12 00:05:47 +00:00