Fifty-four TVs, twelve languages, and a day of community pull requests folded in. No binaries, as before: build the launcher with launcher/build-and-install.sh (one command, see the README). Honest note: unlike 2.2, I have not yet run this build on my own TV; it builds and passes the unit tests in CI, and each contributor tested their piece on the set named in their PR.
Launcher (2.3)
- GPU-friendly focus animation and opt-in
reduced_motion(#119, @occcat): the glass highlight is cached as a hardware layer and the ambient glow is a small bitmap instead of a CPU-drawn gradient, so the spring stops crawling on MediaTek sets from 2019.reduced_motioninconfig.xmlor a theme calms the motion further for TVs whose GPU still cannot keep up. - Settings and Wi-Fi pills fall back to Xiaomi's own settings app on China firmware (#129, @321sssrt-bit).
- Down from the top buttons returns to the dock tile you came from (#138, @AleksanderSandnes).
- App banners load at xhdpi or better on low-density TV UIs (#131, @angelwzr).
- The remote's Settings button opens Settings through the opt-in Home key service, including gear buttons Android leaves unmapped (#193, @TuanTITAN85).
- Tile labels go through the same cleaner as module-card labels, so a bidi override cannot redraw a tile's name (#117), and pressing Home while on Home returns to the top row (#118). Both found by @udhaykumarbala.
- Translations: Serbian Latin (#145, @miki995), Polish (#158, @adrbsk91), Arabic (#168, @majnioui), Turkish (#188, @cayisik); Russian completed (#141, @angelwzr). Twelve languages.
Install and tools
- The install script finds the JDK and SDK on Linux (#139, @AleksanderSandnes), stops when
pm installfails before touching the stock launcher (#190, @rachit-jain), and recognises Xiaomi'scom.mitv.tvhomeas a stock launcher (#128, @321sssrt-bit). b64push.pyworks with pre-Nougat adbd by following the TV's announced payload size (#147, @terryli-94) and keeps chunks a multiple of 3 so the base64 stream decodes (#187, @mustafa4101996ahmed).disable.shandrestore.shresolve list paths against the directory you run from, with a test (#153, @alfibi).
Debloat lists
54 TVs across 23 brands, 24 new since 2.2:
Sony BRAVIA 9 II (#127, @JegoVPN), Thomson 32HE5800 (#130, @MarioParraL), CHiQ GTVU65 (#133, @Mfolio), TCL BeyondTV EU/Nordic (#137, @AleksanderSandnes), Hitachi 65QLEDSM20 (#144, @ajurcevic), Sony KD-55X80J (#145, @miki995), Sony BRAVIA 4K GB (#154, @jcardonne), Xiaomi MiTV-ASTP1 China firmware (#128, @321sssrt-bit), Panasonic 4KTV-JUP (#142, @KimiWang2046), Redmi MiTV-ANTL0 on Android 5.1.1, debloat half only (#148, @terryli-94), TCL 40S5400A (#159, @adrbsk91), Skyworth SWTV-21AE (#161, @fakhringuyen), Xiaomi Mi Box S 2nd gen (#169, @Bahriish), Sony BRAVIA AE2 (#171, @ptrinh), Xiaomi MiTV-MOSR4 (#177, @heybyben), Philips 50PUS8517, the first TP Vision list (#178, @veikus), TCL BeyondTV2 Latin America (#179, @eddysangalli), TCL 50EP680 (#181, @jiri-cermak), Vu 4K (#182, @harshmandalgi), Sony BRAVIA BF1 (#183, @EswaramoorthyKarthikeyan), Hisense HiSmartTV A4 (#184, @prateekjaindev), Xiaomi TV Box S 3rd gen (#185, @dennisblokland), Sony KD-65X80J (#191, @rachit-jain), and the first Fire OS 6 list, Fire TV Stick 4K (#195, @IdentityDC).
Compatibility notes for the Xiaomi S Pro "freeguy" live in docs/devices/ (#160, @rowanchen-com).
Docs, showcase and the repo
- Ad-blocking Private DNS as an optional extra in the FAQ and the prompt (#157, @majnioui). How to tell an enabled accessibility helper from a bound one in
docs/TROUBLESHOOTING.md(#186, @maam00). - Showcase: a Sony China fork (#126, @roninriddle), CleanMyTCL for Android TV 9 (#180, @eddysangalli), Fire TV Glass for Fire OS 8 (#196, @ivantrj). Twelve projects built on top.
- README: a numbers line, six screenshots, live badges, the contributor wall. CI now builds the launcher and validates every list on each pull request; issue forms, a PR checklist and a code of conduct; Discussions are open.
45 pull requests merged since 2.2.0. Thank you.