Commit Graph
20046 Commits
Author SHA1 Message Date
Toni Barzic 2d0ca1a195 Move logic for stable scale factor to DisplayController
When selecting grid size to use for desktop, size breakpoints are
compared to the display dimensions with "stable" device density.
Expose the scale factor that needs to be applied to dimensions
provided in spec via DisplayController::Info, so it can be more easily
faked in tests.

Bug: 375643744
Test: atest DeviceProfileDumpTest
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Change-Id: I836430cc052f72c0f89b6cdd5ab5309a3482d94e
2025-06-05 05:16:23 +00:00
Treehugger Robot 1c7238e383 Merge "Using a single preview sandbox perview instead of recreating it everytime" into main 2025-06-03 19:34:12 -07:00
Treehugger Robot 61b5bd5502 Merge "Let Workspace handle ACTION_CANCEL and ACTION_UP events." into main 2025-06-03 18:19:54 -07:00
Matthew Mourgos 0fed92d45c Merge "Launch home intent on workspace click/tap" into main 2025-06-03 16:05:43 -07:00
Stefan Andonian 73a32b607d Let Workspace handle ACTION_CANCEL and ACTION_UP events.
This will let it settle correctly if opening the all apps page during a
swipe or snap.

Bug: 415773533
Test: Verified that this works well locally. This is easy to reproduce.
Flag: EXEMPT bug fix
Change-Id: I74131b8d65cbc4466de4fed8638f8da7347aef49
2025-06-03 22:56:52 +00:00
Adnan Begovic b00e10d899 launcher3: Change promise icon id key to not be backed up.
LauncherPrefs wrapper adds a backup when using backedUpItem for promise icon ids.
Disable backup and restore for this preference as it could cause unwanted situations

Bug: 419426642
Test: None yet
Flag: EXEMPT Bug fix
Change-Id: I4cfef8c587b951ee6b4753e5f2e2a45409294ef3
2025-06-03 12:49:37 -07:00
Adnan Begovic 0e8be78021 launcher3: Handle case where install session could be invalid.
If the install session comes back as invalid, we can fail to add
a promise icon which leads to icons not showing up on the workspace.

Bug: 419426642
Test: None yet
Flag: EXEMPT Bug fix
Change-Id: I592948eb2b60c2249bb5b141d499d1d5ea01aebc
2025-06-03 12:48:54 -07:00
Sunny Goyal 8736534932 Using a single preview sandbox perview instead of recreating it everytime
> Reusing the model binding system instead of using a custom implementation
> Reusing the existing grid update API for previews instead of custom implementation
> Any new functionality is protected via the same flag as the grid update path

Bug: 420997234
Bug: 397782741
Flag: EXEMPT refactor
Test: atest GridPreviewTest

Change-Id: Iaf8f34568618f98cc11138ce3fa327707c5f6f1a
2025-06-03 11:40:05 -07:00
Matthew Mourgos 606677a48a Launch home intent on workspace click/tap
When an emtpy area of the workspace is tapped/clicked, and tasks are
shown on top of the home screen, launch an Intent to bring the Home
activity to the front. This behavior is intended for the desktop form
factor.

Bug: 419565810
Test: Manual and onWorkspaceTouch_whenHomeBehindDesktop_launchesHomeIntent
Flag: com.android.window.flags.show_home_behind_desktop
Change-Id: Id66e7700873db8d11addf2b5283b4ac126acde5f
2025-06-03 09:55:53 -07:00
Treehugger Robot c1b78276cc Merge "Add remove shortcut to long press menu" into main 2025-06-03 01:54:01 -07:00
Shamali Patwa 8f9d26d3ee Merge "Move host constraint builder logic to the concrete wrapper implementation." into main 2025-06-03 00:28:40 -07:00
Treehugger Robot 7860bd9db3 Merge "Adding interfaces for long press menu updates" into main 2025-06-02 23:58:31 -07:00
Shamali Patwa a1c4ff596d Move host constraint builder logic to the concrete wrapper implementation.
Fix build.


Bug: 408283627
Flag: EXEMPT independent module
Test: See demo
Change-Id: Ic15eb61eaa76ee9eeb1680dfe90cb89442f7d159
2025-06-02 22:34:00 -07:00
Shamali Patwa 622eb1d043 Listen to and handle drag and drop for homescreen and lockscreen widgets in widget picker activity wrapper.
Bug: 408283627
Flag: com.android.launcher3.enable_widget_picker_refactor
Test: See demo in comments.
Change-Id: Idcc94d35ca02cb31ce191bc99b5e21f5f0a395c4
2025-06-02 18:47:08 -07:00
Shamali Patwa 5a02a996c6 Add widget picker drag and add item listeners.
These handle those two operations for home screen when widget picker is
opened as a separate activity.

Bug: 408283627
Flag: com.android.launcher3.enable_widget_picker_refactor
Test: Not applicable.
Test: See demo in comments
Change-Id: I37f626b57610379a8af4e7a229406ed0656806c2
2025-06-02 18:46:45 -07:00
Federico Baron fc68cd402a Adding interfaces for long press menu updates
Bug: 416087474
Test: EXEMPT adding interfaces only
Flag: EXEMPT adding interfaces only
Change-Id: I50d73b655622a249ce293e1dc456b6a2a27fe810
2025-06-02 17:44:13 -07:00
Federico Baron 9290666f24 Add remove shortcut to long press menu
Flag: com.android.launcher3.enable_long_press_remove_shortcut
Test: NexusLauncherImageTests
Bug: 419289205
Change-Id: I44f12a47f48179be36dea8052080fd61fff05357
2025-06-02 17:43:37 -07:00
Sebastián Franco b11936e0f5 Merge "Moving AllApps device profile variables to their own class" into main 2025-06-02 13:34:10 -07:00
Andy Wickham eeaebacf66 Merge "Fix reverse interpolation when closing All Apps." into main 2025-06-02 12:57:02 -07:00
Sunny Goyal 81207acbbf Merge "Fixing widget size incorreectly updated during preview" into main 2025-06-02 12:09:51 -07:00
Sunny Goyal f6b98ada0d Fixing widget size incorreectly updated during preview
Bug: 408934352
Bug: 228328759
Flag: EXEMPT bugfix
Test: Manually verified
Change-Id: Ie69e67cfaee6231da3971323ae98d2b3ab514c0d
2025-06-02 09:40:35 -07:00
Uwais Ashraf 3883ac96ff Merge "Change bg Coroutine dispatchers to use single thread." into main 2025-06-02 02:32:57 -07:00
Treehugger Robot a6bab0b412 Merge "Updating launcher preview generation" into main 2025-05-30 19:19:38 -07:00
Treehugger Robot 2f9d81a9d7 Merge "Converting FastBitmapDrawable to kotlin" into main 2025-05-30 17:38:05 -07:00
Treehugger Robot 17d69d9db5 Merge "Use pixels as breakpoints for non-desktop grid sizes" into main 2025-05-30 17:29:53 -07:00
Sunny Goyal bf49baab09 Updating launcher preview generation
> Moving classes to a separate package
> Extracting PreviewContext outside of renderer
> Always loading the sandbox instead of loading real model followed by a sandbox
> Binding LoaderTask using params so that it can be customized

Bug: 420997234
Flag: EXEMPT refactor
Test: Presubmit

Change-Id: Idf45eaba9d8309cb55b47847d8e3686cbb6c0a8e
2025-05-30 16:44:49 -07:00
Andy Wickham e8526c5593 Fix reverse interpolation when closing All Apps.
This was inadvertently reverted in ag/33712864.

Bug: 415247657
Test: Manual
Flag: com.android.launcher3.all_apps_sheet_for_handheld
Change-Id: Iac3be94342e7def142e31bac34ab9043e870c305
2025-05-30 16:17:18 -07:00
Treehugger Robot e0a2abda93 Merge "Update Scrim values for blur" into main 2025-05-30 13:55:44 -07:00
Treehugger Robot d528a83c33 Merge "Add Documentation for LauncherProvider's Preferred Methods." into main 2025-05-30 13:41:17 -07:00
Uwais Ashraf 2834af0cdb Change bg Coroutine dispatchers to use single thread.
If in future we need to increase this then it will be explicit rather than a surprise with with the first 16 CPU device we encounter.

Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Presubmits
Change-Id: I44b71f1c3dde4ca349525630e5d758962dfb8ed9
2025-05-30 11:40:36 -07:00
Vinay Joglekar 7e38e8a089 Update Scrim values for blur
Set foreground color to ScrimView in overview. Added new state property
for foreground.

Fix: 412928191
Test: Go to overview
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: Id4180eaa5501dc11bf7331073edb28dca5c4a13a
2025-05-30 19:20:40 +01:00
Stefan Andonian 8b3494ad0d Add Documentation for LauncherProvider's Preferred Methods.
This will make it easier for both the Cross OEM developers and also for
others to be able to use these APIs and figure out why their home screen
data is not showing up properly.

Bug: 379378706
Test: EXEMPT comment
Flag: EXEMPT comment
Change-Id: If25bb9d394cc90bb7bd074f4d3d6244dad22818c
2025-05-30 11:13:14 -07:00
Catherine Liang 829f57c522 Merge "Move custom Launcher theme flag to shared SysUI package (1/3)" into main 2025-05-30 10:51:09 -07:00
Sebastian Franco 136295f62a Moving AllApps device profile variables to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I6490422d04f9f0aeaadf8271d4d11172f344660a
2025-05-30 09:56:01 -07:00
Sunny Goyal e674891dfa Converting FastBitmapDrawable to kotlin
Will be adding more functionality in followup cl, and this will make it easier

Bug: 421146818
Flag: EXEMPT refactor
Test: atest FastBitmapDrawableTest
Change-Id: I7ce3ca0dc126efe410c8b7ebec6c601666b7cb54
2025-05-30 08:52:52 -07:00
Shamali Patwa cddba00520 Merge changes from topic "widget-picker-launcher" into main
* changes:
  Add dagger2-compiler to some of picker module targets.
  Add no-op widget picker module to some test modules / graphs.
  Wire the compose based widget picker in widget picker activity
  Repository and datasource implementations backing the widget picker.
  Add widget picker module dependency to launcher when compose is enabled
  Open widget picker activity instead of full sheet when refactor flag is on
2025-05-30 04:18:55 -07:00
Treehugger Robot c2c5c32dcb Merge "Navigate Home to hide tasks on WidgetPicker show" into main 2025-05-29 20:02:25 -07:00
Toni Barzic 23fdd4224f Use pixels as breakpoints for non-desktop grid sizes
Effectively reverts CL:33454986 and adds float min device width/height
attributes that specify dimensions as number of dp. Currently, dp
dimensions are only used for desktop devices.

Test: Existing tests
Bug: 375643744
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Change-Id: I8a2bb3b9e6f97987fb25db553fc628d30cd3bf7c
2025-05-29 16:02:03 -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
Matthew Mourgos 45101ddfb5 Navigate Home to hide tasks on WidgetPicker show
When the widget picker is shown while the show_home_behind_desktop
feature is enabled, it becomes possible for the widget picker to be
opened while freeform tasks are occluding the home screen. To fix this
case, navigate Home to move it in front of occluding tasks, and then
open the widget picker. Navigating home is an asynchronous action, and
widget picker will already be opening once the intent executes, so
exlude closing the widget picker when closing all AbstractFloatingViews
in this case.

This change is intended for the desktop form factor.

Bug: 416057590
Flag: com.android.window.flags.show_home_behind_desktop
Test: Open freeform tasks, open WidgetPicker via menu, make sure that
tasks are hidden and WidgetPicker shows.

Change-Id: I19ebeeb706ae7374df8038d956d453708bc96f7e
2025-05-29 13:13:20 -07:00
Catherine Liang 4bbf978043 Move custom Launcher theme flag to shared SysUI package (1/3)
This allows the flag to be shared with Customization Picker.

Flag: com.android.systemui.shared.extendible_theme_manager
Test: manually verified by building w/ soong and gradle
Test: manually verified by flipping flag
Bug: 397782741
Change-Id: I131f54602e33dd2b92ce0068f5fc43da3e150a01
2025-05-29 18:47:43 +00: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
Treehugger Robot ba8a5a2235 Merge "Disable surface effects when a theme controller doesn't support adaptive themed icons" into main 2025-05-29 09:57:49 -07:00
Treehugger Robot 3893804a59 Merge "Moving hotseat variables in DeviceProfile to their own class" into main 2025-05-29 09:01:51 -07:00
Uwais Ashraf 478f07798e Moving hotseat variables in DeviceProfile to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I377b33668c3ed330d362527f62226dd84a5773db
2025-05-29 13:16:05 +00:00
Treehugger Robot baacf9f4df Merge "Converting StatsLogManager to kotlin" into main 2025-05-28 18:29:53 -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 807d4c0268 Open widget picker activity instead of full sheet when refactor flag is on
Bug: 408283627
Flag: EXEMPT independent module
Test: Manual
Change-Id: I6dbd1614ae1e49e3c781d6e08199c8c17221eed7
2025-05-28 16:49:06 -07:00
Sunny Goyal ac35781625 Disable surface effects when a theme controller doesn't support adaptive themed icons
Bug: 420985075
Bug: 415118235
Flag: com.android.launcher3.extendible_theme_manager
Test: Verified on device
Change-Id: I82c46e529aa59be345bf6cdfcfa29fdf784c0068
2025-05-28 16:38:24 -07:00
Treehugger Robot 6facece986 Merge "Adding dagger subcomponent for activity context scope" into main 2025-05-28 16:11:00 -07:00