Repository navigation
Launcher: Clean Home personal build for TCL G10 on Android 14, with three TclAppBoot findings - #3210
dhungana-dinesh wants to merge 2 commits into
Conversation
…lock A personal build of the reference launcher for a TCL Smart TV Pro (G10_4K_GB, Realtek rtd6748, Android 14 UTT2.250416.001), not intended for upstream: it changes the look, adds a network-backed weather addon and turns several defaults on. - App name is Clean Home, translated in all 30 locales. - The weather helper addon (addons/weatherline) publishes a reading through a content provider; the launcher keeps no INTERNET permission and only reads that provider. - The clock screensaver gained the weather line with an emoji and a glow coloured by the condition and the real sunrise/sunset: curated day/night colours, a wide soft radius, a static vignette, and the clock stamped lower-left at 132sp. - The settings panel is reachable from the remote's Settings key on any screen, with a same-press guard so it does not close on the press that opened it, and slide-in/out animations. - TCL's boot guard needs ASSOC_START as well as AUTO_START allowed for the weather helper, or the provider query fails and the line hides.
|
maintainer-bot review · suggests your own fork, with a row in SHOWCASE.md (p2) Thank you for this, the careful TCL G10 Android 14 investigation! The launcher here stays small on purpose (fixes, translations and small switches that are off by default), so a change this size lives best in your own fork. We'd love to feature it: add one row for your fork to SHOWCASE.md in a small PR, and people looking for exactly this can find it. (Where does my idea go?) Checks
This is a suggestion; a maintainer makes the final call. A maintainer can comment Reviewed by maintainer-bot · runs on 0G Private Computer |
…n Home The 29 translated names were my own wording, not reviewed by a speaker, and they were also 252 B of resources.arsc against a size gate with almost no headroom. The default string now reads Clean Home and the locales fall back to it; a translation can land per-locale later, through the usual workflow.
|
Thank you @dhungana-dinesh, the TclAppBoot digging on the G10 is excellent. A renamed personal build plus a network add-on lives best in your fork, so please add one SHOWCASE.md row for it in a small PR. Your ASSOC_START finding is going in this round through #3212, and the note that force-stop clears the key helpers would be welcome as its own small docs/TROUBLESHOOTING.md PR. |
What this is
A personal build of the launcher for a TCL Smart TV Pro (G10, product
G10_4K_GB, Realtek rtd6748,Android 14 / SDK 34, firmware
UTT2.250416.001), published so the work is visible rather than tochange this project's defaults. Please treat it as a discussion piece first — I expect parts of it
belong in a fork or in
SHOWCASE.mdrather than here, per "Where a change goes".What it does
Clean Home).addons/weatherline: a new add-on publishing onelinethrough a content provider(
content://io.github.sumyabazar1.weatherline/today). The launcher still has noINTERNETpermission and does no polling of its own — it reads that provider, which is how it stays within
the "no network in the launcher" rule.
sunrise/sunset for the configured place: curated day/night colours, wide soft radius, a static
vignette (
res/drawable/dream_vignette.xml), clock stamped lower-left at 132sp.that opened it does not close it, plus slide-in/out animations.
HomeSettingsActivity, the Bluetooth and Sound icons, styles for the panel.On the TV
G10_4K_GB, Android 14,UTT2.250416.001. Home taken over withlauncherxandsetupwraithdisabled; Home and the key helpers verified across several real reboots.tools/tv.py --screenshot(see the note onscreenshots below).
Things I found that may be worth taking on their own
These cost me hours and are not specific to this personal build:
TclAppBootneedsASSOC_START, not onlyAUTO_START.docs/TROUBLESHOOTING.mdsays toallow
APP_AUTO_START(appops set <package> APP_AUTO_START allow). On this firmware that name isrejected —
cmd appops set ... APP_AUTO_START allowanswers Unknown operation string. WithAUTO_STARTallowed andASSOC_STARTatignore, the firmware refuses to start the helper'sprovider for the launcher, the query throws, and the weather line hides itself (by design, so a
missing provider costs no layout).
ASSOC_STARTappears nowhere in this repository. The fix thatworked, and survived reboots:
appops set <package> ASSOC_START allow; appops write-settings.am force-stop <launcher>clearsenabled_accessibility_services(it readsnull), so the keyhelpers stop serving the app buttons and the Settings key on screens where the launcher itself is not
handling the key. That half-works on Home and looks like a partial regression.
launcherxis enabled on this firmware, its App info has no Disable button — only Force stopand Uninstall updates. So the switch back is ADB-only.
cmd role add-role-holder android.app.role.HOMEand
cmd package set-home-activityboth leave Home on launcherx (the latter answersSuccessandchanges nothing); only
pm disable-usermoves it.work/launcher-toggle.shin my notes clearscmd package clear-package-preferred-activitiesfor the same reason.Happy to split any of those into a small docs PR without the rest.
Checklist, as this project asks
python3 -m unittest discover -s tests -v) — not green: 16 failures + 1 error, all fromthis branch, plus one that fails on
maintoo (test_the_refusal_comes_before_the_host_is_looked_at).The new ones are the consequences of the add-on and the rename:
weather_providerhas no row in theKeys table,
addons/weatherlinehas noaddons/README.mdrow or screenshot, Hebrew resources lackquick_sound/quick_bluetooth, and the reserved-name and addon-isolation tests trip on "Clean Home"and the add-on's name in a config comment.
mainbuilds 587,437 B,so there is only 2,387 B of headroom for any launcher change at all.
lintReleasecompletes; no new errors.want to publish either. I can add cropped ones on request.
cinematic_home,ambient_glow,app_glow,glow_snapandsettings_key_panelare turned on inconfig.xmlin this branch. That is a rule break as written,and I would revert those for a real PR.
Why I am opening it anyway
You asked for it to be visible rather than merged blind, and I would rather you see the whole thing than
describe it. My own recommendation is to take items 1–3 above as a small docs PR and send the rest to
SHOWCASE.mdor leave it in my fork. I will not be offended by that, and I am happy to do the splitting.