21 Commits
Author SHA1 Message Date
markandClaude Fable 5 1a0711319e ci: bump release actions to Node 24 majors (#2)
Update checkout@v7, setup-java@v5, setup-android@v4, upload-artifact@v7,
and action-gh-release@v3 — all target the Node 24 runtime, clearing the
Node 20 deprecation warning on the release workflow. Inputs we use are
unchanged; the app has no Node dependency (Android/Kotlin + JDK 17), so
no application changes are needed.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:59:56 -05:00
markandClaude Fable 5 edb367cca3 feat: system media controls (MediaSession) for the active server (#1)
* feat: add system media controls for the active server

Add a media3 MediaSessionService that mirrors playback on the active
RelayTV server as a system media session (lock screen / quick settings):

- MediaControlService polls GET /status and publishes state, metadata,
  artwork, and remote volume; forwards play/pause, next/previous, seek,
  stop, and volume to the server HTTP API
- RelayRemotePlayer implements SimpleBasePlayer over the remote state
- RemoteStatus parses /status defensively across server versions
- New Settings screen (toolbar menu) with a media-controls toggle and a
  Manage servers shortcut; fix open_servers intent handling via
  onNewIntent when MainActivity is already running

Release prep:

- Bump to versionCode 6 / versionName 1.3.0
- Wire optional release signing from MYAPP_RELEASE_* gradle properties
- Add FOREGROUND_SERVICE(_MEDIA_PLAYBACK) permissions and lint opt-ins
- Update privacy policy, release checklist (Play Console foreground
  service declaration), README, and Gradle daemon heap

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: sign release bundle in GitHub Actions

Decode the upload keystore from the RELEASE_KEYSTORE_BASE64 secret and pass
the MYAPP_RELEASE_* signing properties to Gradle via ORG_GRADLE_PROJECT_*
env vars, so tagged releases produce a signed .aab. Fail fast if the keystore
secret is missing, and verify the bundle signature after the build.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:45:34 -05:00
mark 0967082e1c fix: select saved server on tap 2026-04-15 15:29:47 -05:00
mark a569e7b0d7 fix: enable WebView file uploads 2026-04-15 15:18:36 -05:00
mark e754880233 Update README.md 2026-04-13 16:32:43 -05:00
mark 0fdc2508d3 feat: support audio shares and ingest enqueue endpoint 2026-04-10 21:59:23 -05:00
mark d8e40bf847 feat: add local video share upload support 2026-04-09 21:38:39 -05:00
mark d940e4de9f ci: add GitHub release workflow 2026-04-03 16:56:26 -05:00
mark 28366217b1 docs: fix README release links and outputs 2026-04-03 16:45:51 -05:00
mark c62d82d43c fix: apply status bar insets to toolbar 2026-04-03 16:41:39 -05:00
mark e8be7a4fc2 chore: prepare Android app for release 2026-04-03 16:37:23 -05:00
mark 2719f2852a phase 5: improve server picker UX and status clarity 2026-03-19 13:55:47 -05:00
mark 601a5b1101 chore: expand gitignore for Android build artifacts 2026-03-03 08:00:31 -06:00
mark ca372a3300 phase 4: clean remaining Kotlin warning in host store 2026-03-03 08:00:31 -06:00
mark 169948d636 phase 3: polish compatibility and deprecation handling 2026-03-03 08:00:31 -06:00
mark b3f654fd49 phase 2: add mDNS LAN discovery and server picker integration 2026-03-03 08:00:31 -06:00
mark a350aa3982 phase 1: harden WebView refresh and connection recovery 2026-03-03 08:00:31 -06:00
mark 9f1c2168a8 phase 0: add Android build/test scripts and fix lint menu attrs - 2026-03-03 08:00:17 -06:00
mark 28750c1332 Update README.md 2026-02-23 19:06:44 -06:00
mark 9f71e79e8c readme 2026-02-23 14:35:01 -06:00
mark eca2d5933d Initial RelayTV Android release 2026-02-23 14:07:47 -06:00