# Haier MatrixTV GE (ro.product.model "Haier MatrixTV GE", product HR9216EU, device haeundae), # Google TV 14 (API 34), firmware UKN6.260116.152, MediaTek (CVTE-family board: com.cvte.tv.at, # com.cvte.autobacklight present), 1920x1080 panel, UI rendered at 1280x720 (wm size override), 213 dpi. # Tested on 23 October 2026 on one set, including two reboots. # # Apply: TV_HOST= tools/disable.sh examples/haier-hr9216eu/debloat.txt # Undo: TV_HOST= tools/restore.sh examples/haier-hr9216eu/debloat.txt com.google.android.apps.tv.launcherx # Everything is DISABLED, not uninstalled. Comment out any line you want to keep. # # Stock launcher: com.google.android.apps.tv.launcherx (.home.HomeActivity). # Live TV: com.mediatek.wwtv.tvcenter (.nav.TurnkeyUiMainActivity). # Already disabled from the factory on the test set: com.mediatek.wwtv.tvcenter.plus, com.wbd.stream, # in.startv.hotstar.dplus.tv, com.iqiyi.i18n.tv, com.truedmp.idtv, com.tencent.qqlivei18n, # com.netflix.ninja, com.amazon.amazonvideo.livingroom. Netflix was re-enabled by owner choice; the # other streaming apps stayed off. # # setupwraith owns the saved Wi-Fi on a freshly set-up unit: the network's creator was # com.google.android.tungsten.setupwraith (dumpsys wifi cname=), so disabling it deletes the network # and takes the TV off Wi-Fi and ADB. Forget and re-join the network first (then cname=android.uid.system); # `cmd wifi forget-network 0` from the shell works when the TV's own Forget menu does not take. # disable.sh refuses setupwraith until that is done. # # This firmware re-enables two of its own packages at every boot (seen on two reboots): # com.haier.oemtabprovider and com.haier.launcher.haiermatrix. Both are inert with the stock home # disabled (the Haier tab they feed is launcherx's), so leave them or disable them again after a boot. # # The remote's gear button sends KEY_UNKNOWN, scancode 240 on /dev/input/event3 ("HaierTV-RC Keyboard"); # put 240 in settings_key_scancodes in launcher config.xml before building, HOME_KEY_SERVICE=1 on the install # line. That service costs the volume ramp on this set too (one step per press while bound) - the same # all-or-nothing key-filter trade as docs/devices/tcl-55p71b-g09-key-repeat.md, here on Google TV 14. # Netflix / YouTube / Input / Live TV / voice buttons all work with no helper (Haier's own # GlobalKeyReceiver services answer them). # # Port 5555 opens with `adb tcpip 5555` but does not survive a reboot (setprop persist.adb.tcp.port is # refused). Wireless debugging (_adb-tls-connect._tcp) survives and re-advertises on mDNS; reopen 5555 # through it when the repo's tools (tv.py over 5555) are needed again. # # KEEP, even though the names look like bloat (components checked with dumpsys package): # - com.haier.appmanager.dispatcher, com.haier.hkcfac, com.haier.tv.hmagicboard: global key receivers # (remote hot keys; hmagicboard also sound settings). # - com.mediatek.autopair, com.haier.bt_pair_tips: Bluetooth remote pairing. # - com.google.android.tv.googletvremotepairer (+ its mediatek overlay): remote pairing activities. # - com.telink.lt: remote (Telink BLE) firmware, also claims HOME at priority 0. # - com.cvte.tv.at, com.cvte.autobacklight, com.at.factory.androidtvaidlservice, mediatek.factorymenu.ui: # factory / backlight - never disable, never open. # - com.mediatek.wwtv.tvcenter, com.mediatek.tvinput, com.mediatek.tv.service, com.mediatek.wwtv.setupwizard, # com.mediatek.wwtv.setup.customization, com.google.android.tv.inputplayer, com.mediatek.wwtv.mediaplayer, # com.mediatek.androidbox (HaiCast / Miracast), com.mstar.android.tv.disclaimercustomization. # - com.cltv.hybrid: iwedia channel-list UI (claims generic VIEW channel intents alongside tvcenter). # - com.google.android.katniss (Assistant), com.google.android.apps.mediashell (Chromecast): kept by # owner choice; disable if you use neither. # Haier content, ads, IoT, cleaner, e-manual com.haierubic.usmartdevice # Haier smart-device / IoT service com.haier.oemtabprovider # the "Haier" tab on the Google TV home (re-enabled at boot) com.haier.apps # Haier promo content app com.haier.launcher.haiermatrix # Zeasn content launcher, not the system Home (re-enabled at boot) com.haier.tvhousekeeper # "TV housekeeper" cleaner com.haier.emanual9603 # e-manual # Telemetry, partner rows, preloads, retail demo com.google.android.feedback # Google usage feedback tv.anoki.acr.anokiacroptin # Anoki ACR opt-in (content recognition) com.mediatek.android.leanbacklauncher.partnercustomizer # partner rows on the stock home com.google.android.play.games # preloaded fusion.android.tv.demo # retail demo mode # By owner choice com.google.android.youtube.tvmusic # YouTube Music, not used com.google.android.apps.tv.dreamx # Google TV ambient / AI screensaver, not wanted # Google TV home handover. setupwraith's RecoveryActivity claims HOME at priority 1 and takes over # once launcherx is disabled, so both go - see the Wi-Fi note above before disabling setupwraith. com.google.android.tungsten.setupwraith