Files
OrbitTv/VERIFICATION-0.4.0.md
pauljdandClaude Opus 5.5 934f82d805
pauljd/davidson-ci: Davidson CI / quality (push) Failing after 1m48s
pauljd/davidson-ci: Davidson CI / ai-review (push) Successful in 49s
Orbit TV at 0.16.0-tuning-screen
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>
2026-11-01 17:25:30 +00:00

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.