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

Pave path v4 #1

Closed
wants to merge 31 commits into from
Closed
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
13ac370
Update information to LC15
validcube Nov 6, 2024
ee23852
LC15 Screenshot
validcube Nov 6, 2024
368db3e
Apply suggestion from code-reviewer
validcube Nov 17, 2024
e5d960b
Apply suggestion from code-reviewer
validcube Nov 17, 2024
289b902
Installation badges and cert hash
validcube Nov 17, 2024
ea3c8fe
Update Crowdin branch to 15
validcube Nov 24, 2024
1716c8e
Merge Canary and Development
validcube Nov 24, 2024
cb36eb5
Update styling of cert hash
validcube Nov 24, 2024
d154cb5
Merge branch '15-dev' into pave-path-v4
validcube Nov 29, 2024
e8086eb
Update compatlib
validcube Dec 1, 2024
fa4447e
Merge branch '15-dev' into pave-path-v4
validcube Dec 6, 2024
fbd8e4b
Update for Unified SystemUI
validcube Dec 7, 2024
873bbca
Improve dev build
validcube Dec 7, 2024
309901e
Consistency + Update local fonts
validcube Dec 7, 2024
6f6fe61
Consistency with ToC
validcube Dec 7, 2024
b869cce
Fix awkward
validcube Dec 7, 2024
1e48e17
Link to Smartspacer
validcube Dec 7, 2024
6ec8819
Update visual to LC15
validcube Dec 7, 2024
135d549
Merge branch '15-dev' into pave-path-v4
validcube Dec 7, 2024
fed5ced
Merge suggestion from GitHub Copilot Code Review
validcube Dec 7, 2024
2cf67ea
Fix typos and grammar in README files (GitHub Copilot Review)
validcube Dec 7, 2024
c912439
English Accent Consistency
validcube Dec 7, 2024
d40a1c4
Windows Canary Phone Link compression is the worst
validcube Dec 7, 2024
37238e7
Apply suggestions from code review
validcube Dec 12, 2024
2f22812
Update release phase, security policy, and versioning
validcube Dec 12, 2024
473a19b
Update systemUI/README.md
validcube Dec 12, 2024
4d0ea54
Update README: Lawnchair 15 alpha to beta
validcube Dec 12, 2024
a4c4043
Use development instead of beta
validcube Dec 12, 2024
c81fd4c
Update CONTRIBUTING.md
validcube Dec 12, 2024
b6ce95c
Give subtle Google Developer Style guidelines
validcube Dec 12, 2024
a75e62f
Update SECURITY.md
validcube Dec 12, 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 .github/workflows/crowdin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/crowdin_download.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/crowdin_upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
31 changes: 19 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<img alt="" src="docs/assets/lawnchair-round.webp" width="100">
</picture>

First and foremost, welcome to the **Lawnchair** Contributing Guidelines!
First and foremost, welcome to the **Lawnchair** Contributing Guidelines! 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)
> We recommend that Lawnchair [Nightly](https://github.com/LawnchairLauncher/lawnchair/releases/tag/nightly)
> build be used in your report as they contain 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
Expand All @@ -33,7 +33,7 @@ For translation, visit [Lawnchair on Crowdin](https://lawnchair.crowdin.com) and
### 🧑‍💻 Code

> [!NOTE]
> For Lawnchair 9 to 13, see the branches with the `9-` to `13-` prefixes respectively.
> For Lawnchair 9 to 14, see the branches with the `9-` to `14-` prefixes respectively.
Copy link
Preview

Copilot AI Dec 7, 2024

Choose a reason for hiding this comment

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

The sentence should be 'For Lawnchair 9 to 14, see the branches with the 9- to 14- prefixes, respectively.'

Suggested change
> For Lawnchair 9 to 14, see the branches with the `9-` to `14-` prefixes respectively.
> For Lawnchair 9 to 14, see the branches with the `9-` to `14-` prefixes, respectively.

Copilot is powered by AI, so mistakes are possible. Review output carefully before use.

Positive Feedback
Negative Feedback

Provide additional feedback

Please help us improve GitHub Copilot by sharing more details about this comment.

Please select one or more of the options

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/).
Expand All @@ -51,19 +51,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 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.
- [The `lawnchair` package](https://github.com/LawnchairLauncher/lawnchair/tree/15-dev/lawnchair) houses Lawnchair’s 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

Expand Down Expand Up @@ -125,3 +126,9 @@ 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 the font listing on Lawnchair, follow a step to [acquire your Google Fonts Developer API key](https://developers.google.com/fonts/docs/developer_api#APIKey), once you've got your API key, append `?key=API_KEY` to https://www.googleapis.com/webfonts/v1/webfonts then replace the content of [`google_fonts.json`](lawnchair/assets/google_fonts.json) with the response of the API.
69 changes: 58 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -17,23 +17,65 @@
<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 Launcher3Android’s 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 Launcher3Android’s 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 alpha 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:** Get information *At a Glance* with support for Smartspacer extensions.
Copy link
Preview

Copilot AI Dec 13, 2024

Choose a reason for hiding this comment

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

The phrase 'Material You Theming' should be 'Material You theming' for consistency with capitalization rules.

Suggested change
- **Material You Theming:** Adapts to your wallpaper and system theme.
- **Material You theming:** Adapts to your wallpaper and system theme.

Copilot is powered by AI, so mistakes are possible. Review output carefully before use.

Positive Feedback
Negative Feedback

Provide additional feedback

Please help us improve GitHub Copilot by sharing more details about this comment.

Please select one or more of the options
- **QuickSwitch Support:** Seamlessly integrate itself as recent apps provider (requires root on Android 10 and newer).
- **Global Search:** Find apps, contacts, and web results quickly from your home screen.
- **Highly customizable:** Customize 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 the Play Store will install as a different app from other sources and features may be restricted to comply with the publishing rules.

### Development builds

Interested in keeping yourself up-to-date with every Lawnchair development? Try our development build, these build offered the latest features and bug fixes at a cost of being slower and *might* introduce new bugs that have never been seen in stable. If you'd like to join in the fun, don't forget to make backup(s) and proceed with cautions.

Copy link
Preview

Copilot AI Dec 7, 2024

Choose a reason for hiding this comment

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

The phrase 'these build offered' should be 'these builds offer'.

Suggested change
Interested in keeping yourself up-to-date with every Lawnchair development? Try our development build, these build offered the latest features and bug fixes at a cost of being slower and *might* introduce new bugs that have never been seen in stable. If you'd like to join in the fun, don't forget to make backup(s) and proceed with cautions.
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 *might* introduce new bugs that have never been seen in stable. If you'd like to join in the fun, don't forget to make backup(s) and proceed with cautions.

Copilot is powered by AI, so mistakes are possible. Review output carefully before use.

Positive Feedback
Negative Feedback

Provide additional feedback

Please help us improve GitHub Copilot by sharing more details about this comment.

Please select one or more of the options
**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

Expand All @@ -44,6 +86,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
15 changes: 11 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@
# Security Policy

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

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

| 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

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
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.
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "Alpha 1"
final def versionDisplayName = "${version}.${isReleaseBuild ? releaseName : devReleaseName}"
final def majorVersion = versionDisplayName.split("\\.")[0]

Expand All @@ -136,9 +136,9 @@ final def quickstepMaxSdk = "35"
android {
namespace "com.android.launcher3"
defaultConfig {
// Lawnchair Launcher 14.0 Beta 3
// Lawnchair Launcher 15.0 Alpha 1
// See CONTRIBUTING.md#versioning-scheme
versionCode 15_00_00_00
versionCode 15_00_01_01
versionName "${versionDisplayName}"
buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\""
buildConfigField "String", "MAJOR_VERSION", "\"${majorVersion}\""
Expand Down
1 change: 1 addition & 0 deletions compatLib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ refers to the compatibility code for that specific Android version.
| compatLibVS | 12 |
| compatLibVT | 13 |
| compatLibVU | 14 |
| compatLibVV | 15 |
Binary file added docs/assets/badge-github.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/assets/badge-google-play.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/assets/badge-izzyondroid.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/assets/badge-obtainium.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 modified docs/assets/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.
4 changes: 3 additions & 1 deletion systemUI/README.md
Original file line number Diff line number Diff line change
@@ -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 module like Common as helper for other SystemUI modules like Unfold for handling device with hinge.

See: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/packages/SystemUI/
Loading