Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/upstream' into trunk
Browse files Browse the repository at this point in the history
# Conflicts:
#	.github/workflows/crowdin.yml
#	.github/workflows/crowdin_download.yml
#	.github/workflows/crowdin_upload.yml
#	README.md
#	build.gradle
  • Loading branch information
Goooler committed May 31, 2024
2 parents 4f99bef + 06141ad commit 033accd
Show file tree
Hide file tree
Showing 47 changed files with 648 additions and 296 deletions.
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 |
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.
14 changes: 7 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ allprojects {
}
dependencies {
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
}
}

Expand Down Expand Up @@ -349,12 +349,12 @@ dependencies {
implementation "androidx.compose.material:material-icons-extended"
implementation "androidx.compose.material:material"
implementation "androidx.compose.runtime:runtime-livedata"
implementation 'androidx.compose.material3:material3:1.3.0-beta01'
implementation 'androidx.compose.material3:material3-window-size-class:1.3.0-beta01'
implementation 'androidx.compose.material3:material3:1.3.0-beta02'
implementation 'androidx.compose.material3:material3-window-size-class:1.3.0-beta02'
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation "androidx.activity:activity-compose:1.9.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.0"
implementation "androidx.navigation:navigation-compose:2.7.7"
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.1"
implementation "androidx.navigation:navigation-compose:2.8.0-beta02"
implementation "androidx.palette:palette-ktx:1.0.0"
implementation "androidx.slice:slice-core:1.1.0-alpha02"
def accompanistVersion = '0.34.0'
Expand Down Expand Up @@ -385,7 +385,7 @@ dependencies {
// Persian Date
implementation 'com.github.samanzamani:PersianDate:1.7.1'

implementation 'com.airbnb.android:lottie:6.4.0'
implementation 'com.airbnb.android:lottie:6.4.1'

// Smartspacer
implementation('com.kieronquinn.smartspacer:sdk-client:1.0.10') {
Expand All @@ -408,7 +408,7 @@ spotless {
kotlin {
target("lawnchair/src/**/*.kt")
ktlint().customRuleSets([
"io.nlopez.compose.rules:ktlint:0.4.1",
"io.nlopez.compose.rules:ktlint:0.4.3",
]).editorConfigOverride([
"ktlint_compose_compositionlocal-allowlist": "disabled",
])
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

0 comments on commit 033accd

Please sign in to comment.