# TiVo Stream 4K (SEI Robotics IPA1104HDW, SKU RA2400, device SEI400TV, Amlogic S905Y2, NES middleware), 2 GB RAM # Android TV 12 (SDK 31), build SC.1272, 32-bit (armeabi-v7a), security patch 2025-07-05 # # Apply and undo: the commands in README.md here, NOT tools/disable.sh (this firmware refuses it). # Everything is SUSPENDED and barred from the background, not disabled or uninstalled. # Comment out any line you want to keep. # # Stock launcher: com.google.android.tvlauncher (classic Android TV). HOME priority 2, so set-home-activity says # "Success" and changes nothing; README.md here explains how Home reaches another launcher. A streaming stick: no # HDMI inputs and no tuner. Suspending the stock launcher only works after it stops owning the HOME role. # # Known quirks on this firmware: # - Every pm disable-user, pm disable and pm hide is refused ("This command is illegal!"); pm uninstall # --user 0 is refused for core apps. pm suspend and appops work and survive a reboot. # - Port 5555 opens as soon as USB debugging is on, with a per-computer prompt; there is no separate network toggle. # - com.nes.coreservice runs EvoBlackListAppsFun at every start (its BootReceiver, kicked by the persistent # com.nes.daemon): it uninstalls every non-system app whose activity declares android.intent.category.HOME, and a # fixed list of 53 packages from array/evo_black_list_to_uninstall_pkgs (alternative launchers, Downloader, # Magisk, IPTV "Magis TV" variants). Suspending it does not stop its boot receiver. # - A suspended package still gets its boot broadcasts: coreservice, sageservice, tvlauncher, katniss, # tvrecommendations and tvbugtracker are running again after a boot. Stop them with am force-stop. # # Kept on purpose (checked with dumpsys package): # com.uei.uas.tivo UEI QuickSet: the remote switches the TV on and off # com.sei.hdmi.services HDMI-CEC # com.nes.tivo.remote.pair Bluetooth remote pairing; remote.ota updates the remote's firmware # com.google.android.apps.mediashell Chromecast (suspending it saved no memory: another component binds it) # Play Store, Play Services, keyboard, TV Settings # Telemetry and feedback com.google.android.feedback com.google.android.partnersetup # Google RLZ partner attribution pings com.nes.tvbugtracker # NES bug tracker # App blocker and NES background services com.nes.coreservice # uninstalls launchers and sideload tools at boot; polls the update status once a second com.nes.daemon # persistent: the system re-creates it, so suspending changes nothing visible com.tivo.sageservice # TiVo service, no use outside the US # Recommendations, partner rows and auto-installs com.google.android.tvrecommendations # also switch its notification listener off: cmd notification disallow_listener android.autoinstalls.config.sei # Play auto-install of partner apps # Preloaded apps, off by choice com.android.printspooler com.google.android.marvin.talkback # re-enable if you need the screen reader # Stock launcher and unused services: only once another launcher answers the Home key and the HOME role has # moved. The launcher in this repo doesn't take Home on this box yet, so these stay commented out here. # com.google.android.tvlauncher # com.google.android.backdrop # ambient screensaver # com.android.camera2 # no camera on a stick # com.android.gallery3d # com.google.android.katniss # Assistant; also clear settings assistant and voice_interaction_service, or the system keeps it alive # Already removed by the owner before the list (pm uninstall --user 0), kept as comments so a fresh box can decide: # com.tivo.atom # com.tivo.tivoplusplayer # com.tivo.tvlaunchercustomization # com.nes.skywayclient # NES device manager: boot ads, silent installs, firmware check # com.nes.tvglobalkeyhandler # remote shortcut keys # com.utsmta.app # NES factory test app # com.google.android.play.games