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
2024-09-14 10:49:35 +08:00
2024-10-06 17:33:30 +08:00
2025-01-12 01:49:28 +00:00
2024-12-04 12:47:47 +08:00
2024-11-03 18:45:48 +08:00
2022-05-17 23:14:06 +07:00
2025-01-08 09:50:43 +00:00
2022-08-10 15:07:14 +05:30
2024-04-30 10:03:35 +08:00
2021-10-06 09:43:50 +07:00
Fix
2024-09-15 08:50:28 +08:00
Fix
2024-09-15 08:50:28 +08:00
2024-12-19 07:57:45 +08:00
2019-11-25 20:24:07 +09:00
2025-07-14 14:20:16 +08:00
2024-03-22 15:45:32 -07:00
2024-11-03 20:03:46 +08:00
2025-07-14 14:20:16 +08:00

Lawnchair 15

Build debug APK Build release APK Crowdin OpenCollective Telegram Discord GitHub Downloads Play Store Installs

Google Pixel running Lawnchair Launcher with green wallpaper

Lawnchair is a free, open-source home app for Android. Taking Launcher3—Androids default home app—as a starting point, it ports Pixel Launcher features and introduces rich customization options.

This branch houses the codebase of Lawnchair 15, which is currently in beta and is based on Launcher3 from Android 15. For Lawnchair 9 to 14, see the branches with the 9- to 14- prefixes, respectively.

Features

  • Material You Theming: Adapts to your wallpaper and system theme.
  • At a Glance Widget: Displays information at a glance with support for Smartspacer.
  • QuickSwitch Support: Integrates with Android Recents on Android 10 and newer. (requires root)
  • Global Search: Allows quick access to apps, contacts, and web results from the home screen.
  • Customization Options: Provides options to tweak icons, fonts, and colors to your liking.
  • And more!

Download

Get it on Google Play Get it on IzzyOnDroid Get it on Obtainium Get it on GitHub

Lawnchair on Play Store will install as a different app from other sources. Some features may be restricted to comply with Google Play's publishing rules.

Development builds

Interested in keeping yourself up-to-date with every Lawnchair development? Try our development builds!

These builds offer the latest features and bug fixes at a cost of being slower and introducing new bugs. Ensure that you make backups before installing.

Download: ObtainiumGitHubnightly.link

Verification

Verify the integrity of your Lawnchair download using these SHA-256 hashes:

Google Play
47:AC:92:63:1C:60:35:13:CC:8D:26:DD:9C:FF:E0:71:9A:8B:36:55:44:DC:CE:C2:09:58:24:EC:25:61:20:A7
Elsewhere
74:7C:36:45:B3:57:25:8B:2E:23:E8:51:E5:3C:96:74:7F:E0:AD:D0:07:E5:BA:2C:D9:7E:8C:85:57:2E:4D:C5

Contributing

Please visit the Lawnchair Contributing Guidelines for information and tips on contributing to Lawnchair.

You can view all our links in the Lawnchair Wiki.

Description
Languages
Java 73.1%
Kotlin 26.5%
AIDL 0.3%
Python 0.1%