Repository navigation
docs: prepare the Fire TV app for the Amazon Appstore - #352
Merged
Merged
Conversation
A Gradle store property, google by default or amazon, puts the store in the manifest as app.cinette.STORE, which the app reads and logs at startup. It's a property rather than a flavor dimension because a second dimension renames the variant tasks Tauri's RustPlugin.kt and CLI expect. Both stores get the same Rust library and frontend. CI's Android job builds the debug APK for each store and checks the store in each manifest.
Fire TV's test criteria ask for both. On Home, Android took the surface and mpv kept playing with no picture, so the sound went on behind the home screen. Now the mpv plugin pauses when the activity stops. It also pauses when the HDMI output disconnects, as when the TV turns off, and stays paused when it comes back. The multicast permission implied Wi-Fi as a required feature, which both stores filter on, so TVs on Ethernet only couldn't get the app. The manifest now says Wi-Fi isn't required, and CI fails on any required feature.
docs/amazon-appstore.md has the listing text, the answers to the console's questions, the Fire TV test criteria and a checklist, with every console step marked as the developer's. It also raises Amazon's agreement against the GPL code in the Android build before anything is submitted. docs/images/amazon has the icons and the Fire TV app icon and background, made from icon.svg. The screenshots need a Fire TV. Release builds are signed with the key keystore.properties names, when that file exists. The privacy policy now covers Android, Android TV and Fire TV.
This was referenced Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
Prepares the Fire TV app for the Amazon Appstore (spec 3). Nothing is submitted, and no developer account is created. This builds on #351, which builds on #350. Until those merge, the diff here includes their commits.
docs/amazon-appstore.mdhas:--enable-gpland mpv with-Dgpl=true. The iOS build avoids that with LGPL builds. The decision is the developer's.docs/images/amazon/has the 114 and 512 px icons, the 1280x720 Fire TV app icon (the lockup fits the 882x448 safe area) and the 1920x1080 background, all made fromicon.svg. The 3 to 10 screenshots at 1920x1080 still need a Fire TV.app/build.gradle.ktssigns release builds with the key thatgen/android/keystore.propertiesnames, when the file exists..gitignorealready keeps that file and*.jksout of the repo. Without the file, release builds stay unsigned, as before. CI doesn't build release builds.docs/privacy.mdnow covers Android, Android TV and Fire TV: uninstalling deletes the data, and a device backup, such as Android's to a Google account, keeps a copy.docs/android.mdpoints to the signing setup.No changelog entry. Only the privacy policy changes for users, and it's about a platform that hasn't shipped.
How it was tested
macOS
Linux, for the Gradle check below
Linux (X11)
./gradlew :app:signingReport, with a throwawaykeystore.propertiesand key:universalReleaseuses thereleaseconfig with that key. Without the file, it showsConfig: none. No build ran, and the key was deleted.I checked the images' sizes, and that the icon lockup sits inside the safe area (823x215 of 882x448).
I checked the listing's claims against the code: donation links are already hidden on Android, downloads are off, and the demo playlist instructions follow
docs/demo/README.md.Still to do, by the developer or on a device:
Checklist
devpnpm lint,pnpm testandcargo clippy --workspace --all-targets -- -D warningspass (no code they cover changed; CI runs them)Unreleasedsection ofCHANGELOG.md(none for a shipped platform)