# Tornado 65UA1400E (El Araby, Egypt; Skyworth-built SW4H, product SW4H_Tornado, board SW4, MediaTek m7332), # Android TV 11 (API 30), firmware RTM5.220609.106 (built 2023-12-08), security patch 2023-10-06. # Fingerprint Tornado/SW4H_Tornado/SW4H:11/RTM5.220609.106/20231126:user/release-keys. # ro.product.model "TORNADO Android TV", manufacturer skyworth. armeabi-v7a, 1.7 GB RAM, 1920x1080 @ 320 dpi. # Same Skyworth SW4H platform as examples/panasonic-4ktv-0su and examples/karbonn-swtv-20ae. # Unit 2: realme Smart TV (India), product SW4H_FF_realme, device SW4H_FF, board SW4, MediaTek m7332, the same # build RTM5.220609.106 (built 2023-12-08, security patch 2023-10-06), armeabi-v7a only, 1.7 GB RAM, # 1920x1080 @ 320 dpi. Its notes are under "Unit 2" below. # # Apply: TV_HOST= tools/disable.sh examples/tornado-65ua1400e/debloat.txt # Undo: TV_HOST= tools/restore.sh examples/tornado-65ua1400e/debloat.txt com.google.android.tvlauncher # Everything is DISABLED, not uninstalled. Comment out any line you want to keep. # # Stock launcher: com.google.android.tvlauncher (classic Android TV home, not Google TV launcherx) # Live TV app: com.smartdevice.livetv (Skyworth Live TV / input OSD); inputs in com.mediatek.tvinput. # HOME claimants: tvlauncher, com.google.android.tungsten.setupwraith (priority 4), Settings' FallbackHome. # setupwraith does NOT own the saved Wi-Fi network here (android.uid.system), but it is # kept anyway: nothing on this list needs it gone. # Updates: no separate firmware-update package; updates live in Settings. # # Disabled at the factory, so not listed (restore.sh would turn them ON): com.sky.market, # com.smartdevice.tvworkwithalexa. Unit 2 also ships com.homwee.howtocast, com.smartdevice.dtv.icast (CastPlay) # and com.liskovsoft.leankeyboard disabled, and has no com.smartdevice.recommendation or # com.Smartdevice.emanual installed at all (disable.sh only reports them as missing). # # KEEP, even though the names look like bloat (checked on this TV with dumpsys package): # - fusion.android.tv.demo: receives com.mstar.android.intent.action.TV_INPUT_BUTTON (the remote's Input # key), as on examples/jvc-android-tv-menlo. The Panasonic SW4H list disables it; do not copy that here. # - com.mediatek.partner.netflix: serves a TvInputService and handles the Netflix button. # - com.mediatek.wwtv.tvrecommendation: asks for TV_INPUT_HARDWARE (disable.sh would skip it anyway). # - com.smartdevice.firewall (purpose unclear), com.smartdevice.dtv.icast (CastPlay), com.tianci.localmedia # (USB media), com.google.android.backdrop (kept; the launcher's Clock is set as the active screensaver), # katniss (Assistant), mediashell (Chromecast), tv.remote.service: kept by the owner's choice. # - Every streaming / user app is kept and shows in the launcher grid. # # Status: applied in four batches on one TV on 2026-10-22, with a screenshot and a Live TV / Input-key check # after each; tools/restore.sh tested after batch 1 (package lists and Home identical to a snapshot), then # re-applied. Verified after two reboots: nothing re-enabled (tools/check.py clean), launcher/ is Home, Inputs # menu (HDMI 1-3, AV, Live TV), Live TV, Netflix, and on the real remote Home, Back, Input (Skyworth source # panel), Netflix, YouTube, mic and Settings keys all work with no key service. Hours of use, not days yet. # Measured at 180 s uptime after a reboot: Home drawn at 48.2 s -> 40.2 s, used PSS 810 MB -> 739 MB. # # Quirks on this firmware: # - /proc/meminfo MemAvailable and dumpsys "Free RAM" report impossible values (hundreds of GB of cached # kernel memory on a 1.7 GB set): compare Used RAM (PSS) instead. # - The Home handover needs the stock launcher disabled: with tvlauncher enabled (priority 2) Home keeps # resolving to it even after `set-home-activity` prints Success, so run launcher/build-and-install.sh with # the default STOCK_LAUNCHER (it disables tvlauncher, checks Home and rolls back on its own). setupwraith # (priority 4) did not take Home afterwards. # - /vendor/etc/global_settings.txt forces animator_duration_scale=0.6 at every boot; window and transition # scales set to 0.5 stick. # - USB debugging alone opened port 5555; ro.adb.secure=1. # - Yango Play, Jawwy TV and STARZ ON wake at every boot from their own WorkManager/recommendation # receivers (~300 MB together). Kept installed here; `cmd appops set RUN_ANY_IN_BACKGROUND ignore` # then `cmd appops write-settings` (survives reboot) leaves them cached-empty and stops Yango's # :passport and :AppMetrica processes; used PSS 739 MB -> 679 MB. Undo: `cmd appops reset `. # # Unit 2 (realme Smart TV), applied 2026-10-28 in five batches with a screenshot after each, then the # CleanYourTV launcher, two reboots and several days of daily use. Every disable held across both reboots. # Seen on that unit: # - com.smartdevice.speedchannels is installed there and is not in unit 1's list: Coocaa's recommendation # channels (TvRecommendationMainActivity), with a notification-listener service and Coocaa's dataer and # upgrader components. Disabled with batch 2 (below); Home and Live TV were unaffected. # - tools/disable.sh skipped six packages in the first pass because they request no permissions, so its # input-driver check could not read them: android.autoinstalls.config.SW, # com.mstar.android.tv.disclaimercustomization, com.android.htmlviewer, com.android.wallpaperbackup and # both com.android.cts.*ctsshim. They were disabled afterwards with TVINPUT_ALLOW=1, once HDMI 1 and Live TV # had been checked after a reboot. After that Live TV still opened and the TV rebooted onto the launcher; # HDMI was checked before these six went, not again straight after. # - The Home handover worked as on unit 1: launcher/build-and-install.sh with the default STOCK_LAUNCHER # disabled tvlauncher, Home resolved to com.gathin.tvhome, and setupwraith (left enabled) did not take it. # dumpsys wifi listed the saved network's owners as android.uid.system and com.google.uid.shared. # - After each reboot the TV came up on the launcher, not on Live TV (no boot_to_live_tv or power_on_home). # - On the real remote Home, Back, Input, the app buttons and Settings all worked with no key helper (no # HomeKeyService or InputKeyService). This remote has no mic button, so the mic-button check on # com.google.android.tv.remote.service (it runs AtvSearchAssistantService) could not be made; it is kept # anyway, with the Assistant, Chromecast (mediashell) and the other streaming apps. # - Private DNS works on this set (see the README's optional DNS extra). # --- Batch 1: Google attribution/feedback, a print spooler, and Skyworth's partner rows / "Shop" tab com.google.android.feedback # Google feedback uploader com.google.android.partnersetup # partner-app attribution com.google.android.onetimeinitializer # first-run leftover com.android.printspooler # printing, on a TV com.smartdevice.leanbacklauncher.customizer # partner rows and the "Shop" tab on the stock launcher # --- Batch 2: Skyworth ads, ACR and auto-installs com.smartdevice.acr.recommendation # ACR: recognises what is on screen for ad targeting android.autoinstalls.config.SW # Play Auto Installs config that pushes preloads com.smartdevice.recommendation # "Daily Play" sponsored app + row (Coocaa data collector inside) com.smartdevice.epopplayer # e-POP shop-floor promo player com.smartdevice.speedchannels # Unit 2: Coocaa recommendation channels and notification listener com.Smartdevice.emanual # on-screen manual (E-Manual) com.mstar.android.tv.disclaimercustomization # disclaimer screen used only by first-run setup com.qjy.browser # preloaded Chinese WebView browser # --- Batch 3: background services nobody needs on a TV com.android.htmlviewer com.android.backupconfirm com.android.sharedstoragebackup com.android.wallpaperbackup com.android.dynsystem # Dynamic System Updates com.android.cts.ctsshim # Android test shim com.android.cts.priv.ctsshim # Android test shim com.google.android.syncadapters.calendar com.android.providers.calendar # --- Batch 4: only once com.gathin.tvhome owns Home (applied after the launcher took Home) com.google.android.tvrecommendations # stock launcher recommendation rows com.google.android.leanbacklauncher.partnercustomizer # "Featured by Google Play" partner row config # com.google.android.tvlauncher # launcher/build-and-install.sh disables the stock launcher itself, after Home has moved # --- Also disabled on Unit 2 by its owner's choice (apps they do not use; comment in only what you do not use) # com.google.android.play.games # Google Play Games # com.google.android.marvin.talkback # TalkBack screen reader (off unless switched on) # com.google.android.videos # Google TV movies and rentals # com.google.android.backdrop # Ambient-mode screensaver; the launcher's clock replaces it # com.tianci.localmedia # Skyworth "Media" app that plays files from a USB drive