Improve documentation v4 (LC15) (#4973)

* Update information to LC15

* LC15 Screenshot

* Apply suggestion from code-reviewer

Co-authored-by: Zongle Wang <wangzongler@gmail.com>

* Apply suggestion from code-reviewer

Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>

* Installation badges and cert hash

* Update Crowdin branch to 15

* Merge Canary and Development

* Update styling of cert hash

* Update compatlib

* Update for Unified SystemUI

* Improve dev build

* Consistency + Update local fonts

* Consistency with ToC

* Fix awkward

* Link to Smartspacer

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

* Update visual to LC15

* Merge suggestion from GitHub Copilot Code Review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Fix typos and grammar in README files (GitHub Copilot Review)

* English Accent Consistency

* Windows Canary Phone Link compression is the worst

* Apply suggestions from code review

Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>

* Update release phase, security policy, and versioning

* Update systemUI/README.md

Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>

* Update README: Lawnchair 15 alpha to beta

* Use development instead of beta

* Update CONTRIBUTING.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Give subtle Google Developer Style guidelines

* Update SECURITY.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Co-authored-by: Zongle Wang <wangzongler@gmail.com>
Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Pun Butrach
2024-12-14 05:50:23 +07:00
committed by GitHub
parent 9607dcb112
commit ad697f6144
14 changed files with 107 additions and 42 deletions

View File

@@ -24,7 +24,7 @@ jobs:
upload_translations: false
upload_sources: true
download_translations: true
localization_branch_name: 14-dev-localization
localization_branch_name: 15-dev-localization
create_pull_request: true
base_url: 'https://lawnchair.crowdin.com'
env:

View File

@@ -26,7 +26,7 @@ jobs:
upload_translations: false
upload_sources: false
download_translations: true
localization_branch_name: 14-dev-localization
localization_branch_name: 15-dev-localization
create_pull_request: true
base_url: 'https://lawnchair.crowdin.com'
env:

View File

@@ -22,7 +22,7 @@ jobs:
upload_translations: false
upload_sources: true
download_translations: false
localization_branch_name: 14-dev-localization
localization_branch_name: 15-dev-localization
create_pull_request: false
base_url: 'https://lawnchair.crowdin.com'
env:

View File

@@ -6,34 +6,35 @@
<img alt="" src="docs/assets/lawnchair-round.webp" width="100">
</picture>
First and foremost, welcome to the **Lawnchair** Contributing Guidelines!
Welcome to the **Lawnchair** Project, we appreciate your interest in contributing.
Feel free to reach out to us on [Telegram](https://t.me/lccommunity) or [Discord](https://discord.com/invite/3x8qNWxgGZ) for any further questions.
### 💫 Bug reports & feature requests
> [!TIP]
> We recommend that the Lawnchair [Nightly](https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly)
> build be used in your report as they contain the latest changes from Lawnchair.
> Using Lawnchair [Nightly](https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly) is recommended for bug reports and feature requests
> as it contains the latest changes from Lawnchair.
For [bug reports](https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=bug&projects=&template=bug_report.yaml&title=%5BBUG%5D+), please describe the bug in detail to the best of your ability
For [bug reports](https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=bug&projects=&template=bug_report.yaml&title=%5BBUG%5D+), describe the bug in detail to the best of your ability
with steps on how to reproduce it. If applicable, attach log files.
For [feature requests](https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=feature%2Cenhancement&projects=&template=feature_request.yaml&title=%5BFEATURE%5D+), please describe the feature you'd like to see added to Lawnchair.
For [feature requests](https://github.com/LawnchairLauncher/lawnchair/issues/new?assignees=&labels=feature%2Cenhancement&projects=&template=feature_request.yaml&title=%5BFEATURE%5D+), describe the feature you'd like to see added to Lawnchair.
If applicable, attach log files.
Please make sure to be civil during the discussion of your contribution as outlined by the [Code of Conduct](CODE_OF_CONDUCT.md).
Make sure to be civil during the discussion of your contribution as outlined by the [Code of Conduct](CODE_OF_CONDUCT.md).
### 🌐 Translation
For translation, visit [Lawnchair on Crowdin](https://lawnchair.crowdin.com) and follow these tips:
- When using quotation marks, insert the symbols specific to the target language, as listed in this [this summary table](https://en.wikipedia.org/wiki/Quotation_mark#Summary_table);
- When using quotation marks, insert the symbols specific to the target language, as listed in this [summary table](https://en.wikipedia.org/wiki/Quotation_mark#Summary_table);
- Some English terminology may have not have commonly-used equivalents in other languages. In such cases, use short descriptive phrases—for example, the equivalent of _bottom row_ for _dock_;
- Some languages (e.g. French) have variations of words depending on if it's masculine or feminine (gender-specific); we recommend opting for gender-neutral words instead.
### 🧑‍💻 Code
> [!NOTE]
> For Lawnchair 9 to 13, see the branches with the `9-` to `13-` prefixes respectively.
> [!TIP]
> For Lawnchair 9 to 14, see the branches with the `9-` to `14-` prefixes respectively.
For code, it's highly recommended that you use [Android Studio](https://developer.android.com/studio),
know [Java](https://www.java.com) or preferably [Kotlin](https://kotlinlang.org/), and [Git](https://git-scm.com/).
@@ -51,19 +52,20 @@ run `git submodule update --init --recursive`.
Here are some contribution tips to help you get started:
- Always make sure that you're up-to-date with **Lawnchair** by setting your base branch to `14-dev`.
- Always make sure that you're up-to-date with **Lawnchair** by setting your base branch to `15-dev`.
- Make sure your code is logical and well-formatted. If using Kotlin, see [“Coding conventions” in the Kotlin documentation](https://kotlinlang.org/docs/coding-conventions.html);
- [The `lawnchair` package](https://github.com/LawnchairLauncher/lawnchair/tree/14-dev/lawnchair) houses Lawnchairs own code, whereas [the `src` package](https://github.com/LawnchairLauncher/lawnchair/tree/14-dev/src) includes a clone of the Launcher3 codebase with modifications. Generally, place new files in the former, keeping changes to the latter to a minimum.
- [The `lawnchair` package](https://github.com/LawnchairLauncher/lawnchair/tree/15-dev/lawnchair) houses Lawnchairs own code, whereas [the `src` package](https://github.com/LawnchairLauncher/lawnchair/tree/15-dev/src) includes a clone of the Launcher3 codebase with modifications. Generally, place new files in the former, keeping changes to the latter to a minimum.
#### Additional documentation
- The Lawnchair Wiki ([at Github](https://github.com/LawnchairLauncher/lawnchair/wiki))
- Lawnchair Visual Guidelines ([README.md](/docs/assets/README.md))
- Lawnchair Quickstep Compat Lib ([README.md](compatLib/README.md))
- Lawnchair Preferences Components ([README.md](lawnchair/src/app/lawnchair/ui/preferences/components/README.md))
- SystemUI ViewCapture ([README.md](systemUIViewCapture/README.md))
- SystemUI Common ([README.md](systemUICommon/README.md))
- Prebuilt Library ([README.md](prebuilts/libs/README.md))
- [The Lawnchair Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki)
- [Lawnchair Visual Guidelines](/docs/assets/README.md)
- [Lawnchair Quickstep Compat Library](compatLib/README.md)
- [Lawnchair Preferences Components](lawnchair/src/app/lawnchair/ui/preferences/components/README.md)
- [SystemUI Module](systemUI/README.md)
- [ViewCapture](systemUI/viewcapture/README.md)
- [Common](systemUI/common/README.md)
- [Prebuilt Library](prebuilts/libs/README.md)
#### Versioning scheme
@@ -105,6 +107,7 @@ The table below shows release phase used by Lawnchair:
| Status | Stage |
| ----------------- | ----- |
| Development | 00 |
| Alpha | 01 |
| Beta | 02 |
| Release Candidate | 03 |
@@ -125,3 +128,12 @@ Strings `names` in `strings.xml` should follow this format:
| Preference choice | $1_choice | `off_choice` | Off | |
| Feature string | (feature_name)_$1 | `colorpicker_hsb` | HSB | Feature strings are strings that are confined to a specific feature. Examples include the gesture and color picker. |
| Launcher string | $1_launcher | `device_contacts_launcher` | Contacts from device | Strings that are specific to the Launcher area |
#### Updating locally stored font listing
Lawnchair uses a locally stored JSON file (`google_fonts.json`) to list available fonts from Google Fonts. This file should be updated periodically or before release to include the latest fonts.
To update Lawnchair's font listing, follow these steps:
1. Acquire a [Google Fonts Developer API key](https://developers.google.com/fonts/docs/developer_api#APIKey).
2. Download the JSON file from `https://www.googleapis.com/webfonts/v1/webfonts?key=API_KEY`, replacing `API_KEY` with the API key from step 1.
3. Replace the content of [`google_fonts.json`](lawnchair/assets/google_fonts.json) with the API response.

View File

@@ -1,4 +1,4 @@
# Lawnchair 14
# Lawnchair 15
[![Build debug APK](https://github.com/LawnchairLauncher/lawnchair/actions/workflows/ci.yml/badge.svg)](https://github.com/LawnchairLauncher/lawnchair/actions/workflows/ci.yml)
[![Build release APK](https://github.com/LawnchairLauncher/lawnchair/actions/workflows/release_update.yml/badge.svg)](https://github.com/LawnchairLauncher/lawnchair/actions/workflows/release_update.yml)
@@ -17,23 +17,67 @@
<img alt="Google Pixel running Lawnchair Launcher with green wallpaper" src="docs/assets/device-frame.png" width="250px">
</picture>
Lawnchair is a free, open-source home app for Android. Taking Launcher3Androids default home appas a starting point, it ports Pixel Launcher features and introduces rich options for customization.
Lawnchair is a free, open-source home app for Android. Taking Launcher3Androids default home appas a starting point, it ports Pixel Launcher features and introduces rich customization options.
This branch houses the codebase of Lawnchair 14, which is currently in beta and is based on Launcher3 from Android 14. For Lawnchair 9 to 13, see the branches with the `9-` to `13-` prefixes, respectively.
This branch houses the codebase of Lawnchair 15, which is currently in development and is based on Launcher3 from Android 15. For Lawnchair 9 to 14, see the branches with the `9-` to `14-` prefixes, respectively.
## Features
- Pixel Launcher-like UI with Material You design
- At a Glance widget with Smartspacer support
- QuickSwitch support
- Global Search support
- Icons, fonts, and colors customization
- **Material You Theming:** Adapts to your wallpaper and system theme.
- **At a Glance Widget:** Displays information *at a glance* with support for [Smartspacer](https://github.com/KieronQuinn/Smartspacer) extensions.
- **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
See the [releases](https://github.com/LawnchairLauncher/lawnchair/releases) section for the latest
beta build. For development builds with upcoming features & bug fixes, use the nightly builds.
<p align="left">
<a href="https://play.google.com/store/apps/details?id=app.lawnchair.play">
<picture>
<!-- Avoid image being clickable with slight workaround -->
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/badge-google-play.png" height="60">
<img alt="Get it on Google Play" src="docs/assets/badge-google-play.png" height="60">
</picture>
</a>
<a href="https://apt.izzysoft.de/fdroid/index/apk/app.lawnchair">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/badge-izzyondroid.png" height="60">
<img alt="Get it on IzzyOnDroid" src="docs/assets/badge-izzyondroid.png" height="60">
</picture>
</a>
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/LawnchairLauncher/lawnchair/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/badge-obtainium.png" height="60">
<img alt="Get it on Obtainium" src="docs/assets/badge-obtainium.png" height="60">
</picture>
</a>
<a href="https://github.com/LawnchairLauncher/lawnchair/releases/latest">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/badge-github.png" height="60">
<img alt="Get it on GitHub" src="docs/assets/badge-github.png" height="60">
</picture>
</a>
</p>
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 build!
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:** [Obtainium][Obtainium link] • [GitHub][GitHub link] • [nightly.link][Nightly link]
### Verification
Verify the integrity of your Lawnchair download using these SHA-256 hashes:
| Source | SHA-256 Hash |
| ----------- | ------------------------------------------------------------------------------------------------- |
| Anywhere | `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` |
| 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` |
## Contributing
@@ -44,6 +88,11 @@ Please visit the [Lawnchair Contributing Guidelines](CONTRIBUTING.md) for inform
- [News](https://t.me/lawnchairci)
- [Lawnchair on X (formerly Twitter)](https://x.com/lawnchairapp)
- [Website](https://lawnchair.app)
- [_XDA_ thread](https://forum.xda-developers.com/t/lawnchair-customizable-pixel-launcher.3627137/)
- [_XDA_ thread](https://xdaforums.com/t/lawnchair-customizable-pixel-launcher.3627137/)
You can view all our links in the [Lawnchair Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki).
<!-- Download link -->
[Nightly link]: https://nightly.link/LawnchairLauncher/lawnchair/workflows/ci/15-dev
[Obtainium link]: https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22app.lawnchair.debug%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Flawnchairlauncher%2Flawnchair%22%2C%22author%22%3A%22Lawnchair%20Launcher%22%2C%22name%22%3A%22Lawnchair%20(Debug)%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Atrue%2C%5C%22fallbackToOlderReleases%5C%22%3Afalse%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22Lawnchair%20Nightly%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22dontSortReleasesList%5C%22%3Afalse%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Afalse%2C%5C%22releaseDateAsVersion%5C%22%3Atrue%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22Lawnchair%20is%20a%20free%2C%20open-source%20home%20app%20for%20Android.%20(NOTE%3A%20This%20is%20the%20debug%20version%20of%20Lawnchair%2C%20for%20the%20beta%2Fstable%20versions%20see%20%5C%5C%5C%22Lawnchair%5C%5C%5C%22)%5C%22%7D%22%7D
[GitHub link]: https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly

View File

@@ -3,7 +3,7 @@
## Supported Versions
> [!WARNING]
> Lawnchair v2 (Play Store version) is **unsupported**. Use the newer versions instead.
> [Lawnchair Legacy](https://play.google.com/store/apps/details?id=ch.deletescape.lawnchair.plah) is **unsupported**. Use the newer versions instead.
> See [this FAQ page](https://lawnchair.app/faq#do-you-still-support-the-play-store-version) for additional information.
The latest version of Lawnchair is the only supported version.
@@ -11,12 +11,13 @@ The latest version of Lawnchair is the only supported version.
| Version | Supported |
| -------------- | ------------------ |
| Nightly build | :white_check_mark: |
| 14 | :white_check_mark: |
| 15 | :white_check_mark: |
| 14 | :x: |
| 13 | :x: |
| 12.1 | :x: |
| 12 | :x: |
| 11 | :x: |
| Older (legacy) | :x: |
| Older (Legacy) | :x: |
## Reporting Security issues
@@ -24,7 +25,7 @@ We appreciate your efforts to responsibly disclose your findings and will make e
acknowledge your contributions.
To report an issue, please file a [security advisory](https://github.com/LawnchairLauncher/lawnchair/security/advisories/new)
or contact a developer (can be found in the about page of the app) in Telegram or Discord and
state your security vulnerability starting with the words "**SECURITY**".
or contact a developer (can be found in the about page of the app) in [Telegram](https://t.me/lccommunity) or [Discord](https://discord.com/invite/3x8qNWxgGZ) and
state your security vulnerability starting with the words "**SECURITY**"
We'll endeavour to respond quickly, and will keep you updated throughout the process.
We'll endeavor to respond quickly, and will keep you updated throughout the process.

View File

@@ -126,7 +126,7 @@ final def ciRunNumber = System.getenv("GITHUB_RUN_NUMBER") ?: ""
final def isReleaseBuild = ciBuild && ciRef.contains("beta")
final def devReleaseName = ciBuild ? "Dev.(#${ciRunNumber})" : "Dev.(${buildCommit})"
final def version = "15"
final def releaseName = "Beta 3"
final def releaseName = "Beta 1"
final def versionDisplayName = "${version}.${isReleaseBuild ? releaseName : devReleaseName}"
final def majorVersion = versionDisplayName.split("\\.")[0]
@@ -136,9 +136,9 @@ final def quickstepMaxSdk = "35"
android {
namespace "com.android.launcher3"
defaultConfig {
// Lawnchair Launcher 14.0 Beta 3
// Lawnchair Launcher 15.0 Beta 1
// See CONTRIBUTING.md#versioning-scheme
versionCode 15_00_00_00
versionCode 15_00_02_01
versionName "${versionDisplayName}"
buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\""
buildConfigField "String", "MAJOR_VERSION", "\"${majorVersion}\""

View File

@@ -12,3 +12,4 @@ refers to the compatibility code for that specific Android version.
| compatLibVS | 12 |
| compatLibVT | 13 |
| compatLibVU | 14 |
| compatLibVV | 15 |

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 KiB

After

Width:  |  Height:  |  Size: 587 KiB

View File

@@ -1,3 +1,5 @@
# SystemUI Module
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/packages/SystemUI/
This directory contains all of the required SystemUI modules. Some examples of modules include `Common`, which serves as a helper for other SystemUI modules, and `Unfold`, which handles devices with hinges.
Upstream source code: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/packages/SystemUI/