Here's How to De-Tivo Your Stream + Speed It Up

Discussion in 'TiVo Stream 4K' started by ptcfast2, May 14, 2020.

  1. ptcfast2

    ptcfast2 Member

    72
    100
    May 10, 2020
    To remove the majority of Tivo's customizations so you can simply use the Stream as an Android TV dongle that you have control over. With this guide, we leave the auto-pairing service for the remote, disable all the Tivo related applications/customization locks, and keep the OTA Updater. A lot of this stuff runs in the background and slows down the Stream a great deal when enabled.

    If you wish to disable automatic remote programming, please see this guide: Here's How To Disable Tivo's Automatic Remote Programming
    1. Enable Developer Mode by going to Device Preferences --> About --> Build and click it a few times until it tells you that you are a "Developer".
    2. Then go to Device Preferences --> Developer Options--> USB Debugging and enable this option.
    3. Go to Network & Internet --> Available Networks and click your connected WiFi network to see what your Stream's IP address currently is.
    4. Download and install adblink
    5. In adblink enter your Stream's IP address in the "Ad Hoc IP" field.
    6. Click "Connect". You'll be prompted to accept the connection on the Stream itself - accept it and also remember the device if prompted.
    7. Once adblink reports that you are connected click "ADB Shell"
    8. Copy and paste the following commands in the terminal window:
    pm uninstall -k --user 0 com.utsmta.app
    pm uninstall -k --user 0 com.tivo.tivoplusplayer
    pm uninstall -k --user 0 com.tivo.tvlaunchercustomization
    pm uninstall -k --user 0 com.droidlogic.overlay
    pm uninstall -k --user 0 com.nes.bugtracker
    pm uninstall -k --user 0 com.nes.tvglobalkeyhandler
    pm uninstall -k --user 0 com.nes.daemonservice
    pm uninstall -k --user 0 com.nes.skywayclient
    pm uninstall -k --user 0 com.droidlogic.SubTitleService
    pm uninstall -k --user 0 com.limark.deviqcoreagent
    pm disable-user --user 0 com.tivo.atom
    reboot
    The above commands allow you to completely customize Android TV as a generic box without any Tivo locks and customizations. I've left things you can manually disable via the App menu on the device enabled - if there's other stuff you don't want to see you can go there to remove other bundled non-Tivo apps.

    If you wish to enable any of the apps you disabled, you can do so from the application menu on the device, or simply replace pm uninstall -k --user 0 on each command with cmd package install-existing and then reboot the device. These commands do not remove the packages from the device, they simply remove these from running under your current user which allows for better performance and customization.

    If you want to remove the core Tivo Stream app from showing up on your home screen go to Settings --> Device Preferences --> Home Screen --> Customize Channels --> Tivo Stream.

    Speed Up Animations (Optional)
    Under the Device Preferences --> Developer Options menu there are 3 menu items called Windows animation scale, Transition animation scale, and Animation duration scale set to values of 1x. You can set these to .5x instead and it will speed up the animations of Android TV a bit.
     
    Last edited: May 21, 2020
  2. spiderpumpkin

    spiderpumpkin Say no to Hydra!

    295
    174
    Dec 1, 2017
    Done and done.

    After running all the ADB commands and rebooting I went into Home Screen setting - Customize channels and unchecked the Play Next Tivo Stream Recommended setting that wasn't uncheckable before.

    Awesome. Thanks.
     
    Last edited: May 14, 2020
  3. spiderpumpkin

    spiderpumpkin Say no to Hydra!

    295
    174
    Dec 1, 2017
    Afterwards there are 2 apps with Tivo in name. Any idea what com.uei.uas.tivo app is?
     

    Attached Files:

  4. ptcfast2

    ptcfast2 Member

    72
    100
    May 10, 2020
    It's the auto programming APK feature for the remote. I wrote a separate guide for it here. The other one is the service that auto-pairs the remote if it's a new remote as far as I can tell.
     
  5. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    Thanks! What does the default "TiVo" button action on the remote do once you disable most of the TiVo stuff?
     
  6. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,086
    6,065
    Apr 17, 2000
    Nevada
    Can you test if after this modification allows you to remap the Live TV button? That's the only button, besides Netflix, that Button Mapper doesn't recognize. If I could remap the Live TV button I think I could make this work a lot better for me.
     
    Last edited: May 14, 2020
    zyzzx likes this.
  7. ptcfast2

    ptcfast2 Member

    72
    100
    May 10, 2020
    One of the reasons it might not recognize it is because it's in a weird range of key codes. According to the XML file that defines the custom keys for the Tivo. It's possible Button Mapper isn't configured to see that range or something - might be worth asking the developer about.

    Code:
    <configurations>
    
        <!-- Factory Test -->
        <key KeyCode="5115">
            <key_name>KEYCODE_NES_SHORTCUT_01</key_name>
            <package_name>com.utsmta.app.showapp</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <!-- ALL APPS -->
        <key KeyCode="5116">
            <key_name>KEYCODE_NES_SHORTCUT_02</key_name>
            <package_name></package_name>
            <class_name></class_name>
            <action_name>android.intent.action.ALL_APPS</action_name>
        </key>
    
        <!-- Netflix -->
        <key KeyCode="5117">
            <key_name>KEYCODE_NES_SHORTCUT_03</key_name>
            <package_name>com.netflix.ninja</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <!-- Youtube -->
        <key KeyCode="5118">
            <key_name>KEYCODE_NES_SHORTCUT_04</key_name>
            <package_name>com.google.android.youtube.tv</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <!-- DVB -->
        <key KeyCode="5119">
            <key_name>KEYCODE_NES_SHORTCUT_05</key_name>
            <package_name></package_name>
            <class_name></class_name>
            <action_name>com.nes.intent.action.NES_LIVE_TV</action_name>
        </key>
    
        <key KeyCode="5120">
            <key_name>KEYCODE_NES_SHORTCUT_06</key_name>
            <package_name>com.google.android.music</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <key KeyCode="5121">
            <key_name>KEYCODE_NES_SHORTCUT_07</key_name>
            <package_name>com.google.android.videos</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <key KeyCode="5122">
            <key_name>KEYCODE_NES_SHORTCUT_08</key_name>
            <package_name>com.android.vending</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <key KeyCode="5123">
            <key_name>KEYCODE_NES_SHORTCUT_09</key_name>
            <package_name>com.google.android.play.games</package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <key KeyCode="5124">
            <key_name>KEYCODE_NES_SHORTCUT_10</key_name>
            <package_name>com.tivo.atom</package_name>
            <class_name>com.cubiware.cubiexperience4.mvp.tivomain.TivoMainActivity</class_name>
            <action_name>com.tivo.live</action_name>
        </key>
    
        <key KeyCode="5126">
            <key_name>KEYCODE_NES_RESET_LONGPRESS</key_name>
            <package_name>com.nes.tivo.remote.pair</package_name>
            <class_name>com.nes.tivo.remote.pair.LauncherActivity</class_name>
            <action_name></action_name>
        </key>
    
        <!-- For Router device reset -->
        <key KeyCode="5103">
            <key_name>KEYCODE_NES_ROUTER_RESET</key_name>
            <package_name></package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <!-- For Router device reboot -->
        <key KeyCode="5104">
            <key_name>KEYCODE_NES_ROUTER_REBOOT</key_name>
            <package_name></package_name>
            <class_name></class_name>
            <action_name></action_name>
        </key>
    
        <key KeyCode="172">
            <key_name>KEYCODE_GUIDE</key_name>
            <package_name>com.tivo.atom</package_name>
            <class_name>com.cubiware.cubiexperience4.mvp.tivomain.TivoMainActivity</class_name>
            <action_name>com.tivo.guide</action_name>
        </key>
    
        <key KeyCode="173">
            <key_name>KEYCODE_DVR</key_name>
            <package_name>com.tivo.atom</package_name>
            <class_name>com.cubiware.cubiexperience4.mvp.tivomain.TivoMainActivity</class_name>
            <action_name>com.tivo.home</action_name>
        </key>
      
    </configurations>
    
     
  8. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,086
    6,065
    Apr 17, 2000
    Nevada
    OK cool. Their Pro version says it can do custom key mapping. I'll pay the $3 to unlock and see if I can get it to work.
     
    leiff likes this.
  9. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    I think it may be worth consolidating all these adblink based customizations into 1 post (with different sections for each) and making that a sticky. As it is now there are at least 3 different threads with information scattered that will get lost over time.
     
    osu1991 and cherry ghost like this.
  10. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,086
    6,065
    Apr 17, 2000
    Nevada
    My ultimate goal would be to remap it so...

    Guide = App List
    TiVo = Home
    Back = Replay
    Skip = Skip Forward (one that works in all apps)
    Home = Back
    Live TV = Play/Pause

    I think that would give a better generic Android TV experience with the remote for someone that's not using Sling or the TiVo app.
     
  11. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,086
    6,065
    Apr 17, 2000
    Nevada
    If ptcfast2 wants to do that I'll make it a sticky. I don't want to steal his thunder and consolidate them all into a post that looks like it's authored by me though.
     
    cherry ghost likes this.
  12. jimpmc

    jimpmc Active Member

    159
    57
    Oct 31, 2001
    FYI, App List is long press of the Circle
     
  13. ptcfast2

    ptcfast2 Member

    72
    100
    May 10, 2020
    I can make a tips and tricks thread - I didn't think I would be venturing this far down the rabbit hole with this device when I made the first thread. :eek:
     
    kpeters59 likes this.
  14. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    I noticed your commands changed in this thread since 1st post I saw.
    "pm uninstall" is not a recognized command. Should it be the following instead?
    cmd package uninstall
     
  15. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    Never mind, there was a problem with my adblink shell...
     
    ptcfast2 likes this.
  16. ptcfast2

    ptcfast2 Member

    72
    100
    May 10, 2020
    You might need to re-enable them all and then use those commands. I've just been figuring out the best mix of commands to run so the stuff actually stops running, and disabling it isn't exactly the correct way for some of the apps.

    Should look like this if the package is installed and enabled and then you go to uninstall it for a user:

    Code:
    SEI400TV:/ $ cmd package install-existing com.nes.tvglobalkeyhandler
    Package com.nes.tvglobalkeyhandler installed for user: 0
    SEI400TV:/ $ pm uninstall -k --user 0 com.nes.tvglobalkeyhandler
    Success
    
    In your case run this and then run the commands now in the guide for a fresh start:
    Code:
    pm enable com.utsmta.app
    pm enable com.tivo.tivoplusplayer
    pm enable com.tivo.tvlaunchercustomization
    pm enable com.droidlogic.overlay
    pm enable com.nes.bugtracker
    pm enable com.nes.tvglobalkeyhandler
    pm enable com.droidlogic
    pm enable com.nes.daemonservice
    pm enable com.nes.skywayclient
    pm enable com.droidlogic.SubTitleService
    pm enable com.limark.deviqcoreagent
    reboot
     
  17. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    You're going to re-map the "back" button?? That's a vital button for all apps and Android TV OS too.
     
  18. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,086
    6,065
    Apr 17, 2000
    Nevada
    Just put it in a different location. I want skip back/instant replay. I was just going to make back the circle button that's currently Home and make the TiVo button Home instead.
     
  19. moyekj

    moyekj Well-Known Member

    12,164
    812
    Jan 23, 2006
    Mission...
    Got it. What video applications do you use that support 1 button press for skip back and skip forwards?
     
  20. spiderpumpkin

    spiderpumpkin Say no to Hydra!

    295
    174
    Dec 1, 2017
    You wrote com.tivo.stream above. That disable command doesn't work but replacing it with com.tivo.atom disables the Stream app. Are com.tivo.stream and com.tivo.atom the same?
     

Share This Page