Commit Graph

20560 Commits

Author SHA1 Message Date
Pun Butrach 76a8131262 Fix predictiveBack NSME
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:47 +07:00
Pun Butrach bfb2be39eb Fix bugs with A16/A15 devices
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:47 +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
Pun Butrach dd4a08be61 Merge tag 'android-16.0.0_r3' into 16-dev
Android 16.0.0 Release 3 (BP3A.250905.014)

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-10 20:46:04 +07:00
SuperDragonXD b2068eaaf1 fix: Bring back icon badges for work profile 2025-12-24 09:09:19 +08:00
Abhishek Sharma 8c36c72efc feat: Add option to clear home screen in settings (#6125)
Signed-off-by: abhixv <abhi.sharma1@hotmail.com>
2025-12-20 05:56:30 +08:00
Pun Butrach f831a3bf4e fix: Ignore generatedPreviews flags on Vanilla Ice Cream and above
This is always enabled on correct AOSP implementations, crashes should be handled by OEM
2025-12-05 22:51:06 +07:00
ELY M. 736e6c85d6 feat: Support infinite scroll on home screen (#5807)
* scrolling

* removed logging from the scrolling part in pagedview

* added toggle for infinite scrolling

* strings

* scrolling preferences moved

* string fix
2025-12-03 09:54:40 +07:00
Clément Gayot fb845d1460 fix: Revert "Align widget padding to icons" (#6135) 2025-12-01 06:15:44 +08:00
MrSluffy 1bb5878457 feat(deck): app categorization to folders using flowerpot
- 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
2025-11-16 11:55:24 +08:00
Pun Butrach bc6d92f454 fix: Window Insets crashes on less than Android 11 (#6060)
* 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>
2025-11-10 05:38:13 +08:00
Pun Butrach 5a863fb700 fix: Shortcut get disabled reason crashes on Android 8.1 (#6061)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-11-10 05:37:13 +08:00
SuperDragonXD dd786afa4b fix(allapps): Hide app drawer folders in work/private profiles (#6002)
Prevents app drawer folders from being displayed within the work or private space profiles to avoid state complexity.
2025-10-20 15:21:33 +08:00
MrSluffy 11a4b09680 fixed: all app icons changes too when home icons is > 120
- Closes : #5943
2025-10-12 17:00:20 +08:00
Chaikew 5635846e0d feat(ui): Add toggle to disable search bar background in app drawer (#5934)
* 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
2025-10-09 15:09:47 +08:00
Himanshu Garg a2545ee91e Fix app drawer icon scaling when home screen icons are resized (#5932)
* 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
2025-10-08 14:30:56 +08:00
Pun Butrach 6b04c12f4b fix: Icon not responding to mouse cursor [Backport 354b64b] (#5895)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-10-02 16:32:34 +08:00
Berke Emin Kabagöz cb8b206a50 Fix android 14 crashes (#5620) 2025-09-28 09:21:02 +08:00
MrSluffy e4d8d3c0c0 fixed : add retry count mechanism for widget configuration
- closes : #5765
- closes : #5764
- closes : #5534
- closes : #5505
- closes : #4533
2025-09-06 15:31:16 +08:00
SuperDragonXD bac85d2915 refactor(permissions): Unify file and media permission handling (#5683)
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 #5632
Fixes #5676
2025-07-30 12:43:37 +08:00
SuperDragonXD 64f0d29671 feat(search): refactor search settings UI
TODO: improve permission handling for other parts of the UI
2025-07-29 17:55:41 +08:00
SuperDragonXD 47cce0d7a3 feat(search): improve empty search results UX 2025-07-29 17:55:41 +08:00
Federico Baron df328e5dfa Add logs and prevent collissions when adding items
-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
2025-07-27 22:00:10 -07:00
SuperDragonXD ff8c5a827b Don't remove icons when dragging apps from app drawer folders
Fixes #5374
2025-07-16 17:35:50 +08:00
Sebastian Franco 346f5d7890 Actually updating the LayoutParams in the LauncherPreview
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
2025-07-15 19:57:54 -07:00
Brandon Dayauon ff0e4ec6bb Log event when windowInsetsController is null
Set up ww logging for this case.

bug: 425502603
Test: presubmit and made sure its loggable by setting null
Flag: EXEMPT adding log for ww
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:32ac0c244589cedd65320d68c0c7bcbe3f5939f1)
Merged-In: I800bfc4c902bbdedee770507624b7628489ccc3b
Change-Id: I800bfc4c902bbdedee770507624b7628489ccc3b
2025-07-15 19:57:45 -07:00
Pun Butrach 2fcaf0a5ec Don't call setAccessibilityPaneTitle when device is not at least Android 9 (#5603)
* Update WidgetsTwoPaneSheet.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update PopupContainerWithArrow.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update SplitInstructionsView.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update TaskbarView.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-07-14 14:19:58 +08:00
Sebastian Franco d24bc7c690 Centering preview view using gravity Center
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
2025-07-11 17:35:23 -07:00
Federico Baron 361f5a435b Prevent LoaderTask from running during setup wizard
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
2025-07-09 19:28:23 -07:00
Brandon Dayauon d0937610f9 Revert "Remove ScrimView's drawing controller when resetting All Apps."
This reverts commit 288006fe11bdaec4bd229999619dd7097806620a.

Reason for revert: b/428195031

Bug: 426397329
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f9c3fd3eba6150092e2b1867428e0e5744af00c3)
Merged-In: I58b58e35276a57ffe2e8d9a1f8c916e5d1be9eb0
Change-Id: I58b58e35276a57ffe2e8d9a1f8c916e5d1be9eb0
2025-07-01 20:10:32 -07:00
Sunny Goyal 1df1ab60f2 Preventing duplicate inflation during preview initialization
Bug: 421611580
Bug: 426496161
Bug: 427607114
Flag: EXEMPT bugfix
Test: Verified manually
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:991ceca0ae576169399f65000f99293f4ae515ca)
Merged-In: I71139c5b61025ca30cfe8e70a5b09042f7078225
Change-Id: I71139c5b61025ca30cfe8e70a5b09042f7078225
2025-06-26 19:46:25 -07:00
Andy Wickham 1fa500b17e Remove ScrimView's drawing controller when resetting All Apps.
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
2025-06-26 19:46:15 -07:00
Fengjiang Li 0b844fd156 [Memory Leak] Prevent leak of PreviewSurfaceRenderer and
SurfaceControllHost from IDP's listener

Bug: 427483331
Test: manual
Flag: NONE - released code
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4dda0a2cd9684eeccee7d1836f8ea98b94187998)
Merged-In: I5a47876bb77d65c013478ffb88976878ccb23741
Change-Id: I5a47876bb77d65c013478ffb88976878ccb23741
2025-06-26 19:46:06 -07:00
Sunny Goyal 798ff095e2 Only destroy LauncherPreviewRenderer when a new renderer is ready
> 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
2025-06-26 19:45:56 -07:00
Sebastian Franco cc18ee380e Do not modify the original item info when adding a new item in Worksapce
Fix: 418114270
Test: NA
Flag: EXEMPT bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dbd6f0d18f69d5d33862aaad015c4c8c5907fb46)
Merged-In: Ic0dd00da4f363868a1c2abeeb736b86f6f706631
Change-Id: Ic0dd00da4f363868a1c2abeeb736b86f6f706631
2025-06-25 21:04:11 -07:00
Fengjiang Li 2594314a58 Fix crash from PreviewSurfaceRenderer#recreatePreviewRenderer()
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
2025-06-16 16:44:26 -07:00
Adil Hanney 0d18a381da Fix: Adapt to missing flags in Android 16 QPR1 Beta 2 (#5538)
* Fix: Adapt to missing Flags in android 16 qpr1 beta 2

* fix: revert jvm memory flag

I accidentally committed it, oops

Co-authored-by: Pun Butrach <pun.butrach@gmail.com>

---------

Co-authored-by: Pun Butrach <pun.butrach@gmail.com>
2025-06-15 15:16:08 +08:00
Shamali Patwa f8d94de717 Merge changes from topic "p-shortcut-impl" into main
* 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
2025-06-09 11:02:42 -07:00
Treehugger Robot f23a5060ee Merge "Do not enter desktop mode if the existing fullscreen task is refocused" into main 2025-06-08 19:10:57 -07:00
shamalip 077234aff5 Widget Picker: Update the launcher integration 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
2025-06-08 20:40:21 +00:00
shamalip bb86bde284 Widget Picker: Update data layer to support shortcuts
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
2025-06-08 20:10:53 +00:00
Treehugger Robot fb0f2ff41d Merge "Add remove system shortcut to folder items" into main 2025-06-07 14:08:44 -07:00
Treehugger Robot 4047867239 Merge "Implement InMemoryLauncherPrefs backed by InMemorySharedPreferences." into main 2025-06-06 17:20:16 -07:00
Federico Baron ffd3ced53f Add remove system shortcut to folder items
Bug: 419289205
Test: NexusLauncherImageTests
Flag: com.android.launcher3.enable_long_press_remove_shortcut
Change-Id: I4bba230d13696d8d9dc02e232f8a302ae9e893e0
2025-06-06 22:02:32 +00:00
Treehugger Robot 5135248ada Merge "Fix incorrect talkback announcement for app -> home" into main 2025-06-06 14:35:25 -07:00
Brian Isganitis 8f8e82c02d Implement InMemoryLauncherPrefs backed by InMemorySharedPreferences.
Flag: EXEMPT bugfix
Bug: 415787583
Test: InMemoryLauncherPrefsTest
Change-Id: I507d02e45c7ace1cf6cb8df7018f6767e1fdb8af
2025-06-06 17:11:16 -04:00
Schneider Victor-Tulias 672c8a10e4 Fix incorrect talkback announcement for app -> home
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
2025-06-06 15:03:51 -04:00
Toshiki Kikuchi 4e9affa253 Do not enter desktop mode if the existing fullscreen task is refocused
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
2025-06-06 09:58:42 +09:00
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