diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 3d69dbf..a3ec3f6 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -9,8 +9,8 @@ android { applicationId = "tv.orbit.classic" minSdk = 26 targetSdk = 36 - versionCode = 118 - versionName = "0.94.2-ppv-sunday" + versionCode = 119 + versionName = "0.95.0-riot-vhs-rewind-polish" } buildFeatures { compose = true } compileOptions { sourceCompatibility = JavaVersion.VERSION_17; targetCompatibility = JavaVersion.VERSION_17 } diff --git a/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt b/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt index 6b3084e..9efd083 100644 --- a/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt +++ b/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt @@ -66,7 +66,7 @@ internal class HttpsEmbyTransport(internal val deviceId: String = UUID.randomUUI connection.connectTimeout = 10_000 connection.readTimeout = request.readTimeoutMs ?: if (request.path == "/Sessions/Logout") 5_000 else 15_000 connection.setRequestProperty("Accept", "application/json") - connection.setRequestProperty("X-Emby-Authorization", "Emby Client=\"Orbit TV\", Device=\"Orbit TV\", DeviceId=\"$deviceId\", Version=\"0.94.2\"") + connection.setRequestProperty("X-Emby-Authorization", "Emby Client=\"Orbit TV\", Device=\"Orbit TV\", DeviceId=\"$deviceId\", Version=\"0.95.0\"") request.token?.let { connection.setRequestProperty("X-Emby-Token", it) } if (request.method == "POST") { val bytes = request.body.orEmpty().toByteArray(Charsets.UTF_8) diff --git a/android/app/src/main/java/tv/orbit/classic/SecureMediaDataSource.kt b/android/app/src/main/java/tv/orbit/classic/SecureMediaDataSource.kt index 61cf41e..eae0e37 100644 --- a/android/app/src/main/java/tv/orbit/classic/SecureMediaDataSource.kt +++ b/android/app/src/main/java/tv/orbit/classic/SecureMediaDataSource.kt @@ -33,7 +33,7 @@ internal class SecureMediaDataSource(private val session: EmbySampleSession) : B next.instanceFollowRedirects = false next.connectTimeout = 10_000 next.readTimeout = 20_000 - next.setRequestProperty("User-Agent", "OrbitTV/0.94.2") + next.setRequestProperty("User-Agent", "OrbitTV/0.95.0") next.setRequestProperty("Accept-Encoding", "identity") session.mediaHeaders(address).forEach { (key, value) -> next.setRequestProperty(key, value) } if (dataSpec.position != 0L || dataSpec.length != C.LENGTH_UNSET.toLong()) { diff --git a/android/app/src/main/res/drawable-nodpi/orbit_riot_bug.webp b/android/app/src/main/res/drawable-nodpi/orbit_riot_bug.webp index 21b3b99..eaf55ad 100644 Binary files a/android/app/src/main/res/drawable-nodpi/orbit_riot_bug.webp and b/android/app/src/main/res/drawable-nodpi/orbit_riot_bug.webp differ diff --git a/android/app/src/main/res/drawable-nodpi/orbit_riot_epg.webp b/android/app/src/main/res/drawable-nodpi/orbit_riot_epg.webp index d47e29c..1b0b144 100644 Binary files a/android/app/src/main/res/drawable-nodpi/orbit_riot_epg.webp and b/android/app/src/main/res/drawable-nodpi/orbit_riot_epg.webp differ diff --git a/android/app/src/main/res/drawable-nodpi/orbit_vhs_epg.webp b/android/app/src/main/res/drawable-nodpi/orbit_vhs_epg.webp index f7d76a3..fcb87c9 100644 Binary files a/android/app/src/main/res/drawable-nodpi/orbit_vhs_epg.webp and b/android/app/src/main/res/drawable-nodpi/orbit_vhs_epg.webp differ diff --git a/android/app/src/main/res/raw/ident_105.mp4 b/android/app/src/main/res/raw/ident_105.mp4 index 1c3e1d7..b3a7c09 100644 Binary files a/android/app/src/main/res/raw/ident_105.mp4 and b/android/app/src/main/res/raw/ident_105.mp4 differ diff --git a/android/app/src/main/res/raw/ident_306.mp4 b/android/app/src/main/res/raw/ident_306.mp4 index 2c500d5..13eb13a 100644 Binary files a/android/app/src/main/res/raw/ident_306.mp4 and b/android/app/src/main/res/raw/ident_306.mp4 differ diff --git a/android/app/src/main/res/raw/ident_604.mp4 b/android/app/src/main/res/raw/ident_604.mp4 index 1a35885..ab1726b 100644 Binary files a/android/app/src/main/res/raw/ident_604.mp4 and b/android/app/src/main/res/raw/ident_604.mp4 differ diff --git a/design/channels/build-idents.sh b/design/channels/build-idents.sh index 4886c3c..2822da1 100755 --- a/design/channels/build-idents.sh +++ b/design/channels/build-idents.sh @@ -8,7 +8,7 @@ done <<'LIST' 102 blender/orbit-2/orbit-2_blender.mp4 103 blender/orbit-three/orbit-three_blender.mp4 104 blender/orbit-gold/orbit-gold_blender.mp4 -105 world/orbit-riot/orbit-riot_3d.mp4 +105 world/orbit-riot-v2/orbit-riot-v2_3d.mp4 106 blender/paradox/paradox_blender_tagline.mp4 107 blender/evidence/evidence_blender.mp4 201 blender/orbit-terra/orbit-terra_blender.mp4 @@ -20,7 +20,7 @@ done <<'LIST' 303 blender/orbit-sci-fi/orbit-sci-fi_blender.mp4 304 blender/orbit-horror/orbit-horror_blender.mp4 305 blender/orbit-after-dark/orbit-after-dark_blender.mp4 -306 world/orbit-vhs/orbit-vhs_3d.mp4 +306 world/orbit-vhs-v2/orbit-vhs-v2_3d.mp4 307 blender/orbit-romance/orbit-romance_blender.mp4 308 blender/orbit-detour/orbit-detour_blender.mp4 309 blender/orbit-britx/orbit-britx_blender.mp4 @@ -28,7 +28,7 @@ done <<'LIST' 601 blender/vortex/vortex_blender.mp4 602 blender/heroes/heroes_blender.mp4 603 blender/orbit-x/orbit-x_blender.mp4 -604 world/rewind/rewind_3d.mp4 +604 world/rewind-v2/rewind-v2_3d.mp4 605 world/toonz/toonz_3d.mp4 611 blender/orbit-junior/orbit-junior_blender.mp4 612 blender/wonder/wonder_blender.mp4 diff --git a/docs/VERIFICATION-0.95.0.md b/docs/VERIFICATION-0.95.0.md new file mode 100644 index 0000000..c233513 --- /dev/null +++ b/docs/VERIFICATION-0.95.0.md @@ -0,0 +1,12 @@ +# Orbit TV 0.95.0: Riot, VHS and Rewind, 5% polish + +Stage 2, batch 1. Artwork only; no code changes. Approved by Paul from previews on 3 November 2026. The approved originals stay in their design folders; the app now uses the v2 versions. + +- **Riot (105):** ORBIT larger and bolder in white with a dark shadow; RIOT with a pink print shadow; the yellow paper fitted to the word (the pink torn shape behind left as it was, by Paul's choice); the small white crown removed. Guide and corner logos updated to match. +- **VHS (306):** label tidied; RETURN BY MONDAY sticker, £1.50 LATE FEE sticker, and BE KIND, REWIND printed on the label; faint paper grain; reads as a VHS (wound tape on toothed hubs through one window, ridged shell, screws) rather than an audio cassette. Guide logo ORBIT slightly bolder; corner logo unchanged. +- **Rewind (604):** lighter TV rim; ORBIT on the box's edge; arrows evenly spaced. Guide and corner logos unchanged. +- **All three idents now end on the settled logo.** Before, the logo faded out over the last 0.3 seconds, so the frame held while the next programme loads was dim and ghosted. +- Sizes at the app's encoding: Riot 527 KB (547 before), VHS 241 KB (230), Rewind 272 KB (252). App 31.5 MB. +- Sources: design/channels/build-riot-v2.py and Orbit-Channel-Designs/refine-stage2-vhs-rewind.py (layers), depth-native/build-world-v2.py (idents); build-idents.sh now points at the v2 renders. + +Unit tests and lint pass. Not installed. To check on the TV: the logos at viewing distance, especially Riot's pink edge at small size, and a real changeover on each channel.