diff --git a/VERIFICATION-0.38.0.md b/VERIFICATION-0.38.0.md new file mode 100644 index 0000000..b0d8e89 --- /dev/null +++ b/VERIFICATION-0.38.0.md @@ -0,0 +1,16 @@ +# Orbit TV 0.38.0 verification + +Paul spotted that the planet in Orbit 1's background wasn't inside its rings. + +## Changed +- The rings are now centred on the planet, passing behind and in front of it. Only the app's copy of Orbit 1's background changes. The new source is orbit-1/sources/orbit_1_background_v2.svg, and the original design files are untouched. +- Includes 0.37's Paradox fix, which wasn't installed on its own. + +## Checked +- assembleDebug, testDebugUnitTest and lintDebug pass; 151 tests, 0 failures. +- APK signature verified with apksigner. +- The rendered artwork was looked at on the PC. + +## Not checked +- Not yet run on the box. +- Orbit 1's ident has the same off-centre rings. Idents aren't in the app yet, so it stays as it is for now, and it's noted on the roadmap with the other channels sharing that layout. diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 7c73331..3848002 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 = 38 - versionName = "0.37.0-preset-shows" + versionCode = 39 + versionName = "0.38.0-orbit-one-art" } 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 ae76a37..0a56e94 100644 --- a/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt +++ b/android/app/src/main/java/tv/orbit/classic/EmbyClient.kt @@ -41,7 +41,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.37.0\"") + connection.setRequestProperty("X-Emby-Authorization", "Emby Client=\"Orbit TV\", Device=\"Orbit TV\", DeviceId=\"$deviceId\", Version=\"0.38.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 606de22..31664b5 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.37.0") + next.setRequestProperty("User-Agent", "OrbitTV/0.38.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_one_background.webp b/android/app/src/main/res/drawable-nodpi/orbit_one_background.webp index 4d4133e..529abe6 100644 Binary files a/android/app/src/main/res/drawable-nodpi/orbit_one_background.webp and b/android/app/src/main/res/drawable-nodpi/orbit_one_background.webp differ diff --git a/docs/roadmap.md b/docs/roadmap.md index a1fd438..2322f02 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -77,6 +77,7 @@ Paul's ideas, 1 November 2026. Not fixes and not scheduled. - A tiny live pulse or movement on the On now cards, kept gentle and off for reduced motion. - The highlighted left-menu item could reflect the channel or theme, while yellow stays the clear focus signal. - Orbit Drive-In gets its own full-screen destination, opened from the teaser card. +- **Rings around the planet (Paul, 1 November 2026):** Orbit 1's background had its rings off to one side of the planet. The app's copy is fixed, from orbit-1/sources/orbit_1_background_v2.svg. Orbit 1's ident and the other channels built from the same planet layout (Orbit 2, Orbit Sci-Fi and any others on that theme) still need checking and the same fix before they join the app. - **Subtitles default (Paul, 1 November 2026):** a setting behind the gear for subtitles on or off by default, in the viewer's language where a programme has it. - **Orbit Drive-In name (Paul, 1 November 2026):** decided, replacing OrbitOffice. Event types inside it are Orbit Marquee, Orbit Double Bill, Orbit Triple Bill and The Late Show. The briefs and design/interface still show the old name.