app: parse the Shizuku dumps into link.ra_source and sec.arp_watch

Pure-Kotlin parsers over the captures the battery already makes, tested
against the real archived dumps from both devices - including the
Lenovo's 1000000015 route tables (table ids stay strings), the OnePlus's
stray uid=2000 prefix and mid-line hoplimit, and an ip_monitor that only
ever said EXEC_TIMEOUT. ShizukuProbe now returns three tests; a failed
capture is SKIPPED with its reason so no test type silently vanishes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrambossek
2026-08-02 13:34:52 +02:00
co-authored by Claude Opus 5
parent 515a6aef04
commit 3214cc877a
6 changed files with 647 additions and 17 deletions
+5
View File
@@ -8,6 +8,7 @@ lifecycle = "2.8.7"
activityCompose = "1.9.3"
composeBom = "2024.10.01"
shizuku = "13.1.5"
junit4 = "4.13.2"
[libraries]
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
@@ -23,6 +24,10 @@ androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
shizuku-api = { group = "dev.rikka.shizuku", name = "api", version.ref = "shizuku" }
# Android-module unit tests run on JUnit 4 (AGP's default); the JVM modules use kotlin("test")
# with the JUnit Platform instead — that helper isn't available under AGP 9's built-in Kotlin.
kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
junit4 = { group = "junit", name = "junit", version.ref = "junit4" }
shizuku-provider = { group = "dev.rikka.shizuku", name = "provider", version.ref = "shizuku" }
[plugins]