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:
co-authored by
Claude Opus 5
parent
217818f7b3
commit
d7dda40e4e
@@ -507,3 +507,16 @@ an elvis-operator bug that printed "no UPnP response" even when UPnP data was pr
|
||||
- **Insets/cutout**: Android 15 draws edge-to-edge by default, so the title was running under the
|
||||
status-bar clock and the camera cutout. The root column now uses `safeDrawingPadding()`, which
|
||||
covers status bar, navigation bar and display cutout.
|
||||
|
||||
### Shell-tier readiness shown before a run (2026-08-01)
|
||||
`ShizukuAvailability` distinguishes four states and the UI only speaks when it is actionable:
|
||||
- **NOT_INSTALLED → says nothing.** Users who don't use Shizuku are never nagged.
|
||||
- **INSTALLED_NOT_RUNNING → amber banner** "Shizuku is installed but not running — start it to
|
||||
include shell-tier tests". This is the case worth reminding about: the user has it, but a
|
||||
stopped service silently costs them the whole shell tier.
|
||||
- NEEDS_PERMISSION → "running but not authorised, it will ask on first use".
|
||||
- READY → green "shell-tier tests will run".
|
||||
Detection is listener-based (`addBinderReceivedListenerSticky` + binder-dead), because
|
||||
`pingBinder()` is only truthful once ShizukuProvider has delivered the binder — a one-shot poll at
|
||||
launch would show a false "not running". Installed-vs-not needs the `<queries>` package-visibility
|
||||
entry on Android 11+. Verified on-device: with shizuku_server stopped the banner appears correctly.
|
||||
|
||||
Reference in New Issue
Block a user