<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
  <title>cretezy.com</title>
  <link>https://aggr.aymericbeaumet.com/sources/cretezy.com/</link>
  <description>Browse aymeric&#39;s, an independent, searchable archive of readable snapshots from followed feeds, preserved in Git with aggr.</description>
  <language>en</language>
  <atom:link href="https://aggr.aymericbeaumet.com/sources/cretezy.com/rss.xml" rel="self" type="application/rss+xml"/>
  <lastBuildDate>Mon, 19 Oct 2026 22:32:37 +0000</lastBuildDate>
  <generator>aggr</generator>
  <item>
    <title>An ad-free Android TV</title>
    <link>https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-19-an-ad-free-android-tv/</link>
    <guid isPermaLink="false">urn:aggr:item:bf352986dd5813c385420e52f1f92b72045d0eb3</guid>
    <atom:link href="https://cretezy.com/2026/ad-free-android-tv" rel="via" type="text/html"/>
    <pubDate>Mon, 19 Oct 2026 22:32:37 +0000</pubDate>
    <dc:creator>CraftThatBlock</dc:creator>
    <description>I like Android TV. It runs every app I care about, it’s cheap on a Chromecast, and it’s built into plenty of TVs. What I don’t like is ads. Google TV, the default interface on most Android TV devices, puts a large banner at the top of the…</description>
    <content:encoded>&lt;p&gt;I like Android TV. It runs every app I care about, it’s cheap on a &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://store.google.com/product/chromecast_google_tv&quot;&gt;Chromecast&lt;/a&gt;, and it’s built into plenty of TVs. What I don’t like is ads.&lt;/p&gt;
&lt;p&gt;Google TV, the default interface on most Android TV devices, puts a large banner at the top of the home screen promoting whatever Google wants you to watch next. &lt;strong&gt;Apps only mode&lt;/strong&gt; is supposed to strip the home screen down to your apps, but the banner stays. There’s no setting to change the launcher, and YouTube adds its own ads on top.&lt;/p&gt;
&lt;p&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://cretezy.com/2026/ad-free-android-tv&quot; alt=&quot;The Google TV home screen in Apps only mode, still showing a large promotional banner&quot; loading=&quot;eager&quot; decoding=&quot;async&quot; fetchpriority=&quot;high&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt; &lt;em&gt;Before: Google TV, in Apps only mode&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After setting up a few devices around the house, I landed on a setup with no ads at all, and a nicer interface to go with it.&lt;/p&gt;
&lt;h2&gt;The setup&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://play.google.com/store/apps/details?id=com.spocky.projengmenu&quot;&gt;&lt;strong&gt;Projectivy Launcher&lt;/strong&gt;&lt;/a&gt; replaces the home screen. It shows your apps and nothing else, and it’s very customizable.&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://github.com/yuliskov/SmartTube&quot;&gt;&lt;strong&gt;SmartTube&lt;/strong&gt;&lt;/a&gt; replaces YouTube, with no ads, a better interface, and &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://sponsor.ajay.app/&quot;&gt;SponsorBlock&lt;/a&gt; built in. I still pay for YouTube Premium to support creators, but I vastly prefer SmartTube to the official app.&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://play.google.com/store/apps/details?id=com.github.damontecres.wholphin&quot;&gt;&lt;strong&gt;Wholphin&lt;/strong&gt;&lt;/a&gt; is my preferred &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://jellyfin.org/&quot;&gt;Jellyfin&lt;/a&gt; client, for its UI and customization options.&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://play.google.com/store/apps/details?id=flar2.homebutton&quot;&gt;&lt;strong&gt;Button Mapper&lt;/strong&gt;&lt;/a&gt; remaps the remote, so the YouTube button opens SmartTube.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://cretezy.com/2026/ad-free-android-tv&quot; alt=&quot;My Projectivy Launcher home screen, with just my apps&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt; &lt;em&gt;After: Projectivy Launcher&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;picture class=&quot;article-picture article-picture-fallback&quot; style=&quot;--image-ratio:16 / 9&quot;&gt;&lt;img src=&quot;https://cretezy.com/2026/ad-free-android-tv&quot; alt=&quot;The SmartTube home screen&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;low&quot; referrerpolicy=&quot;no-referrer&quot; class=&quot;progressive-image&quot;&gt;&lt;/picture&gt; &lt;em&gt;SmartTube, blurred&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’ve set this up on two Chromecasts with Google TV and a Hisense TV, and it should work on most Android TV devices.&lt;/p&gt;
&lt;h2&gt;Tutorial&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Hand this article to an AI agent (like &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://claude.com/claude-code&quot;&gt;Claude Code&lt;/a&gt;) and have it guide you through the setup. It can run the ADB commands for you and adapt them to your device.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Install the apps first. Projectivy, Wholphin, and Button Mapper are on the Play Store, and SmartTube can be sideloaded with &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://play.google.com/store/apps/details?id=com.esaba.downloader&quot;&gt;Downloader&lt;/a&gt;. The rest needs &lt;a target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; href=&quot;https://developer.android.com/tools/adb&quot;&gt;ADB&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Connecting ADB&lt;/h3&gt;
&lt;p&gt;Enable Developer options by clicking &lt;strong&gt;Settings → System → About → Android TV OS build&lt;/strong&gt; 7 times. Then, in &lt;strong&gt;Developer options&lt;/strong&gt;, enable &lt;strong&gt;Wireless debugging&lt;/strong&gt; and choose &lt;strong&gt;Pair device with pairing code&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt; pair &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;lt;&lt;/span&gt;ip&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;gt;&lt;/span&gt;:&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;lt;&lt;/span&gt;pairing-port&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;lt;&lt;/span&gt;code&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt; mdns services &lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell&quot;&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt; Find the connect port&lt;/span&gt;&lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt; connect &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;lt;&lt;/span&gt;ip&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;gt;&lt;/span&gt;:&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;lt;&lt;/span&gt;connect-port&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-redirection syntax-shell&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;
&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-assignment syntax-shell&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-shell&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;syntax-string syntax-unquoted syntax-shell&quot;&gt;&amp;lt;ip&amp;gt;:&amp;lt;connect-port&amp;gt;&lt;/span&gt; &lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell&quot;&gt;#&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt; Used in the commands below&lt;/span&gt;&lt;span class=&quot;syntax-comment syntax-line syntax-number-sign syntax-shell&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wireless debugging only works over Wi-Fi. If your device doesn’t have it (like my Hisense TV), enable &lt;strong&gt;USB debugging&lt;/strong&gt; instead and connect with &lt;code&gt;adb connect &amp;lt;ip&amp;gt;:5555&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Replacing the launcher&lt;/h3&gt;
&lt;p&gt;Projectivy has an &lt;strong&gt;Override current launcher&lt;/strong&gt; option, but the stock home screen still flashes before it. Instead, disable the stock launcher and the package that restores it, then set Projectivy as the home app:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell pm disable-user&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; --&lt;/span&gt;user&lt;/span&gt; 0 com.google.android.apps.tv.launcherx&lt;/span&gt;
&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell pm disable-user&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; --&lt;/span&gt;user&lt;/span&gt; 0 com.google.android.tungsten.setupwraith&lt;/span&gt;
&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell cmd package set-home-activity com.spocky.projengmenu/.ui.home.MainActivity&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;On a TV, the stock launcher may also handle switching HDMI inputs, so check that still works afterward.&lt;/p&gt;
&lt;h3&gt;Replacing YouTube&lt;/h3&gt;
&lt;p&gt;Once SmartTube is set up, remove the official app:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; uninstall com.google.android.youtube.tv&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If it’s built into the firmware (&lt;code&gt;DELETE_FAILED_INTERNAL_ERROR&lt;/code&gt;), use &lt;code&gt;adb -s $D shell pm uninstall --user 0 com.google.android.youtube.tv&lt;/code&gt; instead.&lt;/p&gt;
&lt;h3&gt;Remapping the remote&lt;/h3&gt;
&lt;p&gt;Button Mapper and Projectivy both need their accessibility services enabled. This replaces the whole list, so check the current one first with &lt;code&gt;adb -s $D shell settings get secure enabled_accessibility_services&lt;/code&gt; and keep anything else you use:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell settings put secure enabled_accessibility_services &lt;span class=&quot;syntax-punctuation syntax-separator syntax-continuation syntax-line syntax-shell&quot;&gt;\
&lt;/span&gt;  &lt;span class=&quot;syntax-string syntax-quoted syntax-single syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-begin syntax-shell&quot;&gt;&amp;#39;&lt;/span&gt;flar2.homebutton/a.i:com.spocky.projengmenu/com.spocky.projengmenu.services.ProjectivyAccessibilityService&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-end syntax-shell&quot;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell settings put secure accessibility_enabled 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;Use Projectivy’s full component name, as above. With the short form (&lt;code&gt;com.spocky.projengmenu/.services...&lt;/code&gt;), Projectivy shows &lt;strong&gt;Enabled: No&lt;/strong&gt; even though the service is running.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Android sometimes turns accessibility services off. Granting Button Mapper &lt;code&gt;WRITE_SECURE_SETTINGS&lt;/code&gt; lets it turn itself back on, and exempting it from battery optimization keeps it responsive:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell pm grant flar2.homebutton android.permission.WRITE_SECURE_SETTINGS&lt;/span&gt;
&lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell dumpsys deviceidle whitelist +flar2.homebutton&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, in Button Mapper, map the YouTube button to SmartTube.&lt;/p&gt;
&lt;h3&gt;Cleaning up&lt;/h3&gt;
&lt;p&gt;While you’re connected, speed up animations and disable some Google apps you probably won’t use:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Shell&quot;&gt;&lt;span class=&quot;syntax-source syntax-shell syntax-bash&quot;&gt;&lt;span class=&quot;syntax-keyword syntax-control syntax-for syntax-shell&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-group syntax-for syntax-shell&quot;&gt; k &lt;span class=&quot;syntax-keyword syntax-control syntax-in syntax-shell&quot;&gt;in&lt;/span&gt; window_animation_scale transition_animation_scale animator_duration_scale&lt;/span&gt;&lt;span class=&quot;syntax-keyword syntax-operator syntax-logical syntax-continue syntax-shell&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;syntax-keyword syntax-control syntax-do syntax-shell&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell settings put global &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;k&lt;/span&gt;&lt;/span&gt; 0.75&lt;/span&gt;
&lt;span class=&quot;syntax-keyword syntax-control syntax-done syntax-shell&quot;&gt;done&lt;/span&gt;

&lt;span class=&quot;syntax-keyword syntax-control syntax-for syntax-shell&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-group syntax-for syntax-shell&quot;&gt; p &lt;span class=&quot;syntax-keyword syntax-control syntax-in syntax-shell&quot;&gt;in&lt;/span&gt; com.google.android.videos com.google.android.play.games &lt;span class=&quot;syntax-punctuation syntax-separator syntax-continuation syntax-line syntax-shell&quot;&gt;\
&lt;/span&gt;         com.google.android.feedback com.google.android.partnersetup&lt;/span&gt;&lt;span class=&quot;syntax-keyword syntax-operator syntax-logical syntax-continue syntax-shell&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;syntax-keyword syntax-control syntax-do syntax-shell&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;syntax-meta syntax-function-call syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-function syntax-shell&quot;&gt;adb&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function-call syntax-arguments syntax-shell&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; -&lt;/span&gt;s&lt;/span&gt; &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;D&lt;/span&gt;&lt;/span&gt; shell pm disable-user&lt;span class=&quot;syntax-variable syntax-parameter syntax-option syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-parameter syntax-shell&quot;&gt; --&lt;/span&gt;user&lt;/span&gt; 0 &lt;span class=&quot;syntax-meta syntax-group syntax-expansion syntax-parameter syntax-shell&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-variable syntax-shell&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;syntax-variable syntax-other syntax-readwrite syntax-shell&quot;&gt;p&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;syntax-keyword syntax-control syntax-done syntax-shell&quot;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Everything can be undone with &lt;code&gt;adb shell pm enable &amp;lt;package&amp;gt;&lt;/code&gt; (or &lt;code&gt;adb shell cmd package install-existing &amp;lt;package&amp;gt;&lt;/code&gt; for YouTube). Turn Wireless debugging off when you’re done.&lt;/p&gt;
&lt;p&gt;That’s it: no banner, no ads, and a remote that opens the apps you actually use.&lt;/p&gt;
</content:encoded>
    <category>news</category>
  </item>
</channel>
</rss>
