Commit Graph

115 Commits

Author SHA1 Message Date
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
Jordan Silva
6a8d81a2fa Optimize build for Launcher3Quickstep, Launcher3Go and Launcher3QuickstepGo
This CL adds optimizations for Launcher3Quickstep builds by shrinking
unused resources.
- Enabled proguard for Launcher3QuickStep
- Launcher3Quickstep APK size reduced by -61%, 18.9Mb.
- Launcher3QuickstepGo and Launcher3Go APK size reduced by 6.5%, 872kb.

Fix: 346288630
Flag: EXEMPT Updating bp files to optimize the build
Test: Presubmit and Postsubmit builds
Change-Id: I6f8bdee7febbc125e14df3afe7bbd36ba57623f0
2024-07-10 15:14:09 +00:00
Hyunyoung Song
5d095ecda2 Include FW flag to launcher3 dependency
Bug: 333390600
Test: m Launcher3 / Static import of the android.os.Flag method
Flag: NA

Change-Id: I1085f68092768a59c7aa70c9d8b9e229e51f023f
2024-04-16 07:57:08 +00:00
Sunny Goyal
3b452f5e90 Fixing Launcher3QuickStepGo targets
When res directory is not specified in the app target, it automatically
uses the default res directory, which in this case overrides the
quickstep resources.
Explicitely specifying the res directory to prevent override

Bug: 333207609
Test: Verified apk
Flag: None
Change-Id: I749ad895f42ac40a462993ed5290da52a838c1ec
2024-04-12 19:19:59 +00:00
Peter Kalauskas
9bdb1daa4d Add soong namespace to sysui libs
Test: m checkbuild
Flag: NONE
Bug: 214238812
Change-Id: I6f0dd217c03da8ad38ee61cf89587dede9660590
2024-04-02 17:03:56 -07:00
Uwais Ashraf
6e9927e61f Add test and android lifecycle coroutine libs
Fix: 330128421
Bug: 330127493
Test: Presubmit build passes
Flag: NA
Change-Id: I87cf3b5faaee6bcdb99c5afbe1999a11d031d98e
2024-03-27 10:23:36 +00:00
Sunny Goyal
77954bae4e Cleaning up some build configurations
> Removing Launcher3Go-without-quickstep
> Removing src_ui_overrides to src_no_quickstep
> Removing unnecessary code swpa for GO builds

Bug: 330920490
Flag: None
Test: Presubmit, everything builds
Change-Id: I5746dbc7c5a37c1d99d78b55bf2a6adce1a711c9
2024-03-26 17:16:52 +00:00
Sunny Goyal
9d2ece156d Removing ext_test directory
Except for a few methods, most of the testing code was already in the main
codebase. Maintaining the additional source directory adds unnecessary overhead

Bug: 330920490
Test: Presubmit
Flag: None
Change-Id: I56c43ab7a4869b26858d622d0b8b14f286d50e90
2024-03-22 15:45:32 -07:00
Uwais Ashraf
e2625dce7b Adding coroutines library
Fix: 329045417
Test: Presubmit builds passing
Flag: NA
Change-Id: Ifd7f4892f68f99d700d586e78ddd102aa28ff7a0
2024-03-18 08:59:31 +00:00
Uwais Ashraf
9c2f5a4c62 Remove classes related to E2E testing from deviceless test classpath
Fix: 327187136
Flag: NA
Test: gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Test: presubmits passing
Change-Id: I4f05524bdc55d8473f3b5115cc239eb8cc48a856
2024-03-04 13:45:32 +00:00
Eghosa Ewansiha-Vlachavas
80232ea229 [2/n] Replace read-only desktop windowing flag with runtime flag
Replace use of `enable_desktop_windowing` flag with
`enable_desktop_windowing_mode` flag

Flag: NONE
Bug: 304778354
Fixes: 326060018
Test: build & `adb shell device_config put lse_desktop_experience
com.android.window.flags.enable_desktop_windowing_mode true && adb
reboot` desktop windowing mode should be enabled.

Change-Id: Idc44e2b7a8b738f15f8d3812a0c4fc1a4b4861c1
2024-02-22 17:02:45 +00:00
Willie Koomson
fda1b4b0d0 Merge "Use generated RemoteViews preview for widget picker if available" into main 2024-02-13 21:18:45 +00:00
Willie Koomson
fedc18e9a8 Use generated RemoteViews preview for widget picker if available
WidgetCell will use the generated RemoteViews preview to display
previews in the widget picker. It will fallback to current preview
methods if not available.

Introduces WidgetManagerHelper.loadGeneratedPreviews as a utility
function. WidgetManagerHelper is passed into the constructor of
WidgetItem to avoid calling
context.getSystemService(AppWidgetManager.class) for each widget.

Bug: 308041327
Test: atest Launcher3Tests:GeneratedPreviewTest
Flag: ACONFIG com.android.launcher3.enable_generated_previews DEVELOPMENT
Change-Id: I37429057cda83a5321884ace2537038e050b9a58
2024-02-13 18:49:44 +00:00
Jordan Silva
ebd71c6cc9 Refactoring TAPL functions for OverviewTask
This CL refactors some methods in OverviewTask to rely on OverviewSplitTask. It also changes the BaseOverview getTasks function to retrieve the parent task and support cases where only the bottomright_snapshot is available in the recent tasks.

Bug: 320633351
Test: TaplTestsSplitscreen
Flag: N/A
Change-Id: I226f895810ce3b46cc107f76cd85e2918abf7088
2024-02-05 13:50:23 +00:00
Colin Cross
f156b6bc7c Set use_resource_processor: false
These modules fail to compile when use_resource_processor is enabled
by default, disable them explicitly for now.

Bug: 319712088
Test: m javac-check
Flag: NA
Change-Id: I0f7ee108aab802ee1882f8017ea4b47346e38683
2024-01-24 15:52:06 -08:00
Sebastián Franco
82d88d3fdc Merge "Updating launcher settings so that they become split-screen" into main 2024-01-22 04:58:09 +00:00
Sebastian Franco
9ae403298d Updating launcher settings so that they become split-screen
Following this guide:
https://developer.android.com/guide/topics/large-screens/activity-embedding#extract_an_activity_from_a_split_to_full_window

Bug: 204463748
Test: Open the settings app and open multiple settings, for now
only the options inside of the launcher3 package work
Flag: ACONFIG com.android.launcher3.Flags.enableTwoPaneLauncherSettings DEVELOPMENT

Change-Id: Ie6a9eb3760171da92d94cf06376127b02afff8df
2024-01-19 22:33:20 +00:00
Uwais Ashraf
77b97c0729 Replace existing Robolectric test task with functioning one.
This CL does the following:
- Creates a dir for multivalentTests
- Creates symlinks for the dir to keep Android Studio happy
- Moves many files to the multivalentTests dir
- Adjusts gradle and soong build files to use the new dir as part of
their source sets.

Test: ./gradlew :NexusLauncher:testGoogleWithQuickstepDebugUnitTest
Test: atest Launcher3RoboTests
Fix: 316553886
Bug: 316553889
Flag: NA
Change-Id: Iae28fd0c0191b3ecf9bd2950800875950cca2622
2024-01-19 21:39:23 +00:00
Cole Faust
c778a67f8b Baseline NewApi issues
NewApi is a lint check that you don't call framework methods that were
introduced in versions later than your min_sdk_version. We want to
make this an error, so we're baselineing all existing issues.

This cl was generated automatically, by taking all the NewApi issues
from the reference baselines, and all the non-NewApi issues from the
existing checked in baselines.

Bug: 268261262
Test: Presubmits
Change-Id: Ibfbf5af12819d43dabd4b6c0eb12a4d0e8258f30
2024-01-10 12:30:39 -08:00
Cole Faust
bad33e6f85 List baseline_filename on modules that are implititly using it
lintable modules currently pick up files named "lint-baseline.xml" to use as the
lint baseline implicitly. This is confusing because you could end up using the
baseline files in more modules than intended. Lint also has a feature where it
requests you remove unnecessary findings from the baseline file, so something
could be necessary for one module, but unnecessary for another that accidentally
picked up the baseline.

We're removing the implicit detection of the baseline file, which requires
all modules using it to list the baseline file explicitly.

Flag: None
Bug: 272769514
Test: Presubmits
Change-Id: Idcd6b8c8868b05a34fe621c5c05aa21cc1f149ea
2023-12-20 16:46:26 -08:00
Anna Zhuravleva
9c20381231 Add user_type field and log it in Launcher
Add new field user_type to decouple
work_profile and private_space users.
Deprecate is_work boolean field.

Bug: 312200869
Test: statsd_testdrive 19, output: https://paste.googleplex.com/5912695996416000
Flag: NA
Change-Id: Idc25f341b4353a85b8a93eab97c88195895baedc
2023-11-29 10:26:53 +00:00
Jagrut Desai
fae321cf0a Add "SettingsLibSettingsTheme" to "QuickstepResLib" static libs
Test: Presubmit
Bug: 308638354
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED

Change-Id: I713a6555c256478972da02956c423b3f267daa71
2023-10-31 18:17:31 +00:00
Jeremy Sim
9e44e378bb Set up to use aconfig flags from WM Shell
This CL allows Launcher and Launcher test files to use aconfig flags from WM Shell.

Bug: 304597782
Test: N/A
Change-Id: I291b744207ec07d5955814879987c15f4aa13140
2023-10-10 15:16:53 -07:00
Anushree Ganjam
2a14b978c6 Remove the test aconfig lib.
zhidou@ from ACE team is working on AConfigFakelib which will be useful
to set fake flag values in both unit tests and UI automator tests.
Meanwhile, we will mock the flag values for unit tests and UI automator
tests will have all flags values defaulted to false.

testAConfigLib with "test:true" doesn't generate fake flags values and
forces us to set the flag values using "SetFlagsRule". "SetFlagsRule"
doesn't work with Out Of Proc tests and hence doesn't serve the purpose
for us. AConfigFakelib and FakeFlagTargetPreparer should use for Out Of
Proc tests.

testAConfigLib with "test:true" is suitable for java host tests where
there is no device involved. Launcher tests are instrumentation tests and tests run on actual
devices. So we can use the production version of the AConfig lib and device
config flag values will be fetched for UI Automator tests.

Also migrating "enable_twoline_allapps" to trunk stable. Unit tests is
using mockito to mock the flag value as false. The owner of
"enable_twoline_allapps" can mock the value to true in unit tests as
next step.

Bug: 294913042
Test: Local studio build and soong build
Flag: enable_twoline_allapps

Change-Id: Iea42bf18197832a9ecbddc1c3aaa8c9e36169131
2023-08-30 15:20:51 -07:00
Anushree Ganjam
8a6b74e51b Move aconfig files to aconfig folder
- Set packageName as com.android.launcher3
- Follow folder structure as per go/sysui-aconfig-structure

Bug: 294913042

Test: adb shell device_config put launcher com.android.launcher3.enable_all_apps_rv_preinflation true

Flag: enable_all_apps_rv_preinflation

Change-Id: Ib45a24d9100b657e7776c6120bdf9625533e9ed7
2023-08-28 18:27:11 -07:00
Anushree Ganjam
d1a28fe08d Add Launcher aconfig.
Use `enable_expanding_pause_work_button` as an example.

See go/trunk-stable-launcher for implementation details

Bug: 294913042

Test: adb shell device_config put launcher com.google.android.platform.launcher.aconfig.flags.enable_expanding_pause_work_button true

Flag: enable_expanding_pause_work_button
Change-Id: I732722c8b219c023adf5bf31f132ce9da72fc4d5
2023-08-24 11:11:02 -07:00
Johannes Gallmann
dc102e97d4 Merge "Extract Launcher resource interpolators to Animation Library" into udc-qpr-dev am: 19721d5e28
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24160396

Change-Id: I1613a317fada1f1951f70d15396370b4de9cc6b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-31 13:08:42 +00:00
Johannes Gallmann
a82eebd286 Extract Launcher resource interpolators to Animation Library
Bug: 292080029
Test: atest InterpolatorResourcesTest
Change-Id: I65dba4eb3f96844d4f9a4d0af608c0bd8e77ccc2
2023-07-22 09:52:53 +02:00
Treehugger Robot
5e6b4693be Merge "Launcher3QuickStepGo should have one Default Activity" into main am: 11b2209961 am: 776d87a432 am: 49d8c851d3 am: f3d2709fc6 am: 82298d3a7a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/2652760

Change-Id: Ic6c22b65be85453505f037d5fe39f40fb5d283f7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-13 08:56:02 +00:00
Treehugger Robot
f3d2709fc6 Merge "Launcher3QuickStepGo should have one Default Activity" into main am: 11b2209961 am: 776d87a432 am: 49d8c851d3
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/2652760

Change-Id: I3237519680116125f311d3eed8efafdac96d7af3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-13 07:35:18 +00:00
Arvind Kumar
384a0eddd3 Launcher3QuickStepGo should have one Default Activity
Since Launcher3QuickStepGo including quickstep/AndroidManifest-launcher.xml
manifest in LauncherGoResLib adding additional default activity
launcher3.uioverrides.QuickstepLauncher along with launcher3.Launcher3QuickStepGo.
Since we have two default activity, intent resolver trying to resolve the
action and showing popup to  select home app.

This change add quickstep/AndroidManifest.xml for LauncherGoResLib which
does not have any default activity.

Bug: 288363376
Test: With this change we are not observing popup to select the home app.

Change-Id: I36827f85a51f8cd22934f4acb3abac9b3adf83a5
2023-07-11 08:42:50 +05:30
Kateryna Ivanova
7120373bbc Migrate Interpolators from Launcher3 to the public animation library
Test: atest
Bug: 271850966
Change-Id: Iba999f2e753764a37d35e508e707df02388432e9
2023-05-30 07:20:38 +00:00
Kateryna Ivanova
c0a003ed77 Revert^2 "Introduce library for public animation APIs"
af289a1cd1

Bug: 271850966
Change-Id: Iddc1790fc3704ce20fde4377d05360a77b6c146c
2023-04-28 08:38:26 +00:00
Liana Kazanova
af289a1cd1 Revert "Introduce library for public animation APIs"
Revert submission 22740447-animation-library

Reason for revert: b/279195827

Reverted changes: /q/submissionid:22740447-animation-library

Change-Id: Ie2ef34f8bdb3076a015d91742be041c7c9ade8a2
2023-04-21 19:14:23 +00:00
Kateryna Ivanova
2d6a8e3a87 Introduce library for public animation APIs
* Add a public library
* Pull Interpolators implementation from systemui animation library
* migrate existing usages of Interpolators

Test: n/a
Bug: 271850966
Change-Id: I3f941423b76f555b2c1e7205e23d5ff9ad95d413
2023-04-21 08:06:47 +00:00