README: the launcher is about 500 KB with the zh-CN strings from #1319; card redrawn

This commit is contained in:
Gathin23 committed 2026-10-24 23:31:15 +05:30
1 parent ca277fc5ac
commit 204143007f
5 files changed
+5 -5

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
# How CleanYourTV PRs are reviewed
CleanYourTV (Gathin23/cleanyourtv) is a prompt plus tools that debloat Android TV / Google TV / Fire TV over
ADB and a tiny native launcher (`launcher/`, plain Java, ~497 KB, for 1 GB TVs). Contributors mostly add
ADB and a tiny native launcher (`launcher/`, plain Java, ~500 KB, for 1 GB TVs). Contributors mostly add
tested TV lists under `examples/<tv>/`, translations, docs, small launcher options, themes, add-ons and tools.
## The policy: a small core plus a well-indexed hub
+3 -3
View File
@@ -19,7 +19,7 @@
</p>
<p align="center">
<a href="docs/PRESS.md"><img src="docs/card.jpg" alt="280 TV models · 81 brands · 25 languages · 497 KB launcher. Featured in TechCrunch, TechRadar, Tom's Guide, Mashable, Android Authority, XDA, FlatpanelsHD, It's FOSS, Phandroid, GIGAZINE, Xataka, WinFuture, Frandroid, Macitynet, Techaeris, TechPP and 180 more: 196 articles from 32 countries. Before: stock Google TV home with a sponsored ad. After: the Clean Your TV launcher." width="800"></a>
<a href="docs/PRESS.md"><img src="docs/card.jpg" alt="280 TV models · 81 brands · 25 languages · 500 KB launcher. Featured in TechCrunch, TechRadar, Tom's Guide, Mashable, Android Authority, XDA, FlatpanelsHD, It's FOSS, Phandroid, GIGAZINE, Xataka, WinFuture, Frandroid, Macitynet, Techaeris, TechPP and 180 more: 196 articles from 32 countries. Before: stock Google TV home with a sponsored ad. After: the Clean Your TV launcher." width="800"></a>
</p>
**The viral tweet:** [x.com/gathint/status/2111379569030939102](https://x.com/gathint/status/2111379569030939102)
@@ -455,7 +455,7 @@ tools/theme.sh themes/aurora # push a theme; --r
| [`tools/flamechart.py`](tools/flamechart.py) | Draws a before/after flame chart from those traces, for a pull request: one lane per thread on a shared time scale, the work a change targets in magenta with its total. Optional, like the trace tools. [Guide](tools/flamechart.md). |
| [`tools/screendiff.py`](tools/screendiff.py) | Compares a before and an after screenshot pixel by pixel, leaving out the clock or anything you mask, and writes the pair with your Wi-Fi name blurred. Optional, like the trace tools. [Guide](tools/screendiff.md). |
| [`tools/race_calendar.py`](tools/race_calendar.py) | Writes this season's F1 calendar into a theme for race-weekend mode, from the free Jolpica API. |
| [`launcher/build-and-install.sh`](launcher/build-and-install.sh) | Builds a shrunk release (about 497 KB), installs it, switches Home, and rolls back if Home does not land on it. |
| [`launcher/build-and-install.sh`](launcher/build-and-install.sh) | Builds a shrunk release (about 500 KB), installs it, switches Home, and rolls back if Home does not land on it. |
The scripts never leave the TV without a Home app: they only disable a stock launcher they recognise,
and skip the Home app in a list until another launcher answers HOME. Details below.
@@ -527,7 +527,7 @@ apps), which is why the report names that loss per package instead of calling it
## The launcher
A small native home screen for Android TV: **about 497 KB**, plain Java, built for TVs with 1 GB of RAM.
A small native home screen for Android TV: **about 500 KB**, plain Java, built for TVs with 1 GB of RAM.
No blur, no video, no network permission, no background services.
The **TV** needs Android 8.0 (API 26) or newer: `minSdk` is a compile-time floor in
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 179 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+1 -1
View File
@@ -12,7 +12,7 @@ except ImportError:
sys.exit("readme_stats.py needs Pillow: tools/venv/bin/pip install -r tools/requirements-perf.txt")
FONT, OUT = sys.argv[1], sys.argv[2]
STATS = [("280", "TV MODELS"), ("81", "BRANDS"), ("25", "LANGUAGES"), ("497 KB", "LAUNCHER")]
STATS = [("280", "TV MODELS"), ("81", "BRANDS"), ("25", "LANGUAGES"), ("500 KB", "LAUNCHER")]
W, H = 1600, 240
img = Image.new("RGB", (W, H), "#15181e"); d = ImageDraw.Draw(img)
def f(size, wt):