20717 Commits
Author SHA1 Message Date
Pun ButrachandGitHub 8e75b4bd73 feat: Promote icon swipe gesture to stable (#6821)
* fix: Reimplement and only handle touch target on configured app

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

* feat: Promote to stable

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

* fix: Prevent app icons from conflicting with edit mode state

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

* fix: Address reviewer

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

* refactor: Make icon swipe settings enable by mandatory default

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

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-06-09 12:26:14 +07:00
Pun ButrachandGitHub 2d5fd2b7cd fix: Custom notification dot colour not being applied (#6851)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-06-07 20:21:57 +07:00
Pun ButrachandGitHub 653f362baf fix: Find the correct folder size depending on which parent owned them (#6850)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-06-07 19:35:34 +07:00
Pun ButrachandGitHub 3e52c8a5ab fix: Clear two layers stale state from highlight decorator (#6819)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-05-31 13:58:13 +00:00
John Andrew CamuandGitHub 6b1b8c863a fix(bug) folder dismissing during screenshot gesture (#6792) 2026-05-29 13:10:10 +08:00
John Andrew CamuandGitHub 8f09ab7e78 feat(workspace): edit-mode page reorder, default home, and page strip (#6809)
* feat: initial implementation reorder of workspace

* fix(edit-mode): page strip 48dp touch target and label refresh on reorder
2026-05-29 11:23:54 +08:00
Pun ButrachandGitHub 08e7f6ef44 fix: Hide destructive popup from locked home screen (#6774)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-05-20 15:32:38 +00:00
Pun ButrachandGitHub 0bd70f3bd0 fix: Link app drawer background opacity to correct colors (#6636)
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2026-05-10 20:05:50 +08:00
SARRAFandGitHub 7aa385b7e3 fix: Make folders in app drawer follow row height setting (#6713) 2026-05-01 11:21:55 +08:00
Pun ButrachandGitHub 957568db28 fix: Use EdgeEffectCompat for fling effect (#6691) 2026-04-25 15:40:54 +00:00
Pun ButrachandGitHub 3acaf1d806 fix: Don't call archive status check on low APIs (#6687) 2026-04-24 19:12:45 +07:00
Pun ButrachandGitHub c5746e7922 refactor: Remove workaround under legacy TODO comment (#6645) 2026-04-16 12:22:42 +00:00
Mattwmaster58andGitHub 37c13f7974 fix: Extend LawnchairApp with LauncherApplication (#6629) 2026-04-16 19:04:28 +07:00
wellorbetterandGitHub 85088c9a50 fix: Reimplement folder label in dock toggle (#6642) 2026-04-16 18:30:32 +07:00
SuperDragonXDandGitHub b7c9511cad feat: Port shortcut support for triggering gestures (#6485) 2026-04-13 12:53:33 +08:00
SuperDragonXDandGitHub 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
wellorbetterandGitHub 892bff907a fix: apply themed icons to app drawer folder preview items (#6568) 2026-03-30 16:05:06 +07:00
Max!andGitHub cfc529d3ea fix(widget): handle IllegalStateException when fetching widget previews for locked profiles (#6531) 2026-03-28 20:46:16 +08:00
Mattwmaster58andGitHub 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 AndersonandPun Butrach 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 GlassandGitHub 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
75e842464b fix(model): resolve unnecessary model reload (#6420)
Co-authored-by: strngr <st@ThinkTank.place.boo>
2026-02-28 15:30:08 +08:00
PaulandGitHub 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 BansalGitHubVarun Bansal <VBansal99>SuperDragonXD
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
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