app: tell the user before the run when Shizuku is installed but not started

Distinguishes not-installed (say nothing — don't nag users who don't use
Shizuku) from installed-but-stopped (amber banner: start it to include
shell-tier tests), plus running-unauthorised and ready. Detection is
listener-based since pingBinder() only becomes truthful once
ShizukuProvider delivers the binder; a launch-time poll would show a false
"not running". Installed-vs-not needs the <queries> entry on Android 11+.

Verified on-device: with shizuku_server stopped, the banner shows before
pressing Run; the title also now clears the status bar/cutout after the
safeDrawingPadding fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrambossek
2026-08-01 09:51:01 +02:00
co-authored by Claude Opus 5
parent 217818f7b3
commit d7dda40e4e
5 changed files with 135 additions and 0 deletions
@@ -5,6 +5,12 @@
<uses-permission android:name="moe.shizuku.manager.permission.API_V23" />
<!-- Android 11+ package visibility: needed to tell "Shizuku installed but stopped"
(worth a reminder) apart from "not installed" (say nothing). -->
<queries>
<package android:name="moe.shizuku.privileged.api" />
</queries>
<application>
<!-- Shizuku binder provider (merged into the host app). -->
<provider