From cae6d653e61cfc69b5502cf0fcbdee9ec43d892c Mon Sep 17 00:00:00 2001 From: Compot Developer Date: Mon, 2 Nov 2026 09:52:11 +0000 Subject: [PATCH] 2.19.1: OpenIPC brand launcher icon and Android TV banner (#260) Resources from the OpenIPC brand kit (local/brand, brand.py 0.4.0, make-res.sh Decoder), not drawn by hand: - adaptive icon (mipmap-anydpi-v26): the white vertical OpenIPC logo on #4C60D8, the same layer as the monochrome one for themed icons; - mipmap/ic_launcher.xml: a vector rounded square for API 21-25 (minSdk 21); - drawable/banner.xml: the 320x180 TV banner, icon on the left, the name on a white panel; android:banner now points to it. The old 256 px WebP icon and banner is removed. APK 158 066 bytes, +7.1 KB against 2.19.0 (#181). --- CHANGELOG.md | 7 ++++ android/app/build.gradle | 4 +-- android/app/src/main/AndroidManifest.xml | 2 +- android/app/src/main/res/drawable/banner.xml | 33 ++++++++++++++++++ .../res/drawable/ic_launcher_background.xml | 6 ++++ .../res/drawable/ic_launcher_foreground.xml | 22 ++++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 8 +++++ .../app/src/main/res/mipmap/ic_launcher.webp | Bin 2930 -> 0 bytes .../app/src/main/res/mipmap/ic_launcher.xml | 23 ++++++++++++ 9 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 android/app/src/main/res/drawable/banner.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 android/app/src/main/res/mipmap/ic_launcher.webp create mode 100644 android/app/src/main/res/mipmap/ic_launcher.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index fe91e5e7..bca78be4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,13 @@ Versions after 2.17 are `MAJOR.MINOR.PATCH` (2.17 is followed by 2.17.1 or 2.18. `docs/testing.md`, "Versions and releases"); the headings below keep the numbers as they were released. +## 2.19.1 — 2026-11-02 + +- The OpenIPC brand launcher icon and Android TV banner, shared by the OpenIPC Android apps: + the white OpenIPC logo on the brand blue (an adaptive icon with a themed layer on Android 8+, + a rounded square on Android 5–7.1), and a TV banner with the icon and the app name. All + vector, generated by the brand kit; the old WebP icon is gone (#260). + ## 2.19.0 — 2026-10-31 - **Start on boot** in Settings, off by default: the app opens by itself after the device diff --git a/android/app/build.gradle b/android/app/build.gradle index 539f50de..e27b49dd 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -23,8 +23,8 @@ android { applicationId "com.openipc.decoder" minSdk 21 targetSdk 36 - versionCode 48 - versionName "2.19.0" + versionCode 49 + versionName "2.19.1" buildConfigField "String", "GIT_HASH", "\"${getGitHash()}\"" } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index a354971d..9879256a 100755 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -33,7 +33,7 @@ android:name=".App" android:allowBackup="false" android:requestLegacyExternalStorage="true" - android:banner="@mipmap/ic_launcher" + android:banner="@drawable/banner" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:usesCleartextTraffic="true" diff --git a/android/app/src/main/res/drawable/banner.xml b/android/app/src/main/res/drawable/banner.xml new file mode 100644 index 00000000..6d3a6ba4 --- /dev/null +++ b/android/app/src/main/res/drawable/banner.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..e9b71207 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 00000000..338c07f3 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..cae74b0d --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap/ic_launcher.webp b/android/app/src/main/res/mipmap/ic_launcher.webp deleted file mode 100644 index b089399f17712224d35c73513a7d63420195000c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2930 zcmV-&3yt(rNk&F$3jhFDMM6+kP&iCo3jhEw|G+;0g%AG!zvln{?}}GU!!Vo+SO#n$d?;+E01c)^W-#Xx)9`Fh1nC3P zamQ#(5H6lhVH;|KzNFW#?ddx_wR9-(PCT@8AD+f(xm^elXW70nodI06rm0JSMmxCX zQ|p?B^kjR;jk0wly=MJ4ciV{V6;pQ{H!&Y?vR$G_g2N>Hm=(ZTyYvDOC)0;bH3&2& z+Z)z^1W|p+)PewUnzS=r0g?c5`Hb#(1CWn07E!V z%Z?w)rbSkPA)+>Y!;cgU5ZNG$Q~eR*sCd(KLi9yn@{of*5J{(n5AY++0*wbSB6-NZ zBhz#Q=>fr;WHD2MkM;|?1VlLN^+mf9f%n!FU44K!Slo>u{KWC4@45jPAWDlG$kl*{ zqR)sfo$R~Pl?W53NfuHAa2?{LSXY2Ct-fy4GYJ9621U99)=tKl=?Eh7D%rOsY0N?- zl7}pyFY*31pp2 zUegWHhe`IOy|*z$;bd?N`)dSt zvM4*wlg$jAi!RqHH|4iq)(Z4=X3;c*XO&0$VQoVsHug-V56?W@ixL5E2av3ewbFo4PEU z^K-I4#ZAl2H&4sw*=c1P?`>U{Wqs{u$$o&z9%X_sPdE36G)%a(_nnw6L+4F&SiAYC)_?ob0dQ_L4E6DZ|Ryqzykn z9|QD&xcm(zmUr@g0)_ePgr)Qm<%Z@Ik!gNBqyRlYGOlBvFf++)W4EfR$|P{8%Ca0k zM-H;LDQ`b*Qa_i2I2h0ZeB zqDGN@5;&M7T@g$=Nis=e3IagVZp3s0eT8Bh@Qr9ZR;1Z`+RLsvylMTCE$FKh!MvSh zp(^v=q~`%%R#TK>E{YA+vVf@pJ<0TT2(XjMYkH6Xo0m3Q1(Gpp&fz~ePY!?Q3V2B% zxhs0Ai0JgDZ~^~C7k~svAR9InHeCW7CG`llG6hW~SdTK>%9O%?Qhe(p2hRZnKy(%8 z@!w*G9PtDiS%{wd10eiFHvO<(rZec_7$bG%Aem{aJ%YCdy$`r~a(I&p3ps?w6pVXs zWDCv*#1i!n8zhy1qtg$*h57|k5~$+{dKf?vup@}Y#7!2Lf-yky`f)CYzm&z9+f)-u-iXkp~x046R-Bu25+qUO(+qNf!uQGMN!|`L;f?DrpY62MFDi6`hB$+Jpagase zq<7OTkWE`zkxX7PJwxX|gLrym8bVJ=bM66pkEGH=+~TetsShNt%`hB7BPs4DZ(xoA zI-lgSz*VL(@o`eH1@Ydj^I~A!%wi&QZx8S{C_d-bIs{sodeDPY5zOE(q+f{0Mwv`c z1bkH8HQ{N(7 z%OtrhfO?pn=Ds0-?6r|wSyd$ihq^4QaXYF*0JGyUBO-fk)pQ3#{=`R|Ws3l&84=k@ zlIaS12xj>qga7EZQDS+w8PlAGh^4h`E0S7pfuA^;{2>xVEO9iSJHk)I67@DJa8bV* zNj(D#iIdZ&Yph7(=(GqG5zj$h)0Fv^USywn{RX5n%1X{#^U + + + + + + + + + + + + + + + + + + +