Commit Graph

19756 Commits

Author SHA1 Message Date
Treehugger Robot bb2b582e7f Merge "Injrect WindowContext into RecentsWindowManager" into main 2025-04-15 02:22:07 -07:00
Treehugger Robot 12f5ccddd3 Merge changes from topic "pid-iv" into main
* changes:
  Implement Folder Pagination Arrow Hover / Pressed UX
  Moved PageIndicatorDots to their own ImageViews.
2025-04-14 16:45:35 -07:00
Adnan Begovic 7f1ba2e7e7 Merge changes from topic "launcher-executors" into main
* changes:
  launcher3: Implement ExecutorsModule
  launcher3: Introduce executors modules.
2025-04-14 15:55:58 -07:00
Treehugger Robot f3f945ed16 Merge "Clean up fully rolled out flag enable_additional_home_animations" into main 2025-04-14 15:40:20 -07:00
Sebastián Franco 40d72a51c3 Merge "Make hotseat icons match with Workspace in Fixed Landscape" into main 2025-04-14 13:10:58 -07:00
Sebastián Franco 04e7cce3db Merge "Use correct container for predictive icons" into main 2025-04-14 10:44:53 -07:00
Alex Chau b4c6104925 Injrect WindowContext into RecentsWindowManager
- Also inject SystemUiProxy and RecentsModel
- Also creates a DesktopRecentsTransitionController to avoid crashing when launching desktop tasks
- Minor clean-up to use this instead of injected context in RecentsWindowManager

Bug: 408988616
Test: manual
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_launcher_overview_in_window
Change-Id: I0691d5266f3eae1376ffadd6b29e3ec635b0354b
2025-04-14 18:23:12 +01:00
Sunny Goyal 46aa3ccdf6 Merge "Adding HomeScreenRepo to expose homescreen data as repository" into main 2025-04-14 09:27:37 -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
Schneider Victor-Tulias 7850221bdb Clean up fully rolled out flag enable_additional_home_animations
Flag: EXEMPT flag being removed
Bug: 409610983
Test: None; flag is already fulled rolled out
Change-Id: Ib2b20bd43868275c4059a6a4bc3c9319d37bc5c3
2025-04-14 08:09:17 -07:00
Charlie Anderson 8763d6e541 Merge "update folder anim for new folder specs and spring animation" into main 2025-04-14 06:25:44 -07:00
Treehugger Robot 0aabd48612 Merge "Fix Entry Animation Indicator Alpha" into main 2025-04-11 17:22:29 -07:00
Treehugger Robot 08a65bfd06 Merge "Use shell's SplitBounds class instead of our own" into main 2025-04-11 17:16:27 -07:00
Stefan Andonian 71170e9276 Implement Folder Pagination Arrow Hover / Pressed UX
Bug: 394355070
Test: Verified locally that everything works. Check out bug for video test.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: Ief4b895d8eb31e6ed53b05aad4b733e8de41e4d9
2025-04-11 16:02:04 -07:00
Stefan Andonian c547affdc9 Moved PageIndicatorDots to their own ImageViews.
Previously, they were simply included in PageIndicatorDots via Canvas
drawing. This worked well to keep behavior encapsulated within
PageIndicatorDots class. But it didn't work for Accessibility Services
which require an actual view in order to focus properly.

Bug: 409629978
Test: Verified manually. See video on bug comment: https://b.corp.google.com/issues/394355070#comment23
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: I212bf3dbee82e449088536fa841b02a3644df7d3
2025-04-11 16:00:12 -07:00
Sebastián Franco efae5662e8 Merge "When dragging make the content of the drag layer not accessible but keep the drag View accessible" into main 2025-04-11 14:55:08 -07:00
Sebastian Franco 04b0a4a0d8 Use correct container for predictive icons
Fix: 408280336
Test: Manual Testing
Flag: EXEMPT Bug Fix
Change-Id: I20432ee13247bd4dbd089fc936476333900150e6
2025-04-11 14:51:29 -07:00
Stefan Andonian 37df1e3238 Fix Entry Animation Indicator Alpha
Bug: 394355070
Test: Verified indicator alpha locally. See screen recording on https://b.corp.google.com/issues/394355070#comment25
Flag: EXEMPT bug fix
Change-Id: Idfba3916136c579bbc2b25b566e8761bed24f939
2025-04-11 14:35:25 -07:00
Charlie Anderson b71758624a update folder anim for new folder specs and spring animation
- Refactors FolderAnimationManager into several classes including new FolderSpringBuilderAnimationManager
- Changes Folder animations to use animators resembling SpringAnimation
- Split up calculations from creating AnimatorSet

Bug: 387543793
Test: tested opening closing folders of different sizes
Flag: com.android.launcher3.enable_launcher_icon_shapes
Flag: com.android.launcher3.enable_expressive_folder_expansion
Change-Id: Idf1f21374f987389979ad45544ade1506b26fc0c
2025-04-11 13:57:38 -07:00
Sunny Goyal 040ff3a7bf Adding HomeScreenRepo to expose homescreen data as repository
Bug: 390572144
Test: Presubmit
Flag: com.android.launcher3.model_repository
Change-Id: If82a388a44d7a9c448f6eb4901c2acdb508ccfdc
2025-04-11 13:28:08 -07:00
Sebastian Franco 2ff9ebce8e When dragging make the content of the drag layer not accessible but keep the drag View accessible
Continuation of change I842415f689c992f64d863743f019455701da22e9

Fix: 392872410
Bug: 374642145
Bug: 374656225
Bug: 374658319
Test: manual
Flag: EXEMPT bugfix
Change-Id: I282f1f6ca30e10c5aef6947feee9b10514e286a6
2025-04-10 17:18:13 -07:00
Vinit Nayak fdcfb61f1b Use shell's SplitBounds class instead of our own
* Previously we had duplicated classes because of some
launcher3 and quickstep package separation. That got refactored
so now we can conslidate to only use one class. Yay!

Bug: 254378592
Test: Compiles, manual
Flag: EXEMPT refactor

Change-Id: Ifea3358ac38c1d2881cb19bb88cf14ef9c0aaa29
2025-04-10 15:18:24 -04:00
Sebastian Franco ef2be673a0 Make hotseat icons match with Workspace in Fixed Landscape
Bug: 409784022
Test: Screenshot tests
Test: DumptTest
Flag: EXEMPT bug fix
Change-Id: I12b9699b1dc9ba597511be8e929cc8cf1bde7756
2025-04-10 10:33:06 -07:00
Stefan Andonian ba797e5454 Merge "Perform Snap animation in Folder PageIndicatorDots" into main 2025-04-10 09:37:35 -07:00
Alex Chau 5e619cd675 Merge "Provides displayContext instead of windowContext for RotationTouchHelper" into main 2025-04-10 07:39:15 -07:00
Alex Chau e246b3273b Provides displayContext instead of windowContext for RotationTouchHelper
- Also limit usage of displayContext on getWindowCornerRadius only, any other usage causes perf regression
- Note that displayContext does not respond to configuration changes, there might be existing functionality bug already that resources are stale after configuration changes, keeping b/408988616 open to handle it in the future

Bug: 408988616
Fix: 409222870
Fix: 409252967
Test: presubmit and ABTD
Flag: EXEMPT refactor
Change-Id: I024c76326a2deb1ecc035de8319976e31887486b
2025-04-10 07:38:55 -07:00
Stefan Andonian ff336edb06 Perform Snap animation in Folder PageIndicatorDots
Previously snapToPageImmediately was used, but that was the wrong method.

Bug: 408227356
Test: Verified that the animation runs well locally on device.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: Iedee458e61de2d3542137615d3ff86cb42bdfb02
2025-04-09 16:39:36 -07:00
Treehugger Robot b0d0d41a2a Merge "Use setLaunchedFromA11y when All Apps is launched from HomeScreen Menu." into main 2025-04-09 15:30:41 -07:00
Sebastián Franco 6f9ea0bebb Merge "Prevent non workspace items from being binded to the Workspace" into main 2025-04-09 14:55:27 -07:00
Brian Isganitis 8c6dd04740 Merge "Expose desktop experience CD Taskbar flag to SecondaryDisplayLauncher." into main 2025-04-09 13:33:40 -07:00
Anushree Ganjam bc640898aa Use setLaunchedFromA11y when All Apps is launched from HomeScreen Menu.
setLaunchedFromA11y makes keyboard not to be shown when "swipe to start search" toggle is off and we do launcher.getStateManager().goToState(ALL_APPS)

"All Apps" was added to Menu as part of A11y requirement in b/386737601, so using setLaunchedFromA11y looks right.

Video : https://b.corp.google.com/issues/407947978#comment9

Bug: 407947978
Test: Manual
Flag: EXEMPT Bugfix

Change-Id: I84162940330a74b3433f7835753151adf55857e7
2025-04-09 13:07:15 -07:00
Sebastian Franco ff1936449e Prevent non workspace items from being binded to the Workspace
Bug: 407630150
Test: Manual testing, that's why the bug happen in the first place, working on adding tests, for now this fixes the issue.
Flag: EXEMPT bug fix
Change-Id: I98c9d4bb28a3f02ee6e54c66eadb54445c56aeec
2025-04-09 11:12:45 -07:00
Stefan Andonian fd5df85fb7 Match Folder Indicator Arrows according to specs.
Bug: 394355070
Test: Attached a screen recording of correct behavior to the bug.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: I1e99c4eb9ae79b7d00dadf286689cceb2f0e706e
2025-04-08 15:16:32 -07:00
Brian Isganitis b7a5dc0017 Expose desktop experience CD Taskbar flag to SecondaryDisplayLauncher.
Flag: EXEMPT refactor
Fix: 407924023
Test: go/testedequals
Change-Id: I06344f023eb1fab697f25276bc82e1be0209e4a8
2025-04-08 17:17:15 -04:00
Sunny Goyal afd7e35e0d Merge "Moving IconProvider extensions to a separate subclass instead of routing via APIWrapper" into main 2025-04-08 09:46:28 -07:00
Alex Chau 70e22f42c3 Merge "Make HintState transparent when blur is enabled" into main 2025-04-08 02:50:48 -07:00
Sunny Goyal a5ddcf78ba Moving IconProvider extensions to a separate subclass instead of routing via APIWrapper
Also adding plugin support for IconProvider

Bug: 366237794
Flag: EXEMPT refactor and extra code behind plugin
Test: Manual
Change-Id: Id286f88b2683e0fabc48c57b7920024f06dd7539
2025-04-07 22:39:58 -07:00
Treehugger Robot 430fd1219a Merge "When updating workspace items, make sure to not process Folder icons as Workspace items." into main 2025-04-07 22:32:30 -07:00
Sebastian Franco abcc99f015 When updating workspace items, make sure to not process Folder icons as Workspace items.
Also, in Folder.java the DeviceProfile obtained using the activity,
in this case the Activity is TaskbarActivityContext is returning
a different DeviceProfile form the Launcher which causes the update.

So this triggers an update when is not needed but even if we make
a faulty update the workspace should be able to differentiate
between workspace item and folder items.

This issue was triggered by this flag
com.android.window.flags.enable_taskbar_recents_layout_transition .

Fix: 407630150
Test: NA
Flag: EXEMPT bug fix
Change-Id: I255052506e7d198b1384c15ebfe2f6f2753da1ed
2025-04-07 15:45:57 -07:00
Alex Chau b9c5fa3f12 Make HintState transparent when blur is enabled
- Moved HintState to quickstep to have access to BlurUtils
- Added a dummy HintState outside quickstep

Fix: 406308427
Test: manual
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I8aa2407d87b429584168ebb0601cfffcccad0cfa
2025-04-07 20:17:31 +01:00
Alex Chau bbafc6d79d Inject and use WindowContext in RotationTouchHelper
- Provides a per-display instance of WindowContext to avoid creation of Context
- Inject WindowContext instead of ApplicaitonContext in RotationTouchHelper to have a display associated context required by ScreenDecorationsUtils, as well as being able to have updated Resources upon configuration changes

Bug: 407878199
Test: Verified mWindowContexxt.resources.configuration is updated upon fold/unfold/rotate,
Flag: EXEMPT refactor
Change-Id: Ic032ae3c8c818b150f5e6fca0d531a19ad38986b
2025-04-07 08:39:06 -07:00
Treehugger Robot ab1cfa9740 Merge "Change Taskbar and Folder radius based on selected shape" into main 2025-04-04 17:10:32 -07:00
Charlie Anderson 95ad50be6e Change Taskbar and Folder radius based on selected shape
Bug: 387543368
Bug: 408059321
Flag: com.android.launcher3.enable_launcher_icon_shapes
Test: stashing / unstashing taskbar
Change-Id: Ic5483a9dc0ecea47615a9add4b24772ceb97d982
2025-04-04 14:39:39 -07:00
Alex Chau b24e17db10 Add OverviewReleaseFlags to control combination of Overview flags
- This avoids flags from being enabled in Trunkfood partrial unless the dependency is also enabled

Bug: 408178115
Test: build and smoke test
Flag: EXEMPT flag only

Change-Id: Iccf9a9368383ab14a9abf7a1198c8a0c372b103f
2025-04-04 10:38:32 +01:00
Charlie Anderson e3defaa8e6 Merge "Update folder previews to new specs" into main 2025-04-04 00:02:52 -07:00
Charlie Anderson 6f5f8cac25 Update folder previews to new specs
Bug: 403616844
Flag: com.android.launcher3.enable_launcher_icon_shapes
Test: visually comparing against spec

Change-Id: I671b3de7d4ac574122ee3a33451f6cb1d6155f29
2025-04-03 16:42:35 -07:00
Jordan Silva f0d253ef9d Merge "Remove unused overviewActionsButtonSpacing from DeviceProfile" into main 2025-04-03 13:48:07 -07:00
Matthew Mourgos 22e65f455f Merge "Put EnableMouseInteractionChanges behind desktop form factor value" into main 2025-04-03 13:01:17 -07:00
Jordan Silva 17fd5f13f4 Remove unused overviewActionsButtonSpacing from DeviceProfile
Bug: 404479758
Flag: EXEMPT. Clean-up code.
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Test: DeviceDefaultGridTest
Change-Id: Ieb9ec81f82e80d293f04de71d5c2575a4ce50301
2025-04-03 10:18:23 -07:00