refactor: rename dashboards→webviews, unique applicationId per flavor
build / build (push) Failing after 3m11s
build / build (push) Failing after 3m11s
Each flavor gets applicationIdSuffix = ".<name>" so the Bravia getApplicationList API returns a distinct URI per webview, enabling Control4 to launch specific flavors independently. BREAKING CHANGE: applicationId changed from cz.c3c.webviewkiosk to cz.c3c.webviewkiosk.<flavor> — uninstall old app before reinstalling. BuildConfig.DASHBOARD_URL renamed to WEBVIEW_URL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# android-webview-kiosk
|
||||
|
||||
Android TV app: fullscreen WebView showing a configurable Grafana dashboard.
|
||||
Multiple APK flavors built from `dashboards.yaml` (repo root) — one APK per entry.
|
||||
Android TV app: fullscreen WebView kiosk.
|
||||
Multiple APK flavors built from `webviews.yaml` (repo root) — one APK per entry.
|
||||
Runs on the living-room Sony Bravia KD-65XE9305 (Android 8.0, API 26;
|
||||
Android System WebView updates independently via Play Store — currently v138).
|
||||
Launched remotely through the Bravia REST IP-control API by Control4
|
||||
@@ -40,17 +40,18 @@ replaces it before any gradle command runs.
|
||||
|
||||
- Package/applicationId: `cz.c3c.webviewkiosk`; repo name keeps the
|
||||
`android-` prefix, the package can't (hyphens illegal).
|
||||
- Dashboard URL + label configured in `dashboards.yaml` (repo root). Each
|
||||
entry becomes a product flavor; `BuildConfig.DASHBOARD_URL` is injected
|
||||
at build time. Changing a URL means editing the YAML, rebuilding, resideloading.
|
||||
Intentional: keeps Control4 integration to a single parameterless launch call.
|
||||
- Webview URL + label configured in `webviews.yaml` (repo root). Each
|
||||
entry becomes a product flavor with `applicationIdSuffix = ".<name>"`;
|
||||
`BuildConfig.WEBVIEW_URL` is injected at build time. Changing a URL means
|
||||
editing the YAML, rebuilding, resideloading. Intentional: keeps Control4
|
||||
integration to a single parameterless launch call.
|
||||
- `signing/release.keystore` is committed on purpose (private repo,
|
||||
LAN-only kiosk) so every build is upgrade-compatible. Don't reuse the key.
|
||||
- minSdk 26 is a hard floor — the TV never gets newer Android.
|
||||
- `LEANBACK_LAUNCHER` category + `android:banner` are what make the app
|
||||
visible to the Bravia API's `getApplicationList`/`setActiveApp`. Don't
|
||||
remove either.
|
||||
- App URI (from `getApplicationList`):
|
||||
`com.sony.dtv.cz.c3c.webviewkiosk.cz.c3c.webviewkiosk.MainActivity`
|
||||
- App URIs (from `getApplicationList`) are per-flavor, e.g. weather:
|
||||
`com.sony.dtv.cz.c3c.webviewkiosk.weather.cz.c3c.webviewkiosk.weather.MainActivity`
|
||||
- `setActiveApp` alone wakes the TV from standby — no separate
|
||||
`setPowerStatus` call needed. Control4 driver can skip the wake step.
|
||||
|
||||
Reference in New Issue
Block a user