Set up project skeleton (milestone 1)

- Architecture and feature overview in docs/ARCHITECTURE.md
- Gradle 9.8 / AGP 9.4 / Kotlin 2.4 with version catalog and convention plugins
- Modules :app, :core:*, :device-profiles, :feature:* (placeholder screens)
- Flavors core (no INTERNET, enforced by a build check) and full
- Material You theme, navigation, expert mode and dry-run settings (DataStore)
- Pixel 8-10 device detection, unit tests, GPLv3 license, English README with Obtainium badge

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-15 22:02:14 +02:00
co-authored by Claude Opus 5.5
commit 0a7caf6c5f
117 changed files with 3175 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
plugins {
alias(libs.plugins.pixelwall.jvm.library)
}
@@ -0,0 +1,14 @@
package org.pixelwall.core.model
/** Unveränderliche Beschreibung des laufenden Geräts, unabhängig von android.os.Build. */
data class DeviceInfo(
val manufacturer: String,
val brand: String,
/** Codename, z. B. "shiba" (Pixel 8) oder "tokay" (Pixel 9). */
val device: String,
val model: String,
val sdkInt: Int,
val release: String,
/** Format JJJJ-MM-TT, wie in Build.VERSION.SECURITY_PATCH. */
val securityPatch: String,
)
@@ -0,0 +1,17 @@
package org.pixelwall.core.model
/**
* Rechte, mit denen Pixelwall eine Einstellung lesen oder ändern kann.
* Die Reihenfolge ist relevant: eine höhere Stufe schließt die Fähigkeiten der niedrigeren ein,
* mit Ausnahme von [ADB_GRANT], das nur Settings schreiben kann (siehe docs/ARCHITECTURE.md §3).
*/
enum class PrivilegeLevel {
/** Nur lesen und per Intent zur Systemeinstellung führen. */
NORMAL,
/** WRITE_SECURE_SETTINGS wurde einmalig per ADB erteilt. */
ADB_GRANT,
/** Shizuku läuft und hat der App Zugriff gewährt (Shell-UID). */
SHIZUKU,
}
@@ -0,0 +1,5 @@
package org.pixelwall.core.model
enum class Risk { LOW, MEDIUM, HIGH }
enum class Category { PERMISSIONS, NETWORK, SYSTEM, GOOGLE, APPS }