* scrolling
* removed logging from the scrolling part in pagedview
* added toggle for infinite scrolling
* strings
* scrolling preferences moved
* string fix
- Categorize apps using flowerpot and organize into folders
- Add blocking loading dialog during categorization process
- Prevent user cancellation during workspace setup
- Auto-add newly installed apps to appropriate folders
- closes : #5846
* fix: Window Insets crashes on less than Android 11
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* Apply suggestion from @validcube
---------
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* feat(ui): Add toggle to disable search bar background in app drawer
* Fix double opacity on the Search Bar's background
- Before, the Search Bar added another -possibly transparent- layer on top of the already existing app drawer background.
- This adds a toggle to disable the double-opacity
- It is made so it is non regressive
Fixes#4158
* style(strings): Fixed inconsistency
* Fix foldable device layout issue on Pixel 9 Pro Fold
- Enable two-panel layout for all multi-display devices (foldables)
- Previously required both isTablet && isMultiDisplay conditions
- Foldable devices may not meet 600dp tablet width threshold when unfolded
- This ensures proper layout utilization of available screen space
Fixes#5920
* Fix app drawer icon scaling when home screen icons are resized
- Prevent home screen icon scale from affecting app drawer layout
- When mIsScalableGrid is true, use separate scaling for app drawer elements
- This fixes the 'zoomed out' appearance in app drawer when home screen
icons are scaled to 120% or higher
- App drawer now maintains independent sizing from home screen
Fixes#5912
* Remove code comments from fixes
- Clean up code by removing explanatory comments
- Keep changes minimal and focused
This commit completes the work started in the search refactor by migrating all remaining legacy file/media permission checks to the new, centralized `FileAccessManager`.
Previously, features like the wallpaper preview and backup system used the side-effect based permission model that created a poor user experience, especially on modern Android versions.
This change unifies all file and media access logic under the new, observable `StateFlow`-based system. This includes:
- Refactoring the wallpaper drawable access logic to correctly handle the various states of media permissions on Android 13+. This is disabled by default on Play Store builds, due to lack of `MANAGE_EXTERNAL_STORAGE` permission.
- Updating the backup/restore system to use the new manager.
- Updating the blur wallpaper feature to use the new manager.
- Migrating the OTA update check to use the new manager.
- Replacing the "Notification Dots" permission bottom sheet with the new, simpler `PermissionDialog` for UI consistency.
Credit-to: @lebao3105 for the initial analysis of the wallpaper permission issue.
Fixes#5632Fixes#5676
-AddWorkspaceItemsTask can add multiple items to the same position, we
avoid that here by adding each item to the database before processing
the next item.
-We add more logs to InstallSessionHelper to be able to check who the
installer is
Bug: 432237485, 425754534
Test: AddWorkspaceItemsTaskTest
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4b439e999734852a017ce662543b4789b36e0e3b)
Merged-In: I2d238f3eb27734ab9cb723e2fe9d6752c5921dd1
Change-Id: I2d238f3eb27734ab9cb723e2fe9d6752c5921dd1
When cleaning the code for ag/34436200 I accidentally removed
the fixing line which was removing the old setLayoutParams
for the new one.
Fix: 431696619
Fix: 429081966
Test: Manul test
Flag: EXEMPT bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:fa233150bace5dc6a23272301065d0b35080c215)
Merged-In: I2cca194064b30a61eeacb6a376989c71b3522e87
Change-Id: I2cca194064b30a61eeacb6a376989c71b3522e87
We didn't bother to center the view because it just one view that
matches the parent view, the problem is that the peview view is
bigger than it's parent, this is by design so that the preview
matches the full screen and looks the same as the real Launcher.
We then scale the preview view to match the visualization space.
The problem is that the logic that position a view in FrameLayot
doesn't account for children views bigger than itself so in
RTL the view is not "centered" or it doesn't start where we expect
it to start. By using gravity = CENTER it does account correclty
for bigger views.
Fix: 429081966
Test: GridPreviewTest
Flag: EXEMPT bug fix
(cherry picked from commit 6624691c50b29dabb706e52d5bd09d88b257015b)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e5e32f0ef771417b9bf29a71d6d7fd7b47067dd1)
Merged-In: I1e75087ca68dd3180b0a9f11d9403eafb892391a
Change-Id: I1e75087ca68dd3180b0a9f11d9403eafb892391a
This was causing a bug where simple mode would trigger loadertask to
run, which then led to other errors since it ran prematurely
Bug: 417395120
Test: Manual
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c98d20425bf1c4e5d3a1935f11802a16e2d0aa6f)
Merged-In: Ib73e3d7849c5b3d887cbca0fbc8a386ed553f751
Change-Id: Ib73e3d7849c5b3d887cbca0fbc8a386ed553f751
Previously broken flow:
- Open All Apps on inner screen
- Drawing controller is set to the AllApps container
- Close All Apps (resting state becomes NORMAL)
- Fold, unlock
- Because we are still in NORMAL, the drawing controller was not
updated. Therefore when the ScrimView draws (alongside all other
views due to Launcher starting), it asks the inner screen's All
Apps container to render its panel on the scrim.
The fix is to remove the drawing controller when All Apps resets,
thereby avoiding trying to draw on the scrim in the first place. The
drawing controller is updated upon the next transition to All Apps,
as usual.
Bug: 426397329
Test: Manual: https://drive.google.com/file/d/1l9qAIkrgFalcO5DABOEIRX1Po3POYzab/view?usp=sharing&resourcekey=0-ccU6q2fbYE6y87ehIKdbEQ
Flag: com.android.launcher3.all_apps_sheet_for_handheld
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:288006fe11bdaec4bd229999619dd7097806620a)
Merged-In: I0a4872e6bd668583d08848a8b9c5f0f1389c4f0f
Change-Id: I0a4872e6bd668583d08848a8b9c5f0f1389c4f0f
> Previously the old renderer was destroed but was still being used until the new renderer was loading
Bug: 426034253
Flag: EXEMPT bugfix
Test: Manually using profiler, Presubmit
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:67fd6c8e17ae7df3b60a092de63b0ef1eb0ba9b1)
Merged-In: I291ea6737d4ed072eb04d007438709f9081f4075
Change-Id: I291ea6737d4ed072eb04d007438709f9081f4075
This is a forward fix of ag/33841218.
IllegalStateException is thrown because getResources() has already been
called in ContextThemeWrapper.applyOverrideConfiguration().
We should avoid getting configuration from ContextThemeWrapper, which
will generate ContextThemeWrapper#mResources and trigger
IllegalStateException from subsequent
ContextThemeWrapper#applyOverrideConfiguration().
Instead, we should get configuration from mPreviewContext which is
ContextWrapper.
Fix: 423802089
Flag: NONE - released code
Test: manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0c218842940c0920b88c9eb2ac30ef76a16edf08)
Merged-In: Ic3d29d7bb2cbf3483e757e5a90ac8d8989adc613
Change-Id: Ic3d29d7bb2cbf3483e757e5a90ac8d8989adc613
* changes:
Widget Picker: Update the launcher integration to support shortcuts
Widget Picker: Update UI layer to support shortcuts
Widget Picker: Update data layer to support shortcuts
Updates drag and drop, tap to add and preview related code.
Bug: 370950552
Flag: com.android.launcher3.enable_widget_picker_refactor
Test: Drag and drop shortcuts on home screen
Change-Id: Iccfe329296dbf4b0770628e77df5cd9b42ac9b21
Adds sealed class for widget info that can contain either appwidget info
or shortcut info.
Also kept the aosp config.xml empty to keep everything eligible for
featured
Bug: 370950552
Flag: com.android.launcher3.enable_widget_picker_refactor
Test: Open picker for homescreen and lockscreen hosts
Change-Id: Iceafc2c1234063b16421f90bf00cf96114e9870c
This change removes the talkback announcement for the background app LauncherState, which defaulted to "Recent apps".
Flag: EXEMPT bug fix
Fixes: 418854152
Test: attempted home/overview/quick switch gestures from home and app
Change-Id: I1f390902dfddd2e8576743dbbddce65121690f14
This CL prevents taskbar from forcefully moving the existing fullscreen
task to desktop on desktop-first display.
On desktop-first displays, we want to keep the current windowing mode
when its taskbar app icon is clicked.
Flag: com.android.window.flags.enable_desktop_first_fullscreen_refocus_bugfix
Bug: 420499923
Test: TaskbarRecentAppsControllerTest
Change-Id: I5e5c950d2e7bd25762eaddad94c57a4bf29ee800
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