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>
Dashboard URL and label configured in dashboards.yaml; each entry
becomes a product flavor with BuildConfig.DASHBOARD_URL injected
at build time. APKs output as <flavor>-release.apk.
AGP 8.7.3 reads android.aapt2FromMavenOverride via providers.gradleProperty()
which only reads gradle.properties files, not JVM system properties set via
GRADLE_OPTS -D. The shellHook rewrites the sentinel value on every nix develop
so the correct nix store path is always present before gradle runs.