From 019ddc07a2795ddb8d1d9b3781410d4aaaba4206 Mon Sep 17 00:00:00 2001 From: Pauljd Date: Tue, 3 Nov 2026 22:04:21 +0000 Subject: [PATCH] 0.95.3: the newer Terra logo in the guide, channel list, home screen and corner logo (installed) Co-Authored-By: Claude Opus 5.5 (1M context) --- android/app/build.gradle.kts | 4 ++-- .../main/java/tv/orbit/classic/EmbyClient.kt | 2 +- .../tv/orbit/classic/SecureMediaDataSource.kt | 2 +- .../res/drawable-nodpi/orbit_terra_bug.webp | Bin 3764 -> 4072 bytes .../res/drawable-nodpi/orbit_terra_epg.webp | Bin 4586 -> 6442 bytes docs/VERIFICATION-0.95.3.md | 17 +++++++++++++++++ 6 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 docs/VERIFICATION-0.95.3.md diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index d8c4cdd..957bb87 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 = 121 - versionName = "0.95.2-audio-clock-reset" + versionCode = 122 + versionName = "0.95.3-terra-logo" } 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 b49c967..194544e 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.95.2\"") + connection.setRequestProperty("X-Emby-Authorization", "Emby Client=\"Orbit TV\", Device=\"Orbit TV\", DeviceId=\"$deviceId\", Version=\"0.95.3\"") 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 c5d08ae..a18bcee 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.95.2") + next.setRequestProperty("User-Agent", "OrbitTV/0.95.3") 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_terra_bug.webp b/android/app/src/main/res/drawable-nodpi/orbit_terra_bug.webp index a265f4bcdc7018268102283892595c7b3189cc00..ae98e378f224c1a85fa1a26ccdd71cd04947ccdb 100644 GIT binary patch literal 4072 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 diff --git a/android/app/src/main/res/drawable-nodpi/orbit_terra_epg.webp b/android/app/src/main/res/drawable-nodpi/orbit_terra_epg.webp index c63111887df9c844a14c434af17900893ecd688e..1549098dbc374e6ee4e856a1e9be71cbd8b085b4 100644 GIT binary patch literal 6442 zcmV+_8P(=eNk&E@82|uRMM6+kP&il$0000G00030002(_06|PpNW=;N00HpF|NkPV z+4j9ZpU-z9$cCiuZb;n~4bn>f6Ya3>F3MuY!Jo36`!>&JOGB^)z6nNI2~>wtQIh z(W#Bo?o$!GaVY{AF24(XcM&x+?U5_qb~^hmION*j{&d-aFa#eic$Fu@fHyBgfIw#6 zBd$*->J&X5VEPNdr4PWN;k%uF^)f^dd~|$p%JMo0-ng^~Gwz1#4Ew{aOIJnYu zedxXS90{#7m8K<(Nk+UHCVe6?yORY^lA-?@f{Mex8Ip|oa=i-r#D?Fnz{CPCsW`}dh$VFEIpHB|EdWpS}>rE zF&Xg=C^Bu@rkS_7Z`=f z5&7O=Xo|rF@8hr}8U7enmcv9AqWBkR@r4o*&xETiLo+=|AMPm`DE4`o$sZmGDIr=j zl^M=JO$ioQ_8>?J7MQk+3)c}z!90&FAy2^KM?okaMAFy#M4st@(VuHGj?PWV~W+(R7Mo5q<3a0e3S>h<)eoFjTY% z9$-{-fw&9+I3(`#%N2_qBq`+|*~QaPW>H+&9N8uvh?4z&(HZjySc;hcMoBy1y@=PL z42KDf$cS@ZU|baW_#_xA40Uac>G{KkkZhpNYU~Jhf3rH5M$F9WY%;rezSUZ>rWc^Rp0(&_mqQVX797hCXKhMxRx{!W0Q8Z?vi zjCP0iM1bRY3lzO*h?peyh&nvUZhvkzQi}`O%|}uxw(Tb4U9nwA|Ja2a0xGBq;}X7a zg!F*JLE+m2ReIA7$hL$e0T(d#90N-w2?A`{=DYn|SPCaUW`XZI(U-|T0IH~phCL&C z&y@pvKn+I}-ro>{-n3&-8x+?#%V0E;*ZxcFqxgRsAZg|!x%Svaj3b@^mqPFWyEqlK z7*D=gBZBIv*t$R;^V8bw4EPP--4Kdi6#0eke^C7HC$o{k>kmHi$Rm$D^z_%HFYr$= zl%j8Y@R8z&7LY#Vdv$`+f=xQ;c>n_J5;GhItrCKME9gDH8jzJ3*1n$iHo(xELZ)0i zDua|!81jk!Dydl7hXuCp1x?{_Aq)Jp1_JjkIUcTR;4wy?-{&%Nz^H|srchLf=L^|I zp5)z)5M&X>o?Lto3@HTqlb;_7QS`Qs_T+C@ zUJog2ReSL&vh&Jg0YSP#d!qOLxnHddLrTRu-!bNxgagQE7_=G)plGJ|0V=mX2`#1R$K#|tT84S66 z00e^CPs#CcRX}md2*H5mj3Zu*pbS-D_>27bFu;&?k8Fo*lSU(PJUJVNa^@j%hfXeQ zR7s_{ja{6tHD*?$Gs!0*m8Y^}^pZKuU>I^fER7g|z3yViZ|k9gN*E$0B{LW&PQ+y0 z&wTr4qUGepiHPAU@)xi)f_1)QJylJxA}7Fuzq z@R8x-l5apC%>Ap2LPw&`5xIA*_HvtRb&e+8^dV&59&mc z4A=NBJ~?>E;N+p(-|hJzq{5&$!Sm`e9n-+K-$yEj!hsH2E}f7u(W6A zyo-h^08>Hl3@|mDs~ED(s42xIsi3%%91kloBu-^Gn(?b935LTNvwItLnrymmJ9(kF zN`nIH9rdSK*IxCvU;HWN=bHjB6ZBe#pLBK<&M9wJ=juXN>dwyR`$3X^yLwfjIfd-L zy0D-glC;e?U4?n2AohZf4u=&v{N=lj!ZQ$*7F_KM_dqHRDkyz)JD;l!1id=2%g77M zfz{r@@&_d$sF^_?QVNFOkdt9WP}z&TA%$Yg0vFYb0D!Ci3poKUjnpn6w}w_6AQm_^ z=N$I_kdxqgmtvR6E!#lLP#ipYVoRC7sX?+~-^mj;gp?5J_xqMpAqj$pKedd8lz`xb zmWho>P#iLO!Um8O5Hz>6Y*`gj8rHv!r^0$w)`Ds&NGm8`P<;(JZSm32-lahx<-vlo zT^bDnNhL0@6cPlM3Kj%X0u}^P1}q4q%0LvG{Cp!wuUg|YpayI9qWC{=16EKtAUF;H z08l^xodGHU0Z;%wF&K$Mq9LIY+TKhc0|c^wYMgt?cs8A*%U|xk+`e&oLGu9TQ~PV` zC-wvOJKZnPZ}<;T57)0)5BEOGzqbCsAHx5)`e%OHd=P%#{?dE{etB^$)IS%0WW90lk>n3ve{z4tba>kblE1M(eEhKduK8>IKZXAQbqMvx_%F#X%CA_@ z&<_B5_5G*R3)HWm|DF89{^9A-{lDY~xF1-*)O&z`9sYIwpAWtL^=v0JDK-Vv-5-g6Wea|9Rz$~QSP+jP3p?(4pySPiHRDVQI~ zYM6Y^Yifn4m0=f+byM|uLrJT7X$G^IAEzs)U3c^;d{7e_-isV-LijJd!?_{8*lPGa zd$2zz4DP_wVLszuuZ~(qEEoUbVuQiC8kuw64*w@1=io+|Ni|SBl;`9asX2>3Ra`cp zP{o!fY^GTJ?=o|kGpZ9PtjNU#*&M~U{$hsnOh0)dF6c~K)Ap*UkGFd4OlVqZOx^s=$=f z!OEJ*5C8%b_R3Rzspm@p1fq|`n1bY#PhZ7`=Eye)mH=SxmnH!Weiv@pRq)13MsUQ9 zbU-VqA-Fz6lH{GwMvZQ$&+OhQpr?B7WB0npU<+6Z*G|BZmDq^Pk_3WWl*TP*NUbhpfkd z)ox9v`h=Wkz!wK%6zLLZL1b@EI?J|NNM*h>yG&!xO#Z4;c>oDtaTH`R9FH*_X}gxk z=D=&xx*MUIB*1kdMR8~@1*%ALDEZiu1h#4Nh)%J4W9)dSl!;G8tgHb=cAqXMzM{jurv3d0y8n$Rw^2#()M`qR)7Sn{ zT6J#N8Edbx=BiT-cW-c@*(OsTPFP<}kB96=uo~cr4@)NcOZwTROc%{Y0^sR}Xy$PN zw3N2yiBDI@Cqw>Sdk@o4!~A zP-f)0`rDIkIjEME2{s7cBF-^~b)y2-Fr{J&I+)qZb?`ix={%j}3g#TjXF8y74p5X@ z&)hM>#su0yWsv{E@pn$o4lFw-^kG?wK+;{WKpaR0qWja?55WmcU`}#nRVt04GHbMQ zWSo$^=~}X1F~!($G8wlsr`lCe+Da(n^8e;?>BXvx6zk3otJ#X-S4REd)S*SMWC^u> z*-=Mt=KV^nZyx~>dOwl&--#2o{)GeWBlR;ZMVO8(^5u??6w(X*I&V{zjRiatB!qP_@R<0;}S;})s!t`=9 zG(zH;6!WqGX78KQ63`~1p@MLpSYZ6jng!9Y&WgluoNB1xOx^aQD2tYi>v`I1+Btnw)s?{cKc#`nQ%(gaI1>da$ z`!kflD<*X0;OnppSK(oNul0gs87C)i&d4Da!G0Z|4DfNet#^j2Q?L7-0o4YwLb|{-3I%r*?DjE|WHmANNH!b0<9|YU=h`?uXA) zu7_QQSQb{)`jYQ%><*V2GTX-u9UNB#!O>_*-URN|rvIaFygoNIIKK%KIp+G2ljQvK zbKSJ1OXV$ONzat`tzA zDOHmH$dQ7>FHYXdj7~*x*rjuJDZ~B#T`Q}tL?0bxVAlIvID|Mp;VyFMTa=WGaJ>Zc zo;1oaBZ%0vmC1B3|DX-moXcV^hlaaw4Fl2a(+7EIzv(4|e=W7;w6+H8 zy=^Yva!zAtzwCY2RUAqD^{$CI4Y5v~C$Hqf=$)D~@%hYUI*8@2Ty zVe*2*0#E?-e^GTypfLNMIVy+3avF4S#1&B!*&#nkMS>aG#;CDoOl~B?Px@~0UO6MU zG-*h)wCmc$?v?mMp#WtZ98Dkek*~{#5UXJ3hJ5N)WY<^0 zBhufFWJ+ll^f}Y*Esr9KFO9I@6%O$i)*f3L{>I!GJOCbdRhFGe!xInS_F1V~B}cEZ zK~8aP=qCwUx%205rIS@OCi3tMFJ7N(K+_hfKN%?xzA7dC-$6XPK zAfTZdh`HOd%j+Ihakuo;itzK zZg9agsUJG^b3scL33*Q%N|c(PJB@QJ)dXT?-XJqxY8!P)`QMAYqJ6d}ajAt?OK4kN zlua)L+d*QLkw47Iqx&%(p`f?#;(1HX@j<|i+BFoIVRr65L(#_Eo}W1>I>GmhbsfXK(1;PYyADzH;On zH^M0Xv=Yp!h|m)%U{ExNn0?_aJaphcI$SI+o!cQIBeKhN%^Ih%5se64%VoFL0f8KRG` zJHUnfKa|;;=gT8xGztQuD7ZSFrzty%95Xvw==F0Fg0N?(r~}mwVl|_dXEl6h`#ZkETrb zi-0oc3Q)0GmnW&Ky~p^QA?r?D{rYj%?X90R*#Im~2orS@iSpa1{> E05mgX>Hq)$ literal 4586 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 Uj20q}JkJzA`agItKmY&$0Ca2a@&Et; diff --git a/docs/VERIFICATION-0.95.3.md b/docs/VERIFICATION-0.95.3.md new file mode 100644 index 0000000..1d8cf90 --- /dev/null +++ b/docs/VERIFICATION-0.95.3.md @@ -0,0 +1,17 @@ +# Orbit TV 0.95.3: the newer Terra logo in the app + +Stage 2 of the execution order, approved for build and install by Paul on 3 November 2026. Artwork only; no code, scheduler or playback changes. + +**Where the Terra logo appears:** every surface reads the channel's two branding files (ChannelBranding.kt, channel 201): the guide logo `orbit_terra_epg.webp` (TV guide rows and header, channel list, home screen, settings, guide picture, tuning backdrop) and the corner logo `orbit_terra_bug.webp` (over programmes). Both replaced; no reference changes were needed. + +**The new logos:** redrawn as vectors from the approved Terra identity on the 3D ident (`design/channels/blender/terra_logo.py`: silver crescent, mint orbit ring, ORBIT, TERRA in Barlow, the natural leaf), not cropped from an ident frame. Built by `design/channels/build-terra-logo-v2.py` into `design/channels/orbit-terra-v2/` (sources, 512x160 and 384x128 PNGs with transparency, and the app's 256x80 and 144x48 WebPs). TERRA is set one weight heavier than on the ident (500 against 400), with a soft dark edge, so it holds at guide and corner sizes. Sizes 6.4 KB and 4.1 KB, against 6.6 KB and 3.9 KB before. The old files stay in git history. + +**Before and after:** `design/channels/orbit-terra-v2/review/terra_logo_old_vs_new.png` (guide panel at app size and 3x; corner logo over a programme, whole frame and close up). + +**Not changed:** Terra's channel background (`orbit_terra_background.webp`), which still shows the old globe as its sun: it's background artwork rather than the logo, and is left for Paul to decide on. + +363 unit tests pass; lint has no errors. + +**To check on the TV:** the guide, channel list and home screen rows, and the corner logo over a Terra programme, read clearly from the sofa. + +Installed 3 November 2026 at about 22:06 with Paul's OK. All 31 committed plans byte-identical before and after. TV-distance check on the box: waiting for Paul's look.