Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Lawnchair documentation #4370

Merged
merged 52 commits into from
May 25, 2024
Merged
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
ab8b659
Lawnchair Round asset
validcube May 6, 2024
152dcbc
Delete .github/lawnchair_round.png
validcube May 6, 2024
5e59d17
Add files via upload
validcube May 6, 2024
1337250
Rename lawnchair_round(2).png to lawnchair_round.png
validcube May 6, 2024
a021cd7
Create CONTRIBUTING.md
validcube May 6, 2024
df79c37
Proofread contribution guidelines
JovannMC May 6, 2024
d231012
Format with prettier, add alt text
JovannMC May 6, 2024
d567cf0
Address code review changes
JovannMC May 6, 2024
d84a018
Format
validcube May 6, 2024
787ec15
Apply suggestions from code review
JovannMC May 6, 2024
a6eaada
Clarify release type table
JovannMC May 6, 2024
936db10
Merge branch 'pave-path' of https://github.com/JovannMC/lawnchair int…
JovannMC May 6, 2024
f02a69e
Merge pull request #5 from JovannMC/pave-path
validcube May 7, 2024
95b5aef
Merge branch 'LawnchairLauncher:14-dev' into pave-path
validcube May 7, 2024
155c56b
Add files via upload
validcube May 7, 2024
4f19318
Update asset
validcube May 7, 2024
ac0e499
Beautify
validcube May 7, 2024
f100946
Copybara!
validcube May 7, 2024
c49f568
Merge branch 'pave-path' of https://github.com/validcube/lawnchair in…
validcube May 7, 2024
521812c
Indentation effect
validcube May 7, 2024
3f42509
2.0
validcube May 7, 2024
16e815f
2.1
validcube May 7, 2024
f85032e
2.2
validcube May 7, 2024
ffddf39
3.0
validcube May 7, 2024
b46ba5a
Fix markdown format clashing with HTML
validcube May 7, 2024
e796f07
Refer to Lawnchair instead
validcube May 7, 2024
1188966
Screenshot
validcube May 7, 2024
0fdc977
Improve formatting
validcube May 7, 2024
5350b60
Screenshot later?
validcube May 7, 2024
882c2f0
Merge branch 'pave-path' of https://github.com/validcube/lawnchair in…
validcube May 7, 2024
c07c5f3
Update README.md
validcube May 7, 2024
f9364ed
Update README.md
validcube May 7, 2024
ab4dd63
Update README.md
validcube May 7, 2024
f8bac90
Shrink lawnchair-round from 200kb to just 17kb
validcube May 8, 2024
32a897b
Dark variant of visual
validcube May 8, 2024
a88d37b
Better word
validcube May 8, 2024
453ca5f
Final proofread of .md files
JovannMC May 8, 2024
943b6fb
Formatting of .md files via prettier
JovannMC May 8, 2024
701fd3d
remove additional space
JovannMC May 8, 2024
9a97844
Merge branch 'pave-path' into pave-path
JovannMC May 8, 2024
77be218
Update CONTRIBUTING.md
validcube May 8, 2024
5c4f3a8
Merge pull request #6 from JovannMC/pave-path
validcube May 8, 2024
0456814
Avoid decoration being clickable
validcube May 10, 2024
adb1a85
Devices screenshot!!!!!
validcube May 10, 2024
8f319e2
🔮 Merge repository updated to latest snapshot!
validcube May 17, 2024
b13e4a3
🔮 Merge repository updated to latest snapshot!
validcube May 17, 2024
d1eae5b
Apply suggestions from code review
JovannMC May 25, 2024
50967ab
Address code review suggestions
JovannMC May 25, 2024
783151f
Format with prettier
JovannMC May 25, 2024
e8c3555
Merge branch '14-dev' into pave-path
JovannMC May 25, 2024
5f0c9dc
Merge branch '14-dev' into pave-path
JovannMC May 25, 2024
459c987
Hardcode 250px for image
JovannMC May 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
Expand Down
99 changes: 99 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Lawnchair Contributing Guidelines

<picture>
<!-- Avoid image being clickable with slight workaround --->
<source media="(prefers-color-scheme: dark)" srcset="docs/lawnchair-round.webp" width="100">
<img alt="" src="docs/lawnchair-round.webp" width="100">
</picture>

First and foremost, welcome to the **Lawnchair** Contributing Guidelines!

### 💫 Bug reports & feature requests

For bug reports, please describe the bug in detail to the best of your ability
and steps on how to reproduce it. If applicable, attach log files.

For feature requests, please describe the feature you'd like to see added to Lawnchair.
If applicable, attach log files.

Please make sure to be civil during discussion of your contribution (refer to 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);
- Lawnchair uses title case for some English UI text while other languages do not use title case; opt for sentence case instead;
- 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 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.

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/).

> [!IMPORTANT]
> You can use Git to clone the repository; ensure that you include the project’s submodules using the `recursive` flag:
>
> ```
> git clone --recursive https://github.com/LawnchairLauncher/lawnchair.git
> ```

To build **Lawnchair**, select the `lawnWithQuickstepGithubDebug` build type.
Should you face errors relating to the `iconloaderlib` and `searchuilib` projects,
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`.
- 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 Lawnchair’s 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.

#### Additional documentation

- 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))

#### Versioning scheme

As of [#4361](https://github.com/LawnchairLauncher/lawnchair/pull/4361),
Lawnchair’s version code is separated by four parts:

<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/version-dark.svg" width="98%">
<img alt="" src="docs/version-light.svg" width="98%">
<!-- Direct the accessibility reader to read the point below --->
</picture>
</p>

1. Android's major version
2. Android's minor version
3. Lawnchair's development status
4. Lawnchair's development version

##### Android's major & minor versions

These make up the first two parts of the version code.
For example: Android 11 will be `11_00_XX_XX` while Android 12.1 will be `12_01_XX_XX`.

##### Development status & version

The third part of the version code indicates Lawnchair's stability status, while the fourth part indicates the version number.

For example, Alpha 4's version code will be `XX_XX_01_04`.

See the table below detailing the release type:

| Status | Stage |
| ----------------- | ----- |
| Alpha | 01 |
| Beta | 02 |
| Release Candidate | 03 |
| Release | 04 |
58 changes: 25 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,48 +6,40 @@
[![Telegram](https://img.shields.io/endpoint?url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Flccommunity)](https://t.me/lccommunity)
[![Discord](https://img.shields.io/discord/803299970169700402?label=server&logo=discord)](https://discord.gg/3x8qNWxgGZ)

<img src="https://lawnchair.app/images/lawnchair.webp" width="100" style="border-radius: 50%">
Lawnchair is a free, open-source home app for Android. Taking Launcher3 — Android’s default home app — as a starting point, it ports Pixel Launcher features and introduces rich options for customization.

This branch houses the codebase of Lawnchair 14, currently in development and based on Launcher3 from Android 14. For Lawnchair 9 to 13, see the branches with the `9-` to `13-` prefixes, respectively.
JovannMC marked this conversation as resolved.
Show resolved Hide resolved

## Contribute code

Whether you’ve fixed a bug or introduced a new feature, we welcome pull requests! (If you’d like to make a larger change and check with us first, you can do so via [Lawnchair’s Telegram group chat](https://t.me/lawnchairci).) To help translate Lawnchair 14 instead, please see “[Translate](#translate).”

You can use Git to clone this repository:
<picture>
<!-- Avoid image being clickable with slight workaround --->
<!-- ❤️ Credit to Raine on the Lawnchair Discord --->
<source media="(prefers-color-scheme: dark)" srcset="docs/device-frame.png" width="15%">
<img alt="Google Pixel running Lawnchair Launcher with green wallpaper" src="docs/device-frame.png" width="15%">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tested it on small devices, and it's quite small due to the 15% width.

How about we hardcode it to about 250-300px in width? I personally prefer 300px, as it matches the Lawnchair website.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

250px seems to be a good size for this

</picture>

```
git clone --recursive https://github.com/LawnchairLauncher/lawnchair.git
```

To build the app, select the `lawnWithQuickstepDebug` build type. Should you face errors relating to the `iconloaderlib` and `searchuilib` projects, run `git submodule update --init --recursive`.

Here are a few contribution tips:

- [The `lawnchair` package](https://github.com/LawnchairLauncher/lawnchair/tree/14-dev/lawnchair) houses Lawnchair’s 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.

- You can use either Java or, preferably, Kotlin.
Lawnchair is a free, open-source home app for Android. Taking Launcher3 — Android’s default home app — as a starting point, it ports Pixel Launcher features and introduces rich options for customization.

- 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).
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.

- Set `14-dev` as the base branch for pull requests.
## Features

## Translate
- 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
- And more!

You can help translate Lawnchair 14 [on Crowdin](https://lawnchair.crowdin.com/lawnchair). Here are a few tips:
## Download

- When using quotation marks, insert the symbols specific to the target language, as listed in [this table](https://en.wikipedia.org/wiki/Quotation_mark#Summary_table).
See the [Releases](https://github.com/LawnchairLauncher/lawnchair/releases) section for the latest
beta build. For development builds with new icons, use the nightly builds.

- Lawnchair uses title case for some English UI text. Title case isn’t used in other languages; opt for sentence case instead.
## Contributing

- Some English terminology may have no commonly used equivalents in other languages. In such cases, use short descriptive phrases—for example, the equivalent of _bottom row_ for _dock_.
Please visit the [Lawnchair Contributing Guidelines](CONTRIBUTING.md) for information and tips on contributing to Lawnchair.

## Quick links

- [News](https://t.me/lawnchairci)
- [Lawnchair on Twitter](https://twitter.com/lawnchairapp)
- [Website](https://lawnchair.app)
- [_XDA_ thread](https://forum.xda-developers.com/t/lawnchair-customizable-pixel-launcher.3627137/)
- [News](https://t.me/lawnchairci)
- [Lawnchair on Twitter](https://twitter.com/lawnchairapp)
- [Website](https://lawnchair.app)
- [_XDA_ thread](https://forum.xda-developers.com/t/lawnchair-customizable-pixel-launcher.3627137/)

You can view all our links [in the Lawnchair Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki).
You can view all our links in the [Lawnchair Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki).
32 changes: 19 additions & 13 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
# Security Policy

## Supported Versions
> [!NOTE]
> Lawnchair v2 (Play Store version) is **unsupported**. Use the newer alphas instead. See [this FAQ page](https://lawnchair.app/faq#do-you-still-support-the-play-store-version) for additional information.

> [!WARNING]
> Lawnchair v2 (Play Store version) is **unsupported**. Use the newer alphas 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.
| Version | Supported |
| ------- | ------------------ |
| 14 | :white_check_mark: |
| 13 | :x: |
| 12.1 | :x: |
| 12 | :x: |
| 11 | :x: |
| v2 | :x: |
| v1 | :x: |

| Version | Supported |
| -------------- | ------------------ |
| 14 | :white_check_mark: |
| 13 | :x: |
| 12.1 | :x: |
| 12 | :x: |
| 11 | :x: |
| Older (legacy) | :x: |

## Reporting Security issues
We appreciate your efforts to responsibly disclose your findings and will make every effort to acknowledge your contributions.

To report an issue, please 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".
We appreciate your efforts to responsibly disclose your findings and will make every effort to
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**".

We'll endeavour to respond quickly, and will keep you updated throughout the process.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ android {
namespace "com.android.launcher3"
defaultConfig {
// Lawnchair Launcher 14.0 Beta 2
// Android 14, Minor 0, Lawnchair Stage 2 (Beta), Update No 2
// See CONTRIBUTING.md#versioning-scheme
versionCode 14_00_02_02
versionName "${versionDisplayName}"
buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\""
Expand Down
15 changes: 14 additions & 1 deletion compatLib/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
# Lawnchair Quickstep Compat Lib
# Lawnchair Quickstep Compat Library

The `compatLib` library helps integrate Lawnchair with QuickSwitch while ensuring backward-compatibility with older Android versions.

Each subdirectory of the `compatLib`, denoted by a letter (e.g., `compatLibVQ` for Android 10),
refers to the compatibility code for that specific Android version.

| Library | Android version |
|-------------|-----------------|
| compatLibVQ | 10 |
| compatLibVR | 11 |
| compatLibVS | 12 |
| compatLibVT | 13 |
| compatLibVU | 14 |
Binary file added docs/device-frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/lawnchair-round.webp
Binary file not shown.
Loading