chore: Cleanup

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
Pun Butrach
2026-01-10 20:51:34 +07:00
parent a146a9d76c
commit 8fa8e5a4ba
-18
View File
@@ -1,18 +0,0 @@
**I. Core Architectural Principles (The "Lawnchair Way")**
* **Pragmatic Modernization:** The primary architectural goal is to incrementally refactor the
legacy AOSP codebase towards a modern, testable, and maintainable structure. We do not rewrite for
the sake of rewriting.
* **Decoupling & Abstraction:** New features and refactors must prioritize decoupling from the core
`Launcher3` (`src`) module wherever possible. The preferred pattern is to create clean Kotlin
interfaces (`lawnchair` package) that act as a bridge to legacy systems.
* **Unidirectional Data Flow (UDF) for UI:** All new, complex UI screens (especially in Settings)
are to be built using a ViewModel-centric UDF architecture. State should be exposed via
`StateFlow` and consumed by "dumb" Jetpack Compose UI.
* **Embrace Kotlin & Coroutines:** All new asynchronous code must use Kotlin Coroutines, preferably
`Flow`. Legacy callbacks and `AsyncTask`-style patterns are to be eliminated during refactoring.
* **Respect for Constraints:** The architecture must work within the project's real-world
constraints:
* **DI is a Service Locator:** We use a `MainThreadInitializedObject` singleton pattern, not
Hilt/Dagger. Note that this pattern is slowly being migrated to use Hilt/Dagger (without the
Android Gradle Plugin) by Google, so expect inconsistency.