Commit Graph

20706 Commits

Author SHA1 Message Date
Pun Butrach c5746e7922 refactor: Remove workaround under legacy TODO comment (#6645) 2026-04-16 12:22:42 +00:00
Mattwmaster58 37c13f7974 fix: Extend LawnchairApp with LauncherApplication (#6629) 2026-04-16 19:04:28 +07:00
wellorbetter 85088c9a50 fix: Reimplement folder label in dock toggle (#6642) 2026-04-16 18:30:32 +07:00
SuperDragonXD b7c9511cad feat: Port shortcut support for triggering gestures (#6485) 2026-04-13 12:53:33 +08:00
SuperDragonXD b57b1e21f9 feat: Display Lawnchair at the top of the widget list (#6628) 2026-04-13 10:33:20 +08:00
MrSluffy 64e20c90cc fix: clear pressed icon state on focus/launch
Add handling to fully clear press visuals when focus returns or a launch transition ends. BubbleTextView now overrides onWindowFocusChanged to call a new clearPressedIconState() method, which clears framework pressed/stay-pressed state and resets the icon tap scale. Launcher was updated to call the new method reference instead of only clearing stay-pressed, ensuring icons match neighbors and covering ordering gaps when resume callbacks run before window focus is restored.
2026-04-03 09:32:56 +08:00
MrSluffy 657f388368 fix: reset icon scale and press state in BubbleTextView
Clear touch/pressed background and reset icon scale when recycling BubbleTextView instances to prevent inconsistent icon sizes (e.g. in All Apps) — references issue #6575. Replace setScaleY(1) with setReorderBounceScale(1f) to restore the bounce scale, and call FastBitmapDrawable.resetScale() when assigning an icon so drawable-specific scale is cleared before setting bounds.

- Closes: #6575
2026-04-03 00:26:05 +08:00
MrSluffy 4e617999ff fix(folder): Restore scrim and workspace scale on folder dismiss
Ensure scrim alpha/color and workspace/hotseat scale are reset when a folder is dismissed without running the close animation (e.g. launching an app). Adds restoreLauncherAfterFolderDismissed() and calls it during folder close to restore the ScrimView alpha/colors and set SCALE_PROPERTY to 1 on the workspace and hotseat. Also imports SCALE_PROPERTY and ScrimView.
2026-04-03 00:07:46 +08:00
MrSluffy dfe60b6729 fix(folder): Adjust folder height and scrim handling
Compute folder height from occupied rows and ensure scrim is correctly restored after close. Added CellLayout.getDesiredHeightForOccupiedRows and updated FolderPagedView.getDesiredHeight to use per-page occupied-row heights so folders don't leave empty space above the footer. Set footer translationY to 0 in FolderOpenCloseAnimationListener. Refactored FolderScrimAnimationListener to restore scrim via setScrimColors using the Launcher state (avoids lingering black dim layer) and pass Launcher into the listener. Added an ALL_APPS guard in FolderSpringAnimatorSet to avoid replacing the drawer scrim (fixes disappearing list background)

- Closes: #6551
2026-04-02 23:28:47 +08:00
wellorbetter 892bff907a fix: apply themed icons to app drawer folder preview items (#6568) 2026-03-30 16:05:06 +07:00
Max! cfc529d3ea fix(widget): handle IllegalStateException when fetching widget previews for locked profiles (#6531) 2026-03-28 20:46:16 +08:00
Mattwmaster58 b4b8f2461a fix: Trim whitespace in app drawer search query (#6538) 2026-03-28 20:45:17 +08:00
Pun Butrach c7eb6d6a09 feat: Reimpl icon gesture
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-22 18:51:52 +07:00
Pun Butrach 6e6c2527ee fix: Don't force device rotation prefs to false on phone
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-22 18:35:37 +07:00
Pun Butrach 71baf75f34 fix: Leave Lawnchair settings view alone
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-21 02:50:48 +07:00
Pun Butrach 0ee2d22f16 fix: Don't use workspace scale on allapps
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-21 00:42:32 +07:00
Pun Butrach f21ac6f1fd fix: Pass preview IDP to preview renderer
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-20 20:57:30 +07:00
Pun Butrach 44dc0b11f0 feat: Fully reimplement customisation in IDP/DP
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

fix: Apply workspace page indicator early

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

fix: initGrid respect DBGridInfo

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-20 20:39:39 +07:00
Charlie Anderson 44a74dcc3d Fix 5th folder preview item appearing out of bounds
Bug: 430954461
Flag: com.android.launcher3.enable_launcher_icon_shapes
Test: creating folder with 5 items
Change-Id: I5c5bf46fcdfdb66cb4142a6912283c1dcae99603
2026-03-12 17:49:54 +07:00
Pun Butrach 076b1ea0de fix: Missing search result and focus decorator
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-12 16:12:42 +07:00
Pun Butrach 265fa565f8 fix: Consistent haptic across every Android version
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-12 14:29:38 +07:00
Pun Butrach 4e085b6ff3 fix: Don't run app archive on under Android 15
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-03-07 14:06:57 +07:00
Pun Butrach 9d3a0fb93d fix: Correct BGLaunch at least check
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-28 18:45:20 +07:00
Pun Butrach 0b54bc2564 fix: Don't infinite scroll left when feed enabled
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-28 18:45:12 +07:00
Pun Butrach eb93520e03 fix: Widget configuration activity fail to open due to BAL hardening
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-28 18:42:19 +07:00
Yasan Glass 4d022f9bd2 feat: App drawer haptic feedback toggle (#3439) (#6436)
* Fix `SuggestionsPreference` item being added with no content

* Add toggle for drawer haptic feedback (#3439)
2026-02-28 08:50:09 +01:00
strangr 75e842464b fix(model): resolve unnecessary model reload (#6420)
Co-authored-by: strngr <st@ThinkTank.place.boo>
2026-02-28 15:30:08 +08:00
Paul 0f0a75726d feat(workspace): Add "Set as default page" option (#6395)
Allow users to designate any workspace page as the default home page
via long-press popup menu. Pressing HOME navigates to the chosen page
instead of always page 0. Resets to page 0 if the default page is deleted.
2026-02-22 17:37:13 +08:00
Varun Bansal 4383121af6 fix: Restore custom app labels (#6364)
Co-authored-by: Varun Bansal <VBansal99>
Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>
2026-02-21 18:33:57 +08:00
Pun Butrach 18bbd19315 chore: Resolve TODOs
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-13 20:21:00 +07:00
Pun Butrach dfde0a31c5 fix: NPE in when getting icon results
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-09 23:59:38 +07:00
Pun Butrach be5b155776 chore: Enable bulk loading by default
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-09 23:57:13 +07:00
Pun Butrach 5c81b88fdf fix: Launcher render At a Glance widget as search widget in preview
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-08 22:05:52 +07:00
Pun Butrach 1b79a2285b feat: Update baselineprofile from LC14 to LC16
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-08 03:52:02 +07:00
Pun Butrach 37637e779b feat: Reimplement Lawnchair 13 migration
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-08 00:29:29 +07:00
Pun Butrach 1e9251e990 feat: Reimplement WallpaperManagerCompat.OnColorsChangedListener
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-04 01:49:28 +07:00
Pun Butrach d18d2c41b2 fix: Disable all Android desktop features
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-04 00:15:53 +07:00
Ankit Kushwaha 42b39904f9 feat: Add work profile customization and fix issues (#6167)
* Fix work profile unpause authentication prompt

Skip credential challenge when enabling/disabling work profile by passing null Intent parameter to requestQuietModeEnabled(). This prevents password/biometric prompts for secure folders when toggling work profile state.

- Use 3-parameter requestQuietModeEnabled() with null Intent on Android P+
- Fallback to 2-parameter version for older Android versions
- Resolves authentication prompt issue when unpausing work profile

* Fix work profile pause/unpause without authentication prompts

* Fix work profile state detection on initial load

Fixed bug where work profile quiet mode flag was not set correctly on initial app load when multiple user profiles exist. Changed direct assignment (=) to OR assignment (|=) to preserve quiet state across all work profiles.

This ensures FLAG_WORK_PROFILE_QUIET_MODE_ENABLED is set properly both on initial load (LoaderTask) and during runtime pause/unpause events (PackageUpdatedTask).

* Add work profile tab customization features

- Add workProfileTabBackgroundColor preference for selected tab color
- Add workProfileTabContainerBackground toggle for scroll protection
- Update DrawableTokens to use custom colors from preferences
- Add UI controls in App Drawer preferences
- Control tab background visibility on scroll

Features:
1. Custom color picker for selected work/personal tab button
2. Toggle to show/hide background protection when scrolling

* Fix work profile state detection bug

- Query UserManager.isQuietModeEnabled() directly for real-time state
- Call updateUserQuietMode() to keep cached state synchronized
- Fixes stale quiet mode state causing incorrect UI display

Root cause: LoaderTask was using cached UserManagerState values that
could become stale if work profile state changed between initialization
and app loading.

* Fix work profile unpause authentication prompt

Skip credential challenge when enabling/disabling work profile by passing null Intent parameter to requestQuietModeEnabled(). This prevents password/biometric prompts for secure folders when toggling work profile state.

- Use 3-parameter requestQuietModeEnabled() with null Intent on Android P+
- Fallback to 2-parameter version for older Android versions
- Resolves authentication prompt issue when unpausing work profile

* Fix work profile pause/unpause without authentication prompts

* Fix work profile state detection on initial load

Fixed bug where work profile quiet mode flag was not set correctly on initial app load when multiple user profiles exist. Changed direct assignment (=) to OR assignment (|=) to preserve quiet state across all work profiles.

This ensures FLAG_WORK_PROFILE_QUIET_MODE_ENABLED is set properly both on initial load (LoaderTask) and during runtime pause/unpause events (PackageUpdatedTask).

* Add work profile tab customization features

- Add workProfileTabBackgroundColor preference for selected tab color
- Add workProfileTabContainerBackground toggle for scroll protection
- Update DrawableTokens to use custom colors from preferences
- Add UI controls in App Drawer preferences
- Control tab background visibility on scroll

Features:
1. Custom color picker for selected work/personal tab button
2. Toggle to show/hide background protection when scrolling

* Fix work profile state detection bug

- Query UserManager.isQuietModeEnabled() directly for real-time state
- Call updateUserQuietMode() to keep cached state synchronized
- Fixes stale quiet mode state causing incorrect UI display

Root cause: LoaderTask was using cached UserManagerState values that
could become stale if work profile state changed between initialization
and app loading.

* Fix spotless formatting in DrawableTokens.kt

* fix: cleanup

---------

Co-authored-by: Ankit Kushwaha <ankkushwaha@microsoft.com>
Co-authored-by: Pun Butrach <pun.butrach@gmail.com>
2026-02-03 23:10:45 +07:00
Pun Butrach b811cba9ac fix: Use static 3600001 version as QPR1 build identifier
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-28 01:28:01 +07:00
Pun Butrach c98b238dc7 fix: Correctly detect QPR1 build and use features accordingly
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-28 01:23:10 +07:00
Pun Butrach 59fcfd7b81 feat: Theme page indicator dots
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-24 17:14:59 +07:00
Pun Butrach a089fa19b7 fix: Mark home bounce as seen when user actually opens All Apps
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-24 16:04:32 +07:00
Pun Butrach 5cd94200d1 chore: Mark TODOs as resolved
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-20 23:46:35 +07:00
Pun Butrach 2cab30080c fix: Actually fix app drawer alphabetical listing when loading icon in bulk
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-20 22:00:18 +07:00
Pun Butrach 8fc2498492 fix: Recreate SDL controller immediately to prevent Lawnchair Compose crash
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-19 23:39:48 +07:00
Pun Butrach 1527e0b7c3 fix: Transition rendering circle when using complex folder shapes
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-19 21:47:04 +07:00
Pun Butrach db221e1d09 fix: Tried to make the app drawer listing list in alphabetical order when loading icon in bulk
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-17 23:48:34 +07:00
Pun Butrach 6b5f35cfb2 chore(post-merge): Remove No-op duplicated files
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-17 21:06:27 +07:00
Pun Butrach 4400f59024 fix: Unable to apply backup due to improper initialisation
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-17 21:05:18 +07:00
Pun Butrach 8a9dc6a8a0 fix: Crash when trying to access Window/Display context in Backup & Restore
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-01-17 20:40:43 +07:00