docs: Consolidate and update documentation (#6616)
Refactor, copyedit, and cleanup documentation to reflect new changes regarding Lawnchair's repository. Also slightly update issue templates to remove a few redundancies.
This commit is contained in:
1 parent
41ca33f0ea
commit
7977e980c2
12 files changed
+134
-182
No files matched your search
@@ -1,6 +1,5 @@
|
||||
name: Bug report
|
||||
description: Create a report to help us address issues you are facing with the app.
|
||||
title: "[BUG] "
|
||||
labels: [bug, 'status: needs triage']
|
||||
type: Bug
|
||||
body:
|
||||
@@ -8,9 +7,9 @@ body:
|
||||
attributes:
|
||||
value: |
|
||||
> [!IMPORTANT]
|
||||
> Lawnchair's issue tracker is maintained on a best-effort basis — due to limited resources, we do not guarantee that all issues will be triaged or checked by the developers.
|
||||
> If you wish to help triage Lawnchair's issues, visit [#4232](https://github.com/LawnchairLauncher/lawnchair/issues/4232) for more information.
|
||||
|
||||
> Lawnchair's issue tracker is maintained on a best-effort basis.
|
||||
> Due to limited resources, we do not guarantee that all issues will be triaged or checked by the developers.
|
||||
|
||||
Thanks for taking the time to file this issue! Here are a few things to do before submitting:
|
||||
1. Use the [**latest nightly version**](https://github.com/LawnchairLauncher/lawnchair#development-builds) when reporting bugs.
|
||||
2. [**Read the FAQ**](https://lawnchair.app/faq/#common-issues) for common issues; if it is, please don't create an issue about it.
|
||||
@@ -70,7 +69,7 @@ body:
|
||||
label: App version
|
||||
description: |
|
||||
Open Lawnchair settings > About to view the app version.
|
||||
|
||||
|
||||
On nightly builds, **long-press** the version name and paste the GitHub link here.
|
||||
placeholder: |
|
||||
15 Beta 1
|
||||
@@ -83,7 +82,7 @@ body:
|
||||
label: Additional context
|
||||
description: |
|
||||
Add any other context about the problem here.
|
||||
|
||||
|
||||
If this is a crash report, paste or link the crash message here.
|
||||
placeholder: |
|
||||
Crash log: https://katb.in/examplelink
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
name: Feature request
|
||||
description: Suggest features you want the developers (or contributors) to make for the launcher.
|
||||
title: "[FEATURE] "
|
||||
labels: [feature-request, 'status: needs triage']
|
||||
type: Feature
|
||||
body:
|
||||
@@ -9,8 +8,7 @@ body:
|
||||
value: |
|
||||
> [!IMPORTANT]
|
||||
> Lawnchair's issue tracker is maintained on a best-effort basis — due to limited resources, we do not guarantee that all issues will be triaged or checked by the developers.
|
||||
> If you wish to help triage Lawnchair's issues, visit [#4232](https://github.com/LawnchairLauncher/lawnchair/issues/4232) for more information.
|
||||
|
||||
|
||||
Thanks for taking the time to file this issue! Here are a few things to do before submitting:
|
||||
1. Use the [**latest nightly version**](https://github.com/LawnchairLauncher/lawnchair#development-builds) when requesting.
|
||||
2. [**Read the FAQ**](https://lawnchair.app/faq) to check if your request is already planned by the developers.
|
||||
@@ -41,7 +39,7 @@ body:
|
||||
description: |
|
||||
See [this FAQ page](https://lawnchair.app/faq/#what-happened-to-lawnchair-legacy) for more info about Lawnchair Legacy, previously
|
||||
known as Lawnchair 2.
|
||||
|
||||
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
|
||||
+46
-65
@@ -1,76 +1,64 @@
|
||||
# Lawnchair contributing guidelines
|
||||
|
||||
<picture>
|
||||
<!-- Avoid image being clickable with slight workaround --->
|
||||
<!-- Workaround to prevent the image from being clickable --->
|
||||
<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>
|
||||
|
||||
Welcome to the **Lawnchair** project. We appreciate your interest in contributing. For questions,
|
||||
Welcome to the **Lawnchair** project. We appreciate your interest in contributing. If you have
|
||||
questions,
|
||||
feel free to reach out on [Telegram][telegram] or [Discord][discord].
|
||||
|
||||
## No-code contributions
|
||||
|
||||
### Bug reports and feature requests
|
||||
|
||||
> [!TIP]
|
||||
> Use the [Lawnchair Nightly builds][nightly] when reporting bugs, as your issue may have already
|
||||
> been fixed.
|
||||
|
||||
> [!WARNING]
|
||||
> For [security vulnerability][security-report], please do not open an issue. Instead, follow
|
||||
> the instructions in our [Security Policy][security-policy].
|
||||
|
||||
- For **[bug reports][bug-reports]**, please be as detailed as possible and provide clear steps to
|
||||
reproduce the issue.
|
||||
- For **[feature requests][feature-requests]**, clearly describe the feature and its potential
|
||||
benefits.
|
||||
- For security vulnerabilities, follow the instructions in our [Security Policy][security-policy]
|
||||
- For translations, visit **[Lawnchair on Crowdin][crowdin]**.
|
||||
- For documentation, follow
|
||||
the [developer documentation style guide](https://developers.google.com/style) of Google.
|
||||
|
||||
Please be civil, as outlined in our [Code of Conduct][code-of-conduct].
|
||||
**Tips for contributing**
|
||||
|
||||
### Translations
|
||||
|
||||
For translations, please visit **[Lawnchair on Crowdin][crowdin]**.
|
||||
- Follow our [Code of Conduct][code-of-conduct].
|
||||
- Use Lawnchair's [Nightly builds][nightly] before creating issues.
|
||||
|
||||
## Contributing code
|
||||
|
||||
### Getting started
|
||||
|
||||
1. Clone the repository with the `--recursive` flag to include the project's
|
||||
submodules.
|
||||
1. Clone the repository with the `--recursive` flag to include the project's submodules:
|
||||
```bash
|
||||
git clone --recursive https://github.com/LawnchairLauncher/lawnchair.git
|
||||
```
|
||||
2. Open the project in Android Studio.
|
||||
3. Select the `lawnWithQuickstepGithubDebug` build variant.
|
||||
|
||||
If you encounter errors with modules that ends with `lib` suffix like `iconloaderlib` or `searchuilib`,
|
||||
run `git submodule update --init --recursive`.
|
||||
If you encounter errors with modules that end with the `lib` suffix, such as `iconloaderlib` or
|
||||
`searchuilib`, 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
|
||||
`16-dev`.
|
||||
- Make sure your code is logical and well-formatted. If using Kotlin,
|
||||
see [“Coding conventions” in the Kotlin documentation][kotlin-coding-conventions];
|
||||
- [The `lawnchair` package][lawnchair-package]
|
||||
houses Lawnchair’s own code, whereas [the `src` package][src-package] includes a clone of
|
||||
the Launcher3 codebase with modifications. Generally, place new files in the former,
|
||||
keeping changes to the latter to a minimum.
|
||||
- Ensure you are up to date with **Lawnchair** by setting your base branch to `16-dev`.
|
||||
- Make sure your code is logical and formatted correctly. For Kotlin, see
|
||||
the [Kotlin coding conventions][kotlin-coding-conventions].
|
||||
- [The `lawnchair` package][lawnchair-package] houses Lawnchair’s own code, whereas [the
|
||||
`src` package][src-package] includes a clone of the Launcher3 codebase with modifications.
|
||||
Generally, place new files in the former and keep changes to the latter to a minimum.
|
||||
|
||||
### Additional documentation
|
||||
|
||||
- [Lawnchair roadmap](ROADMAP.md)
|
||||
- [Lawnchair verification](VERIFICATION.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)
|
||||
- [Lawnchair Platform Frameworks Library SystemUI](platform_frameworks_libs_systemui/README.md)
|
||||
- [SystemUI Module](systemUI/README.md)
|
||||
- [ViewCapture](systemUI/viewcapture/README.md)
|
||||
- [Common](systemUI/common/README.md)
|
||||
- [Prebuilt Library](prebuilts/libs/README.md)
|
||||
- [Roadmap](ROADMAP.md)
|
||||
- [Wiki](https://github.com/LawnchairLauncher/lawnchair/wiki)
|
||||
- [Visual guidelines](/docs/assets/README.md)
|
||||
- [`compatLib` module](compatLib/README.md)
|
||||
- [`preferences` directory](lawnchair/src/app/lawnchair/ui/preferences/components/README.md)
|
||||
- [`libs/systemui` framework module](platform_frameworks_libs_systemui/README.md)
|
||||
- [`packages/SystemUI` app](systemUI/README.md)
|
||||
- [Prebuilt libraries](prebuilts/libs/README.md)
|
||||
|
||||
### Development workflow
|
||||
|
||||
@@ -90,7 +78,7 @@ We follow the **[Conventional Commits specification][conventional-commits]**.
|
||||
|
||||
* **Format:** `type(scope): subject`
|
||||
* **Example:** `feat(settings): Add toggle for new feature`
|
||||
* **Allowed Types:** `feat`, `fix`, `style`, `refactor`, `perf`, `docs`, `test`, `chore`.
|
||||
* **Allowed types:** `feat`, `fix`, `style`, `refactor`, `perf`, `docs`, `test`, `chore`.
|
||||
|
||||
### Versioning scheme
|
||||
|
||||
@@ -110,9 +98,9 @@ Lawnchair’s version code is composed of five parts, separated by underscores:
|
||||
4. Lawnchair development version
|
||||
5. Revision/Release number
|
||||
|
||||
#### Lawnchair development stage
|
||||
#### Lawnchair development stages
|
||||
|
||||
This table show list of development stages in use by Lawnchair:
|
||||
The following table lists the development stages used by Lawnchair:
|
||||
|
||||
| Stage | Denote |
|
||||
|-------------------|--------|
|
||||
@@ -122,39 +110,33 @@ This table show list of development stages in use by Lawnchair:
|
||||
| Release Candidate | 03 |
|
||||
| Release | 04 |
|
||||
|
||||
### String naming
|
||||
### `string.xml` naming
|
||||
|
||||
Strings `names` in `strings.xml` should follow this format:
|
||||
String `name` attributes in `strings.xml` should follow this format:
|
||||
|
||||
| Type | Format | Example usage | Actual string | Other information |
|
||||
|--------------------------------------------------|-------------------|----------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------|
|
||||
| Generic word | $1 | `disagree_or_agree` | Disagree or agree | Should only be used if it doesn't fit the below categories |
|
||||
| Action | $1_action | `apply_action` | Apply | Any generic action verb can fit here |
|
||||
| Preference or popup label<br/>Preference headers | $1_label | `folders_label` | Folders | |
|
||||
| Preference or popup description | $1_description | `folders_description` | Row and column count | |
|
||||
| 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 |
|
||||
| Type | Format | Example usage | Actual string | Other information |
|
||||
|--------------------------------------------------|-------------------|----------------------------|----------------------|----------------------------------------------------------------------------------------------------|
|
||||
| Generic word | $1 | `disagree_or_agree` | Disagree or agree | Should only be used if it doesn't fit the categories below. |
|
||||
| Action | $1_action | `apply_action` | Apply | Any generic action verb fits here. |
|
||||
| Preference or popup label<br/>Preference headers | $1_label | `folders_label` | Folders | |
|
||||
| Preference or popup description | $1_description | `folders_description` | Row and column count | |
|
||||
| Preference choice | $1_choice | `off_choice` | Off | |
|
||||
| Feature string | (feature_name)_$1 | `colorpicker_hsb` | HSB | Feature strings 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
|
||||
### Updating the locally stored Google Fonts 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.
|
||||
Fonts. This file should be updated periodically or before a release.
|
||||
|
||||
To update Lawnchair’s font listing, follow these steps:
|
||||
To update the font listing, follow these steps:
|
||||
|
||||
1. Get
|
||||
a [Google Fonts Developer API key][google-fonts-api-key].
|
||||
1. Obtain a [Google Fonts Developer API key][google-fonts-api-key].
|
||||
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.
|
||||
replacing `API_KEY` with your key.
|
||||
3. Replace the content of [`google_fonts.json`](lawnchair/assets/google_fonts.json) with the API
|
||||
response.
|
||||
|
||||
#### Writing or updating Lawnchair documentation
|
||||
|
||||
Lawnchair’s documentations are written in Markdown and follow a style guides from
|
||||
[Google developer documentation style guide](https://developers.google.com/style).
|
||||
|
||||
<!-- Links -->
|
||||
[telegram]: https://t.me/lccommunity
|
||||
[discord]: https://discord.com/invite/3x8qNWxgGZ
|
||||
@@ -170,4 +152,3 @@ Lawnchair’s documentations are written in Markdown and follow a style guides f
|
||||
[src-package]: https://github.com/LawnchairLauncher/lawnchair/tree/16-dev/src
|
||||
[conventional-commits]: https://www.conventionalcommits.org/en/v1.0.0/
|
||||
[google-fonts-api-key]: https://developers.google.com/fonts/docs/developer_api#APIKey
|
||||
|
||||
@@ -10,10 +10,9 @@
|
||||
[](https://play.google.com/store/apps/details?id=app.lawnchair.play)
|
||||
|
||||
> [!WARNING]
|
||||
> This branch contains major changes from the rebase of Launcher3, including breaking changes that can cause Lawnchair to break.
|
||||
>
|
||||
> If you wish to contribute, read our [contributing guidelines](CONTRIBUTING.md). This branch will undergo many changes as we slowly refactor our codebase, so the `16-dev` branch may be particularly unfriendly to new contributors.
|
||||
>
|
||||
> This branch contains major changes from the rebase of Launcher3, including changes that can cause
|
||||
> Lawnchair to crash or break.
|
||||
>
|
||||
> For regular users, we recommend staying on **Lawnchair 15 Beta 2.1**.
|
||||
|
||||
<picture>
|
||||
@@ -31,12 +30,12 @@ This branch houses the codebase of Lawnchair 16, which is currently in developme
|
||||
|
||||
## Features
|
||||
|
||||
- **Material Expressive 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).
|
||||
- **QuickSwitch Support:** Integrates with Android Recents on Android 10-15 (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!
|
||||
- Material 3 Expressive theming that follows your wallpaper and system colors.
|
||||
- At a Glance widget support, with integration
|
||||
for [Smartspacer](https://github.com/KieronQuinn/Smartspacer).
|
||||
- QuickSwitch support for Android Recents integration on Android 10-15 (root required).
|
||||
- Global search for apps, contacts, and web results from the home screen.
|
||||
- Customization options for icon packs, fonts, and color settings.
|
||||
|
||||
## Download
|
||||
|
||||
@@ -76,7 +75,8 @@ You can also [verify your installation](VERIFICATION.md) to see if you have inst
|
||||
|
||||
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 performance and additional issues. Make backups before installing!
|
||||
These builds offer the latest features and bug fixes at a cost of performance and additional issues.
|
||||
Make backups before installing.
|
||||
|
||||
**Download:** [Obtainium][Obtainium link] • [GitHub][GitHub link] • [nightly.link][Nightly link]
|
||||
|
||||
|
||||
+3
-39
@@ -1,9 +1,7 @@
|
||||
# Lawnchair development roadmap
|
||||
|
||||
This document outlines our high-level strategic priorities. It's a living document, not a set of
|
||||
unbreakable promises. For the status of individual tasks, see
|
||||
our [GitHub Issue Tracker](https://github.com/LawnchairLauncher/lawnchair/issues) and our
|
||||
team's [Kanban board](https://github.com/orgs/LawnchairLauncher/projects/9/views/1).
|
||||
For the status of individual tasks, see
|
||||
our [GitHub Issue Tracker](https://github.com/LawnchairLauncher/lawnchair/issues)
|
||||
|
||||
## Vision
|
||||
|
||||
@@ -15,38 +13,4 @@ Lawnchair's goal is to be:
|
||||
|
||||
## Roadmap
|
||||
|
||||
### Recently completed
|
||||
|
||||
- **Shipped:** `15 Beta 1` to GitHub & Play Store.
|
||||
- **Completed:** A full architectural overhaul of the Search and Permissions systems.
|
||||
|
||||
### Current focus
|
||||
|
||||
This is our active development sprint. The goal is to address key bugs and deliver a highly polished
|
||||
user experience.
|
||||
|
||||
- UI/UX overhaul of all Settings screens to Material 3 Expressive.
|
||||
|
||||
### Up next
|
||||
|
||||
Once the UX overhaul is stable, our focus will shift to delivering highly-requested features that
|
||||
enhance
|
||||
customization and control.
|
||||
|
||||
- Proper icon swipe gestures
|
||||
- Folder "cover" mode
|
||||
- App drawer tabs
|
||||
|
||||
### The Android 16 rebase
|
||||
|
||||
This is the massive, foundational undertaking to migrate our codebase to the latest Android 16
|
||||
(AOSP) source. Its completion will be the foundation for our **Lawnchair 16** release.
|
||||
|
||||
**Status:** Actively in progress, led by a core community contributor.
|
||||
|
||||
### Long term or blocked
|
||||
|
||||
Highly-requested features that are blocked by external dependencies or require significant research.
|
||||
|
||||
- **Widget Stacking:** A highly complex feature requiring deep architectural investigation.
|
||||
- **QuickSwitch Stability:** An ongoing effort to mitigate upstream AOSP/OEM bugs.
|
||||
See the pinned issues for details of our current roadmap.
|
||||
+21
-19
@@ -1,32 +1,34 @@
|
||||
# Lawnchair verification
|
||||
# Verifying your Lawnchair installation
|
||||
|
||||
Lawnchair apk are cryptographically signed and can be verified using two verifications system.
|
||||
1. GitHub or SLSA attestations (Starting with Lawnchair 15 Beta 1)
|
||||
2. SHA256 of android app certificate
|
||||
Lawnchair's APKs are cryptographically signed and can be verified using two systems:
|
||||
|
||||
## SLSA Attestation (Starting with Lawnchair 15 Beta 1)
|
||||
1. GitHub / SLSA attestations (Starting with Lawnchair 15 Beta 1)
|
||||
2. SHA-256 Android app certificate fingerprints
|
||||
|
||||
Every release of Lawnchair with the exception of Nightly is attested and verified with SLSA provenance. This repository meet the requirements of SLSA-Level 2 compliance
|
||||
## SLSA attestation
|
||||
|
||||
Every Lawnchair release, starting with Lawnchair 15 Beta 1 (except Nightly builds), is attested and
|
||||
verified with SLSA provenance.
|
||||
This repository meets the requirements for SLSA Level 2 compliance.
|
||||
|
||||
> [!NOTE]
|
||||
> It is possible to verify without GitHub CLI by cross-referencing check from
|
||||
> [GitHub Attestation][github-attestation] with [Sigstore Rekor][sigstore-rekor]
|
||||
> You can verify without using the GitHub CLI by cross-referencing checks from
|
||||
> [GitHub Attestations][github-attestation] with [Sigstore Rekor][sigstore-rekor].
|
||||
|
||||
1. Install GitHub CLI
|
||||
2. Download the APK and attestation from [GitHub Attestation][github-attestation]
|
||||
3. Run `gh attestation verify APK -R LawnchairLauncher/lawnchair`, replace {APK} with the
|
||||
actual APK file
|
||||
4. Done
|
||||
1. Install the [GitHub CLI](https://cli.github.com/).
|
||||
2. Download the APK and its attestation from [GitHub Attestations][github-attestation].
|
||||
3. Run `gh attestation verify {APK} -R LawnchairLauncher/lawnchair`, replacing `{APK}` with the path
|
||||
to the downloaded APK file.
|
||||
|
||||
## Android App Certificate
|
||||
|
||||
Lawnchair have two app certificates:
|
||||
* 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`
|
||||
Lawnchair uses two app certificates, which can be verified by tools such
|
||||
as [AppVerifier][3p-appverifier]:
|
||||
|
||||
On Android, using a verification app like [AppVerifier][3p-appverifier] can ease up the verifying process.
|
||||
* **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`
|
||||
* **Direct Downloads (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`
|
||||
|
||||
[github-attestation]: https://github.com/LawnchairLauncher/lawnchair/attestations
|
||||
[sigstore-rekor]: https://search.sigstore.dev/
|
||||
|
||||
+12
-11
@@ -1,16 +1,16 @@
|
||||
# Lawnchair Quickstep Compat Library
|
||||
# Lawnchair Quickstep compat module
|
||||
|
||||
The `compatLib` library helps integrate Lawnchair with Recents
|
||||
(also known as QuickSwitch, Quickstep, or sometimes, Lawnstep)
|
||||
while ensuring backward-compatibility with older Android versions.
|
||||
The `compatLib` module provides a compatibility layer that lets Lawnchair integrate with Quickstep
|
||||
(a system component that provides the Recents screen) across different Android versions, even when
|
||||
the Quickstep implementation does not match the system version.
|
||||
|
||||
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.
|
||||
This enables Recents integration when using tools that replace the system Recents provider,
|
||||
such as QuickSwitch or the older Lawnstep app.
|
||||
|
||||
Starting with Android 16 and above, the `compatLib` will denoted by the codename of the Android version
|
||||
(e.g., `compatLibVBaklava` for Android 16).
|
||||
Each submodule is named after the Android version codename, using the first letter
|
||||
for Android 15 and below and the full codename starting from Android 16 onward.
|
||||
|
||||
| Library | Android version |
|
||||
| Module | Android version |
|
||||
|-------------------|-----------------|
|
||||
| compatLibVQ | 10 |
|
||||
| compatLibVR | 11 |
|
||||
@@ -20,5 +20,6 @@ Starting with Android 16 and above, the `compatLib` will denoted by the codename
|
||||
| compatLibVV | 15 |
|
||||
| compatLibVBaklava | 16 |
|
||||
|
||||
Keep in mind that this list does not guarantee Recents compatibility with your Android versions,
|
||||
as the implementation may still be in progress or not fully functional.
|
||||
This list does not guarantee Recents compatibility across all Android versions,
|
||||
as the implementation may be incomplete or not fully functional.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Lawnchair Assets Guidelines
|
||||
# Lawnchair assets guidelines
|
||||
|
||||
This directory lists all the decoration & visual explainers used in the Lawnchair Documentation.
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Lawnchair Prebuilt JARs
|
||||
# Lawnchair prebuilt libraries
|
||||
|
||||
Launcher3 has some dependencies on internal AOSP modules.
|
||||
To build Lawnchair, you have to build AOSP and obtain these JARs.
|
||||
|
||||
## Usage
|
||||
|
||||
Lawnchair rely on these JAR:
|
||||
Lawnchair relies on these JARs:
|
||||
|
||||
| File | Command | Android Tag | Target Configuration |
|
||||
|----------------------------|-------------------------|-----------------------------|----------------------------------------------------|
|
||||
|
||||
+31
-4
@@ -1,9 +1,36 @@
|
||||
# SystemUI Module
|
||||
|
||||
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.
|
||||
This directory contains all the required SystemUI modules, based from
|
||||
the [upstream source code](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/packages/SystemUI/)
|
||||
of the SystemUI app.
|
||||
|
||||
Upstream source code: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/packages/SystemUI/
|
||||
Some examples of modules include [`common`](#common-submodule), which serves as a helper for other
|
||||
SystemUI modules, and
|
||||
`unfold`, which handles devices with hinges.
|
||||
|
||||
## `utils` Module
|
||||
## `common` submodule
|
||||
|
||||
A stripped-down version to only include WindowManagerUtils code to be use by `wmshell`.
|
||||
`SystemUICommon` is a module that hosts standalone helper libraries. It is intended
|
||||
to be used by other modules, and therefore should not have other SystemUI dependencies to avoid
|
||||
circular dependencies.
|
||||
|
||||
To maintain the structure of this module, please refrain from adding components at the top level.
|
||||
Instead, add them to specific sub-packages, such as `systemui/common/buffer/`.
|
||||
This will help keep the module organized and easy to navigate.
|
||||
|
||||
## `utils` submodule
|
||||
|
||||
A stripped-down version to only include the `WindowManagerUtils` code used by `wmshell`.
|
||||
|
||||
### `viewcapture` submodule
|
||||
|
||||
> [!CAUTION]
|
||||
> `ViewCapture.java` is **extremely performance sensitive**.
|
||||
> **Any changes should be carried out with great caution** not to hurt performance.
|
||||
|
||||
The following measurements should serve as a performance baseline (as of 02.10.2022):
|
||||
|
||||
1. The onDraw() function invocation time in WindowListener within ViewCapture is measured with
|
||||
System.nanoTime(). The following scenario was measured:
|
||||
- Capturing the notification shade window root view on a freshly rebooted bluejay device (2
|
||||
notifications present) -> avg. time = 204237ns (0.2ms)
|
||||
@@ -1,9 +0,0 @@
|
||||
# SystemUICommon
|
||||
|
||||
`SystemUICommon` is a module within SystemUI that hosts standalone helper libraries. It is intended
|
||||
to be used by other modules, and therefore should not have other SystemUI dependencies to avoid
|
||||
circular dependencies.
|
||||
|
||||
To maintain the structure of this module, please refrain from adding components at the top level.
|
||||
Instead, add them to specific sub-packages, such as `systemui/common/buffer/`. This will help to
|
||||
keep the module organized and easy to navigate.
|
||||
@@ -1,11 +0,0 @@
|
||||
###ViewCapture Library Readme
|
||||
|
||||
ViewCapture.java is extremely performance sensitive. Any changes should be carried out with great caution not to hurt performance.
|
||||
|
||||
The following measurements should serve as a performance baseline (as of 02.10.2022):
|
||||
|
||||
|
||||
The onDraw() function invocation time in WindowListener within ViewCapture is measured with System.nanoTime(). The following scenario was measured:
|
||||
|
||||
1. Capturing the notification shade window root view on a freshly rebooted bluejay device (2 notifications present) -> avg. time = 204237ns (0.2ms)
|
||||
|
||||
Reference in new issue
Block a user