First commit, imported from the working folder: Android TV app, loopback guide server, design sources and per-release verification notes. Includes the 0.16 tuning screen, built and tested but not yet confirmed on the box. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.1 KiB
Orbit TV 0.4.0 — small-sample playback test
Prepared 1 November 2026, Europe/London.
Result
The current 20-item sample becomes selectable for on-demand fullscreen playback. The temporary login stays in memory during testing and attempts logout when leaving/backgrounding the screen. The player provides pause/resume, ten-second seeks, audio settings and available subtitle tracks. No full-library import, scheduled real channels, stored login or automatic video transcoding is added. The established demo guide and its fullscreen programme bar remain independent and unchanged.
Evidence
- Android debug build and lint: passed, zero lint errors.
- 31 Android unit tests: 15 authentication/metadata, 12 playback/session/media-address, four scheduler.
- Coverage includes sample membership, direct-source negotiation, refusal of transcoding/live-opening sources, source-ID validation, origin-scoped tokens, API-key removal from provider media URLs, HTTPS/URL validation, subtitle URL validation, byte-range start validation, local-address rejection, normal playback reporting, logout, stale-report positions and invalidation of late login results.
- An intentional change forwarding credentials to every media host failed its regression test. The safe implementation was restored and all checks rerun successfully.
- Existing Emby metadata tests remain fake-transport checks; new playback tests also use only fake tokens and URLs. No authenticated provider/media access was performed by development tools.
- Media3's custom data-source/controller APIs have explicit UnstableApi opt-ins.
- The background lifecycle handler stops the player directly before asynchronous session cleanup.
- Source review checked main-thread player access, preserving sample list/focus during loading, safe error messages, redirect/header handling, request bounds and cleanup ownership.
- The APK signing certificate matches the installed previous version, allowing a normal update.
- Lint warnings are dependency-update/platform advisories and two optional KTX suggestions.
Hardware limits
Paul confirmed 0.3.0 received 20 records from his provider on the Xiaomi TV Box S 3rd Gen. Real video, audio, remote controller navigation, seeking and subtitles in 0.4.0 remain unverified until the approved APK is installed and Paul selects a sample title on the TV. Direct-stream container support does not guarantee every codec/profile decodes on this box. External subtitle support is initially SRT/WebVTT only when the provider supplies a delivery URL. No HLS/transcoding fallback, live-source opening or special CDN request headers are implemented. HTTPS redirects are supported without forwarding the Emby token to another origin. DNS results are checked for private addresses, but Java's second DNS resolution is not pinned against rebinding. Playback reports may update normal provider watch history, as regular viewing does.
Logo direction
An original OrbOffice drive-in ticket concept is supplied as SVG, FigCraft and VectorCraft artwork, with a PNG proof. It uses a ringed cinema-screen emblem, gold/charcoal, original one-word lettering and a detachable stub. It is separate from the installed application's interface. The supplied historic logo was a reference, not traced or redistributed with this project. OrbOffice name availability and trade-mark clearance have not been established.
Linked skill
The exact MCP Market page could not be read. An official Android CLI Specialist reference was found and assessed. It is relevant to SDK/device diagnostics and repeatable UI journey testing. The android CLI is absent from PATH. No new skill/CLI was installed; existing Gradle/ADB remains in use. https://developer.android.com/agents/skills/devtools/android-cli/skill
Next step
Ask Paul before updating the TV box. After installation: Menu → Connect Emby → sign in on TV → Check 20 items → select a title. Check picture/sound, pause/resume, forward/backward seeking, audio/subtitles when available, Back to the same sample, then a second title. Report only pass/fail and fixed error messages; do not collect credentials or media URLs.