Hey all, this is the CarDock.apk, Dock.apk and dockrunner.apk. I am hoping that these work for you all, I haven't had a chance to test all of them. I backported the weather widget from 2.0 last week and took the same approach to these. These don't work on hero roms, I just tried... But they should be ok for donuts.
Again, Please rename all of these to whatever the file name is ".apk" instead of ".zip" Install all 3 before running. Thanks.
Red
Ps. Second post will be upload of other file... problems with this site.
2nd part with the other file.
Here is the last file.
http://rapidshare.com/files/329036849/Dock.zip.html
This can only be downloaded 10 times. Can someone test this and if it works ok on donuts, please host the file. I would appreciate it, and i'm sure other people would as well. Thank you all!
Red.
The media dock works fine but Car Home force closes.
Trace:
Code:
I/ActivityManager( 145): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.cardock/.CarDockActivity }
W/WindowManager( 145): Exception when adding starting window
W/WindowManager( 145): java.lang.RuntimeException: Binary XML file line #25: You must supply a layout_height attribute.
W/WindowManager( 145): at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:438)
W/WindowManager( 145): at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3468)
W/WindowManager( 145): at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:3547)
W/WindowManager( 145): at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1265)
W/WindowManager( 145): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1191)
W/WindowManager( 145): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:44)
W/WindowManager( 145): at android.view.LayoutInflater.rInflate(LayoutInflater.java:619)
W/WindowManager( 145): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
W/WindowManager( 145): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
W/WindowManager( 145): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
W/WindowManager( 145): at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2185)
W/WindowManager( 145): at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2239)
W/WindowManager( 145): at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1447)
W/WindowManager( 145): at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:657)
W/WindowManager( 145): at com.android.server.WindowManagerService$H.handleMessage(WindowManagerService.java:7484)
W/WindowManager( 145): at android.os.Handler.dispatchMessage(Handler.java:99)
W/WindowManager( 145): at android.os.Looper.loop(Looper.java:123)
W/WindowManager( 145): at com.android.server.WindowManagerService$WMThread.run(WindowManagerService.java:475)
I/ActivityManager( 145): Start proc com.android.cardock for activity com.android.cardock/.CarDockActivity: pid=17004 uid=10055 gids={}
W/dalvikvm(17004): VFY: unable to resolve static field 6 (CONTENT_URI) in Landroid/provider/ContactsContract$Contacts;
D/dalvikvm(17004): VFY: replacing opcode 0x62 at 0x0084
D/dalvikvm(17004): Making a copy of Lcom/android/cardock/CarDockActivity;.setUpIntents code (292 bytes)
D/dalvikvm(17004): GC freed 589 objects / 52800 bytes in 90ms
D/dalvikvm(17004): GC freed 160 objects / 7104 bytes in 87ms
I/ActivityManager( 145): Process com.android.alarmclock (pid 16945) has died.
D/AndroidRuntime(17004): Shutting down VM
W/dalvikvm(17004): threadid=3: thread exiting with uncaught exception (group=0x4001e170)
E/AndroidRuntime(17004): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(17004): java.lang.NoClassDefFoundError: android.provider.ContactsContract$Contacts
E/AndroidRuntime(17004): at com.android.cardock.CarDockActivity.setUpIntents(CarDockActivity.java:261)
E/AndroidRuntime(17004): at com.android.cardock.CarDockActivity.onCreate(CarDockActivity.java:184)
E/AndroidRuntime(17004): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
E/AndroidRuntime(17004): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2427)
E/AndroidRuntime(17004): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2480)
E/AndroidRuntime(17004): at android.app.ActivityThread.access$2200(ActivityThread.java:118)
E/AndroidRuntime(17004): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1834)
E/AndroidRuntime(17004): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(17004): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(17004): at android.app.ActivityThread.main(ActivityThread.java:4320)
E/AndroidRuntime(17004): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(17004): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(17004): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(17004): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
E/AndroidRuntime(17004): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 145): Sending signal. PID: 17004 SIG: 3
I/dalvikvm(17004): threadid=7: reacting to signal 3
I/dalvikvm(17004): Wrote stack trace to '/data/anr/traces.txt'
W/ActivityManager( 145): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 145): Activity idle timeout for HistoryRecord{43c1c8b8 com.android.cardock/.CarDockActivity}
I/Process (17004): Sending signal. PID: 17004 SIG: 9
I/ActivityManager( 145): Process com.android.cardock (pid 17004) has died.
W/UsageStats( 145): Unexpected resume of com.irrenhaus.advancedlauncher.donut while already resumed in com.android.cardock
W/InputManagerService( 145): Window already focused, ignoring focus gain of: [email protected]
Edit: There seems to be a problem with the clock icon in the media dock app.
Hmm... Looks nice and seems to all work as intended. Until the phone froze up from trying to leave the gallery and I had to pull the battery. I hate it when that happens.
dock.apk rapidshare link died...
Do we need to install all three to have any of them work? Also, could someone post a bunch of pictures of each of these. Thanks
On a side note, could someone tell me what to press to take a screenshot. Once again thanks.
asb123 said:
Do we need to install all three to have any of them work? Also, could someone post a bunch of pictures of each of these. Thanks
On a side note, could someone tell me what to press to take a screenshot. Once again thanks.
Click to expand...
Click to collapse
You need dockrunner to make the dock work, but other than that they are independent
It's the dock from the Droid I'm sure you could find them with a simple google search
Screenshots can be taken by using the Screenshot app in the market (it's a paid app), or if you have the Android sdk, then you may use ddms. In the list of phones click yours, choose device, screencapture and then take the screenshot
DarkFoxDK said:
Edit: There seems to be a problem with the clock icon in the media dock app.
Click to expand...
Click to collapse
This is the dock from the droid, which has a bigger screen- the sizes are messed up for the g1/mt3g
JAguirre1231 said:
This is the dock from the droid, which has a bigger screen- the sizes are messed up for the g1/mt3g
Click to expand...
Click to collapse
I'm not really sure that's the problem..
The alarm clock icon is there, but a lot smaller than the other icons...
Can anyone repost dock.apk from second post?
sshark said:
Can anyone repost dock.apk from second post?
Click to expand...
Click to collapse
http://www.mediafire.com/?2yyimxqfwkg
Can someone who has Dockrunner.zip Please Reupload. Thanks
OP has dockrunner.apk which works.
Thanks for going through the effort of backporting this, it looks beautiful but I don't see much of a purpose for it. Its like a night table clock replacement right? If so I don't think I'd leave my dream's screen on all night long (that can't be good for it)
Meh, here's Dock.apk on rapidshare:
Code:
http://rapidshare.com/files/329600236/Dock.apk
Anybody else getting FC from the Dock Runner app?
I have...
MT3G 32B
Cyanogen 4.2.11.1 (Hero Community Mix Theme)
Any screenshots? thanks
sshark said:
OP has dockrunner.apk which works.
Click to expand...
Click to collapse
Nice, when i tried it wouldn't load the download...
I also get a force close from Cardock and the alarm clock icon in the multimedia dock is also very small.
car dock not working
its not working for me either.
Cyan 4.2.11.1
10 mg memory hack
media center works fine though
Hey guys,
I've learnt heaps from this forum so far but this is my first thread.
First off, great forum and thanks for the information
I have a problem with my Tab where when you lock it, sometimes when you go to unlock it the Tab has turned itself off and you have to hold the power button for a long while to turn it back on.
I flashed to JM6 using ODIN and am rooted with Superoneclick method.
Any advice would be greatly appreciated, really annoying.
I've had a similar experience a couple of times with my z4root'd US spec vzw tab. All else stock. Battery charged 50% our more.
Sent from my SCH-I800 using XDA App
Yeh forgot to mention my battery is charged when this happens too.
kangfu84 said:
I have a problem with my Tab where when you lock it, sometimes when you go to unlock it the Tab has turned itself off and you have to hold the power button for a long while to turn it back on.
I flashed to JM6 using ODIN and am rooted with Superoneclick method.
Any advice would be greatly appreciated, really annoying.
Click to expand...
Click to collapse
Had the tab turned itself off - or has it frozen? And you're essentially soft reseting it? Could be an app causing it?
Sent from my Galaxy Tab using XDA App
I had this issue only once recently. When I got to work I found out that the tab didn't want to show unlock display. when i looked closely, I saw very light image (almost like ghost image) of samsung logo. I had to hard restart.
Sent from my GT-P1000 using XDA App
I had this issue Also
Repeated frequently
I tried to hard rest
and still the problem persists
There are apps in the market that can display the log output Android and its apps continuously produce "behind the scenes". One of the best is catlog. Install it and take a look at the log when this is happening (don't worry it keeps a history of the log messages).
With this log I think it must be possible to track down the culprit. If you can't find it post a (text) capture of the log on this forum.
Thanks. I've downloaded logcat and will post back when it happens next.
Sent from my GT-P1000 using Tapatalk
Ok i've managed to simulate when the fault occurs. Its when i lock the Tab while another app is open.
Well, at least it happened everytime i locked the Tab when Logcat was open in the foreground.
Here is the log i got, ive only pasted from where i think it logged i pressed the power button:
12-21 02:47:55.213 E/WindowManager( 2498): Power key is pressed up mShouldTurnOffOnKeyUp:true
12-21 02:47:55.213 D/WindowManager( 2498): I'm tired mEndcallBehavior=0x2
12-21 02:47:55.213 E/WindowManager( 2498): pkgName:com.nolanlawson.logcat
12-21 02:47:55.213 E/WindowManager( 2498): className:com.nolanlawson.logcat.LogcatActivity
12-21 02:47:55.217 I/PowerManagerService( 2498): Ulight 3->0|0
12-21 02:47:55.217 I/PowerManagerService( 2498): Setting target 2: cur=41.0 target=0 delta=-2.7333333 nominalCurrentValue=41
12-21 02:47:55.217 I/PowerManagerService( 2498): Scheduling light animator!
12-21 02:47:55.217 D/KeyInputQueue( 2498): screenCaptureKeyFlag setting 0
12-21 02:47:55.443 I/PowerManagerService( 2498): Light Animator Finished curIntValue=0
12-21 02:47:55.443 I/power ( 2498): *** set_screen_state 0
12-21 02:47:55.443 D/PowerManagerService( 2498): enableLightSensor false
12-21 02:47:55.443 E/SensorManager( 2498): unregisterListener: [email protected]
12-21 02:47:55.443 W/SensorManager( 2498): Delay Candidate Listener 0 Sensor:4 delay:2147483647
12-21 02:47:55.443 W/SensorManager( 2498): Delay Candidate Listener 1 Sensor:4 delay:2147483647
12-21 02:47:55.443 I/Sensors ( 2498): sensors_data_delay handle=4 delay=2147483647 mMinDelay=60
12-21 02:47:55.443 D/Sensors ( 2498): sensors_control_activate active=00000012 sensor=00000010 new_sensors=2 changed=10
12-21 02:47:55.443 W/Sensors ( 2498): close Light sensor
12-21 02:47:55.443 I/Sensors ( 2498): set AK daemon delay=60 fd=66
12-21 02:47:55.451 W/PowerManagerService( 2498): CurLockF mPS:0 mUS=0
12-21 02:47:55.451 W/PowerManagerService( 2498): mPokeLocks.size=0:
12-21 02:47:55.451 D/PowerManagerService( 2498): sendNotificationLocked on=false
12-21 02:47:55.451 D/KeyguardViewMediator( 2498): onScreenTurnedOff(2)
12-21 02:47:55.451 D/KeyguardViewMediator( 2498): doKeyguard: IMSI=505023104565981
12-21 02:47:55.451 I/KeyguardUpdateMonitor( 2498): getSimState() : mSimState=READY
12-21 02:47:55.451 D/KeyguardViewMediator( 2498): doKeyguard: showing the lock screen
12-21 02:47:55.451 D/KeyguardViewMediator( 2498): showLocked
12-21 02:47:55.451 E/SensorManager( 2498): unregisterListener: [email protected]82b3300
12-21 02:47:55.451 W/SensorManager( 2498): Delay Candidate Listener 0 Sensor:1 delay:2147483647
12-21 02:47:55.451 I/Sensors ( 2498): sensors_data_delay handle=1 delay=2147483647 mMinDelay=2147483647
12-21 02:47:55.451 D/Sensors ( 2498): sensors_control_activate active=00000002 sensor=00000002 new_sensors=0 changed=2
12-21 02:47:55.451 W/Sensors ( 2498): Accelerometer closed
12-21 02:47:55.451 W/Sensors ( 2498): Accelerometer go to SLEEP
12-21 02:47:55.451 D/KeyguardViewMediator( 2498): handleShow
12-21 02:47:55.455 E/RingtoneManager( 2498): getRingtone : file:///system/media/audio/ui/Lock.ogg, streamType : -1
12-21 02:47:55.455 V/MediaPlayer-JNI( 2498): native_setup
12-21 02:47:55.455 V/MediaPlayer( 2498): constructor
12-21 02:47:55.455 V/MediaPlayer( 2498): setListener
12-21 02:47:55.455 V/MediaPlayer-JNI( 2498): setDataSource: path /system/media/audio/ui/Lock.ogg
12-21 02:47:55.455 V/MediaPlayer( 2498): setDataSource(/system/media/audio/ui/Lock.ogg)
12-21 02:47:55.471 E/FastDormancy( 2573): [SCREEN_OFF] New FD Time: 5000
12-21 02:47:55.471 D/FastDormancy( 2573): [FD] INTENT ACTION android.intent.action.SCREEN_OFF
12-21 02:47:55.471 D/FastDormancy( 2573): [FD] mIsScreenOn: false
12-21 02:47:55.486 I/Ringtone( 2498): openMediaPlayer() mUri: file:///system/media/audio/ui/Lock.ogg
12-21 02:47:55.486 I/Ringtone( 2498): openMediaPlayer() isMidFile: false
12-21 02:47:55.486 V/MediaPlayer-JNI( 2498): setAudioStreamType: 2
12-21 02:47:55.486 V/MediaPlayer( 2498): MediaPlayer::setAudioStreamType
12-21 02:47:55.486 V/MediaPlayer( 2498): prepare
12-21 02:47:55.486 E/MediaPlayerService( 2401): Client::notify In
12-21 02:47:55.486 E/MediaPlayer( 2498): message received msg=1, ext1=0, ext2=0
12-21 02:47:55.486 V/MediaPlayer( 2498): prepared
12-21 02:47:55.486 V/MediaPlayer( 2498): signal application thread
12-21 02:47:55.486 E/MediaPlayer( 2498): callback application
12-21 02:47:55.486 E/MediaPlayer( 2498): back from callback
12-21 02:47:55.486 V/MediaPlayer( 2498): prepare complete - status=0
12-21 02:47:55.486 V/MediaPlayer-JNI( 2498): native_setup
12-21 02:47:55.486 V/MediaPlayer( 2498): constructor
12-21 02:47:55.486 V/MediaPlayer( 2498): setListener
Any ideas?
Are you using setcpu? I had the same problem when trying to use conservitave or set the minimum to 100mhz. Currently I use ondemand with a minimum of 200mhz
Sent from my SCH-I800 using XDA App
Can you create a longer log? I think the beginning is right.
The log you've made is showing roughly the same enties when I put the tab in standby (i don't have.the power off problem). Maybe some more entries will give some more info. The log you posted shows nothing unusual .
Btw i like the 2nd log entry: ' I'm tired.... '
Yes I use setcpu. I changed my screen off profile to on demand instead of conservative and it doesn't turn off when I lock the tab with catalog in the foreground anymore. Lets hope that was the problem. Thanks!
Sent from my GT-P1000 using Tapatalk
All good now.
I love my Tab
Galaxy Tab turns off afler sleep for a long time
Hello guys.
Recently got Galaxy 2 Tablet (P6210) (just wifi, no gsm or cdma) and it has the same bug - it doesn't wake up after sleep more than 5 hours.(needs long press power button, around 10 sec).
It happens only if battery below 40%. If battery more than 40-50% the tablet wakes up normally.
Playing with "custom power save mode" and "Auto ajust screen power" (may be this feature just specifically for P6200 series) didn't bring good results. Tablet anyway didn't wake up quickly after sleep for a long time if battery below 40%. Make sure after long press power button and wake up tablet has the same % of battery as I left it.
Also I didn't find "setcpu" function as advise TheMasterBaron on last page. Possibly not all tablets have it. If all samsung tablets have this feature I will glad to know where it on P6200 series.
But I got kind of solution which helped me though solution is not best. whatever. Actually idea is not mine but a few weeks playing with it looks like this solution works.
If you will turn off Wi-fi and then tablet will go to sleep doesn't matter how much battery % has on this moment (even 5%) the tablet even after 15 hours sleep wake up quickly.
Any ideas how do Wi-fi interfere during sleep and how to fix it?
WIP: "De-bloating" the Chromecast with Google TV. Let's get rid of those ads!
Those who like the Chromecast with Google TV UI or wouldn't move a finger to change it can stop reading this thread and move onto something else. No need to leave any comment, xda-developers wasn't created for people who don't like a challenge
If you don't like the UI because the massive ads it brings, then you are welcome to keep reading and help if you can!
METHOD A (EASY) - GET RID OF THE ADS ON THE MAIN SCREEN WITH AN ALTERNATIVE LAUNCHER
Install ATV Launcher or Wolf Launcher and disable the default launcher via adb. If you find a nice wallpaper that's a good option.
METHOD B (HARD) - USE THE APPS ONLY MODE WITH GOOGLE ASSISTANT AND NO ADS
Go to Settings > Accounts & Sign-in > Select your ac**** > Enable "Apps only mode".
Now you removed 90% of the ads but it seems like Google doesn't want us to use the Apps only mode, so they decided to put some hurdles in place disabling google assistant and play store access . We can fix it partially, so keep reading
Get a shortcut to the Google Play Store
Sideload and install this app (created with this site) and now you'll be able to access Google Play Store opening the app even on Apps Only Mode (see here how it looks)
How to use Google Assistant even on Apps Only mode - WIP
Go to Settings > All Apps > "See All apps" > "Show System apps" > Google > click on "Uninstall Updates" & "Disable". Now sideload and install this version
Now you can use Google Assistant to open a YouTube video or ask questions such as "what's the weather today?", but you can't give a voice command to open an app... It will go through a loop trying to setup google assistant.
Get rid of the 3 shows/movies ads that you still get in screen even when Apps Only mode is enabled - WIP
I tried disabling some apps that came pre-installed but I didn't manage to get rid of those last ads. I guess it's integrated within the launcher so we might need to mod it (if possible), live with it or just go back to Option 1 and use a different launcher.
Any help would be appreciated
METHOD C (HARD) - SWITCH TO THE ORIGINAL ANDROID TV LAUNCHER
I disabled the Google TV Launcher com.google.android.apps.tv.launcherx via adb. Then I sideloaded the Android TV Home and Lenback Launcher apks and tried to launch the main activity of those apps but it didn't work. Some activities could be launched but not the main one.
Any help would be highly appreciated as that's what I really wanted to do.
titooo7 said:
METHOD C (HARD) - SWITCH TO THE ORIGINAL ANDROID TV LAUNCHER
I disabled the Google TV Launcher com.google.android.apps.tv.launcherx via adb. Then I sideloaded the Android TV Home and Lenback Launcher apks and tried to launch the main activity of those apps but it didn't work. Some activities could be launched but not the main one.
Any help would be highly appreciated as that's what I really wanted to do.
Click to expand...
Click to collapse
This would be the ideal solution.
The funny thing I notice about this one, however, is that it actually appears to already be installed.
On play store, there are two versions of launcher. The "original":
https://play.google.com/store/apps/details?id=com.google.android.tvlauncher
And "too much advertising":
https://play.google.com/store/apps/details?id=com.google.android.apps.tv.launcherx
But what is interesting about them, is that the original one is apparently already installed on ALL of my Sabrina dongles, as well as on all of my other Android TV devices. The "too much advertising" reports as being installed on the Sabrina dongles, but as incompatible with all of the others.
It seems odd that the original launcher would fail to load while 3rd party launchers would work. I wonder if the packages are somehow being blacklisted?
96carboard said:
But what is interesting about them, is that the original one is apparently already installed on ALL of my Sabrina dongles, as well as on all of my other Android TV devices. The "too much advertising" reports as being installed on the Sabrina dongles, but as incompatible with all of the others.
It seems odd that the original launcher would fail to load while 3rd party launchers would work. I wonder if the packages are somehow being blacklisted?
Click to expand...
Click to collapse
I might be wrong, but I'd swear the original launcher wasn't preinstalled.
In any case if you sideload a shortcut maker then you can launch several activities from the original launcher, but not the main one.
I'm wondering if that could be because I'm missing some other apks that the original launcher need... but it's been a long time since I tried to do "dev" stuff in Android to remember how to diagnose the problem correctly.
titooo7 said:
I might be wrong, but I'd swear the original launcher wasn't preinstalled.
In any case if you sideload a shortcut maker then you can launch several activities from the original launcher, but not the main one.
Click to expand...
Click to collapse
To be a little more precise, I haven't actually checked on the devices themselves, but rather play store *claims* that they're installed.
I'm wondering if that could be because I'm missing some other apks that the original launcher need... but it's been a long time since I tried to do "dev" stuff in Android to remember how to diagnose the problem correctly.
Click to expand...
Click to collapse
If you're missing something it depends on, I'd expect some kind of related crash to be pretty obvious in the logcat.
What's the output of this?
pm query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
96carboard said:
If you're missing something it depends on, I'd expect some kind of related crash to be pretty obvious in the logcat.
What's the output of this?
pm query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
Click to expand...
Click to collapse
Just for your information I sideloadet the following 3 apks as those are installed on my Shield TV (which I don't have access to at the moment, btw) and I thought it mgiht be needed:
com.google.android.tvlauncher 2.2.2-328601804
com.google.android.leanbacklauncher 90.11.5-100-444-948
com.google.android.tvrecommendations 2.2.1-32444148
Unfortunately I couldn't find the apk for the following two, (I wonder if that's why I can't get the original launcher to work):
com.google.android.leanbacklauncher.recommendations 90.1.2.-100-4013131
Anyway, after that I ran the adb command you mentioned in two different ways:
With launcherx (CC GTV launcher) disabled: (pm disable com.google.android.apps.tv.launcherx)
Code:
pm query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
4 activities found:
Activity #0:
priority=1 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.tungsten.setupwraith.RecoveryActivity
packageName=com.google.android.tungsten.setupwraith
labelRes=0x7f110043 nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=false exported=true directBootAware=false
taskAffinity=com.google.android.tungsten.setupwraith targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=1 flags=0x220 privateFlags=0x0 theme=0x7f1201e6
screenOrientation=-1 configChanges=0x3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
packageName=com.google.android.tungsten.setupwraith
labelRes=0x7f110043 nonLocalizedLabel=null icon=0x0 banner=0x0
processName=com.google.android.tungsten.setupwraith
taskAffinity=com.google.android.tungsten.setupwraith
uid=10035 flags=0x38c83e45 privateFlags=0x24081108 theme=0x7f1201fb
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/product/priv-app/SetupWraithPrebuiltSabrina/SetupWraithPrebuiltSabrina.apk
seinfo=default:privapp:targetSdkVersion=28
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.tungsten.setupwraith
deviceProtectedDataDir=/data/user_de/0/com.google.android.tungsten.setupwraith
credentialProtectedDataDir=/data/user/0/com.google.android.tungsten.setupwraith
enabled=true minSdkVersion=28 targetSdkVersion=28 versionCode=2018111433 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=0
usesNonSdkApi=false
allowsPlaybackCapture=false
Activity #1:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.leanbacklauncher.MainActivity
packageName=com.google.android.leanbacklauncher
labelRes=0x7f0a0013 nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=true exported=true directBootAware=false
taskAffinity=com.google.android.leanbacklauncher targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=2 flags=0x234 privateFlags=0x0 theme=0x0
screenOrientation=0 configChanges=0xf3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
name=com.google.android.leanbacklauncher.LauncherApplication
packageName=com.google.android.leanbacklauncher
labelRes=0x7f0a0014 nonLocalizedLabel=null icon=0x7f020095 banner=0x0
className=com.google.android.leanbacklauncher.LauncherApplication
processName=com.google.android.leanbacklauncher
taskAffinity=com.google.android.leanbacklauncher
uid=10096 flags=0x38c8be44 privateFlags=0x24001000 theme=0x7f0c00d7
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/data/app/com.google.android.leanbacklauncher-hX6rlapmfhRj8H_uIDOWAg==/base.apk
seinfo=default:targetSdkVersion=24
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.leanbacklauncher
deviceProtectedDataDir=/data/user_de/0/com.google.android.leanbacklauncher
credentialProtectedDataDir=/data/user/0/com.google.android.leanbacklauncher
enabled=true minSdkVersion=21 targetSdkVersion=24 versionCode=1011102100 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=2
usesNonSdkApi=false
allowsPlaybackCapture=false
Activity #2:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.tvlauncher.MainActivity
packageName=com.google.android.tvlauncher
enabled=true exported=true directBootAware=false
taskAffinity=.TvLauncher targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=2 flags=0x230 privateFlags=0x0 theme=0x0
screenOrientation=0 configChanges=0x3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
name=com.google.android.tvlauncher.application.TvLauncherApplication
packageName=com.google.android.tvlauncher
labelRes=0x7f120029 nonLocalizedLabel=null icon=0x7f0f0000 banner=0x7f08012d
className=com.google.android.tvlauncher.application.TvLauncherApplication
processName=com.google.android.tvlauncher
taskAffinity=com.google.android.tvlauncher
uid=10097 flags=0x38c83e44 privateFlags=0xc001000 theme=0x7f130007
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/data/app/com.google.android.tvlauncher-f03AUa5fOy1TItsfaki7Iw==/base.apk
seinfo=default:targetSdkVersion=29
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.tvlauncher
deviceProtectedDataDir=/data/user_de/0/com.google.android.tvlauncher
credentialProtectedDataDir=/data/user/0/com.google.android.tvlauncher
enabled=true minSdkVersion=26 targetSdkVersion=29 versionCode=1010900817 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=2
usesNonSdkApi=false
allowsPlaybackCapture=true
Activity #3:
priority=-1000 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.android.tv.settings.system.FallbackHome
packageName=com.android.tv.settings
enabled=true exported=true directBootAware=true
taskAffinity=com.android.tv.settings targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=0 flags=0x220 privateFlags=0x0 theme=0x7f1100c0
screenOrientation=-1 configChanges=0x40002ff7 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
packageName=com.android.tv.settings
labelRes=0x7f100366 nonLocalizedLabel=null icon=0x7f080201 banner=0x7f0800e0
processName=com.android.tv.settings
taskAffinity=com.android.tv.settings
uid=1000 flags=0x28c8be45 privateFlags=0xc501068 theme=0x7f1101d2
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/system/priv-app/TvSettingsGoogle/TvSettingsGoogle.apk
resourceDirs=[/vendor/overlay/ChromecastTvSettingsGoogleOverlay.apk]
seinfo=platform:privapp:targetSdkVersion=28
seinfoUser=:complete
dataDir=/data/user_de/0/com.android.tv.settings
deviceProtectedDataDir=/data/user_de/0/com.android.tv.settings
credentialProtectedDataDir=/data/user/0/com.android.tv.settings
enabled=true minSdkVersion=29 targetSdkVersion=29 versionCode=1 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=0
usesNonSdkApi=true
allowsPlaybackCapture=true
With launcherx enabled:
Code:
sabrina:/ $ pm query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
5 activities found:
Activity #0:
priority=2 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.apps.tv.launcherx.home.HomeActivity
packageName=com.google.android.apps.tv.launcherx
labelRes=0x7f13025a nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=true exported=true directBootAware=false
taskAffinity=com.google.android.apps.tv.launcherx targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=2 flags=0x230 privateFlags=0x0 theme=0x7f1401cc
screenOrientation=-1 configChanges=0x3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
name=com.google.android.apps.tv.launcherx.LauncherX_Application
packageName=com.google.android.apps.tv.launcherx
labelRes=0x7f1302c0 nonLocalizedLabel=null icon=0x7f0f0001 banner=0x7f0801b0
className=com.google.android.apps.tv.launcherx.LauncherX_Application
processName=com.google.android.apps.tv.launcherx
taskAffinity=com.google.android.apps.tv.launcherx
uid=10037 flags=0x38c83ec5 privateFlags=0xc081018 theme=0x7f14000e
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/data/app/com.google.android.apps.tv.launcherx-eKBpKZxlpw3mSx4rrG8L3w==/base.apk
seinfo=default:privapp:targetSdkVersion=29
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.apps.tv.launcherx
deviceProtectedDataDir=/data/user_de/0/com.google.android.apps.tv.launcherx
credentialProtectedDataDir=/data/user/0/com.google.android.apps.tv.launcherx
enabled=true minSdkVersion=28 targetSdkVersion=29 versionCode=5244 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
networkSecurityConfigRes=0x7f170003
category=7
HiddenApiEnforcementPolicy=2
usesNonSdkApi=false
allowsPlaybackCapture=true
Activity #1:
priority=1 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.tungsten.setupwraith.RecoveryActivity
packageName=com.google.android.tungsten.setupwraith
labelRes=0x7f110043 nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=false exported=true directBootAware=false
taskAffinity=com.google.android.tungsten.setupwraith targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=1 flags=0x220 privateFlags=0x0 theme=0x7f1201e6
screenOrientation=-1 configChanges=0x3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
packageName=com.google.android.tungsten.setupwraith
labelRes=0x7f110043 nonLocalizedLabel=null icon=0x0 banner=0x0
processName=com.google.android.tungsten.setupwraith
taskAffinity=com.google.android.tungsten.setupwraith
uid=10035 flags=0x38c83e45 privateFlags=0x24081108 theme=0x7f1201fb
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/product/priv-app/SetupWraithPrebuiltSabrina/SetupWraithPrebuiltSabrina.apk
seinfo=default:privapp:targetSdkVersion=28
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.tungsten.setupwraith
deviceProtectedDataDir=/data/user_de/0/com.google.android.tungsten.setupwraith
credentialProtectedDataDir=/data/user/0/com.google.android.tungsten.setupwraith
enabled=true minSdkVersion=28 targetSdkVersion=28 versionCode=2018111433 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=0
usesNonSdkApi=false
allowsPlaybackCapture=false
Activity #2:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.leanbacklauncher.MainActivity
packageName=com.google.android.leanbacklauncher
labelRes=0x7f0a0013 nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=true exported=true directBootAware=false
taskAffinity=com.google.android.leanbacklauncher targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=2 flags=0x234 privateFlags=0x0 theme=0x0
screenOrientation=0 configChanges=0xf3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
name=com.google.android.leanbacklauncher.LauncherApplication
packageName=com.google.android.leanbacklauncher
labelRes=0x7f0a0014 nonLocalizedLabel=null icon=0x7f020095 banner=0x0
className=com.google.android.leanbacklauncher.LauncherApplication
processName=com.google.android.leanbacklauncher
taskAffinity=com.google.android.leanbacklauncher
uid=10096 flags=0x38c8be44 privateFlags=0x24001000 theme=0x7f0c00d7
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/data/app/com.google.android.leanbacklauncher-hX6rlapmfhRj8H_uIDOWAg==/base.apk
seinfo=default:targetSdkVersion=24
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.leanbacklauncher
deviceProtectedDataDir=/data/user_de/0/com.google.android.leanbacklauncher
credentialProtectedDataDir=/data/user/0/com.google.android.leanbacklauncher
enabled=true minSdkVersion=21 targetSdkVersion=24 versionCode=1011102100 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=2
usesNonSdkApi=false
allowsPlaybackCapture=false
Activity #3:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.google.android.tvlauncher.MainActivity
packageName=com.google.android.tvlauncher
enabled=true exported=true directBootAware=false
taskAffinity=.TvLauncher targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=2 flags=0x230 privateFlags=0x0 theme=0x0
screenOrientation=0 configChanges=0x3 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
name=com.google.android.tvlauncher.application.TvLauncherApplication
packageName=com.google.android.tvlauncher
labelRes=0x7f120029 nonLocalizedLabel=null icon=0x7f0f0000 banner=0x7f08012d
className=com.google.android.tvlauncher.application.TvLauncherApplication
processName=com.google.android.tvlauncher
taskAffinity=com.google.android.tvlauncher
uid=10097 flags=0x38c83e44 privateFlags=0xc001000 theme=0x7f130007
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/data/app/com.google.android.tvlauncher-f03AUa5fOy1TItsfaki7Iw==/base.apk
seinfo=default:targetSdkVersion=29
seinfoUser=:complete
dataDir=/data/user/0/com.google.android.tvlauncher
deviceProtectedDataDir=/data/user_de/0/com.google.android.tvlauncher
credentialProtectedDataDir=/data/user/0/com.google.android.tvlauncher
enabled=true minSdkVersion=26 targetSdkVersion=29 versionCode=1010900817 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=2
usesNonSdkApi=false
allowsPlaybackCapture=true
Activity #4:
priority=-1000 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true
ActivityInfo:
name=com.android.tv.settings.system.FallbackHome
packageName=com.android.tv.settings
enabled=true exported=true directBootAware=true
taskAffinity=com.android.tv.settings targetActivity=null persistableMode=PERSIST_ROOT_ONLY
launchMode=0 flags=0x220 privateFlags=0x0 theme=0x7f1100c0
screenOrientation=-1 configChanges=0x40002ff7 softInputMode=0x0
lockTaskLaunchMode=LOCK_TASK_LAUNCH_MODE_DEFAULT
resizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
ApplicationInfo:
packageName=com.android.tv.settings
labelRes=0x7f100366 nonLocalizedLabel=null icon=0x7f080201 banner=0x7f0800e0
processName=com.android.tv.settings
taskAffinity=com.android.tv.settings
uid=1000 flags=0x28c8be45 privateFlags=0xc501068 theme=0x7f1101d2
requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
sourceDir=/system/priv-app/TvSettingsGoogle/TvSettingsGoogle.apk
resourceDirs=[/vendor/overlay/ChromecastTvSettingsGoogleOverlay.apk]
seinfo=platform:privapp:targetSdkVersion=28
seinfoUser=:complete
dataDir=/data/user_de/0/com.android.tv.settings
deviceProtectedDataDir=/data/user_de/0/com.android.tv.settings
credentialProtectedDataDir=/data/user/0/com.android.tv.settings
enabled=true minSdkVersion=29 targetSdkVersion=29 versionCode=1 targetSandboxVersion=1
supportsRtl=true
fullBackupContent=true
HiddenApiEnforcementPolicy=0
usesNonSdkApi=true
allowsPlaybackCapture=true
@titooo7 I'm only getting to messing with this now. (unplugged my Shield as it was the only way to actually start using the CC GTV)
Did you manage to get the vanilla AOSP ATV launcher working?
Has anyone got to the bottom of this ? Ability to lunch the original android tv luncher would be really nice.
I tried myself by installing android tv launcher, android tv services as well as leanback launcher using play store (no need for side loading)...
then tried lunching it by
Code:
am start -n "com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity" -a android.intent.action.MAIN -c android.intent.category.HOME
It seems to be lunching but it seems to gets killed instantly.
Logcat.
Code:
11-01 02:07:56.898 3840 4772 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.tvlauncher/.MainActivity} from uid 2000
11-01 02:07:56.951 3840 3869 I ActivityManager: Start proc 22253:com.google.android.tvlauncher/u0a87 for activity {com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}
11-01 02:07:57.171 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-leash#0
11-01 02:07:57.171 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-bounds#0
11-01 02:07:57.171 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-leash#0
11-01 02:07:57.172 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-bounds#0
11-01 02:07:57.185 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-bounds#0
11-01 02:07:57.185 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-leash#0
11-01 02:07:57.185 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-leash#0
11-01 02:07:57.185 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}})/@0xcaf715a - animation-bounds#0
11-01 02:07:57.233 22253 22300 E AndroidRuntime: Process: com.google.android.tvlauncher, PID: 22253
11-01 02:07:57.248 3840 3856 W ActivityTaskManager: Force finishing activity com.google.android.tvlauncher/.MainActivity
11-01 02:07:57.314 3840 4772 I ActivityManager: Process com.google.android.tvlauncher (pid 22253) has died: vis TOP
11-01 02:07:57.315 3552 4208 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.317 3552 4208 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: ae75549 Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.318 3552 4208 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: ae75549 Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.318 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: ae75549 Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.318 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.318 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.318 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: ae75549 Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.320 3552 4208 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}}#0
11-01 02:07:57.321 3552 4208 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}}#0
11-01 02:07:57.327 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.335 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}}#0
11-01 02:07:57.335 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Splash Screen com.google.android.tvlauncher#0
11-01 02:07:57.335 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: AppWindowToken{aaac495 token=Token{9f8fc4c ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t175}}}#0
11-01 02:07:57.749 3840 3861 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{638f47f u0 com.google.android.tvlauncher/.MainActivity t-1 f}
11-01 02:09:39.384 3840 3856 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.tvlauncher/.MainActivity} from uid 2000
11-01 02:09:39.429 3840 3869 I ActivityManager: Start proc 22323:com.google.android.tvlauncher/u0a87 for activity {com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}
11-01 02:09:39.673 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-leash#0
11-01 02:09:39.673 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-bounds#0
11-01 02:09:39.673 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-leash#0
11-01 02:09:39.675 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-leash#0
11-01 02:09:39.675 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-bounds#0
11-01 02:09:39.687 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-bounds#0
11-01 02:09:39.687 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-leash#0
11-01 02:09:39.687 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-leash#0
11-01 02:09:39.687 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}})/@0x9d7a9e9 - animation-bounds#0
11-01 02:09:39.706 22323 22370 E AndroidRuntime: Process: com.google.android.tvlauncher, PID: 22323
11-01 02:09:39.723 3840 4772 W ActivityTaskManager: Force finishing activity com.google.android.tvlauncher/.MainActivity
11-01 02:09:39.769 3840 7719 I ActivityManager: Process com.google.android.tvlauncher (pid 22323) has died: vis TOP
11-01 02:09:39.772 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.774 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: 1c63bed Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.774 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: 1c63bed Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.776 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}}#0
11-01 02:09:39.776 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}}#0
11-01 02:09:39.777 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}}#0
11-01 02:09:39.782 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}}#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: 1c63bed Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Splash Screen com.google.android.tvlauncher#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: AppWindowToken{c3f9cc3 token=Token{9628072 ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t176}}}#0
11-01 02:09:39.787 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: 1c63bed Splash Screen com.google.android.tvlauncher#0
11-01 02:09:40.224 3840 3861 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{a9ef97d u0 com.google.android.tvlauncher/.MainActivity t-1 f}
11-01 02:17:43.561 3840 28544 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.tvlauncher/.MainActivity} from uid 2000
11-01 02:19:00.929 3840 28544 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.tvlauncher/.MainActivity} from uid 2000
11-01 02:19:20.315 3840 3869 I ActivityManager: Start proc 22503:com.google.android.tvlauncher/u0a87 for activity {com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}
11-01 02:19:20.613 22503 22550 E AndroidRuntime: Process: com.google.android.tvlauncher, PID: 22503
11-01 02:19:20.637 3840 28544 W ActivityTaskManager: Force finishing activity com.google.android.tvlauncher/.MainActivity
11-01 02:19:20.714 3840 4099 I ActivityManager: Process com.google.android.tvlauncher (pid 22503) has died: vis+99 TOP
11-01 02:19:20.719 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{1813e0b token=Token{85c39da ActivityRecord{c7f9785 u0 com.google.android.tvlauncher/.MainActivity t178}}}#0
11-01 02:19:20.721 3552 4339 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{1813e0b token=Token{85c39da ActivityRecord{c7f9785 u0 com.google.android.tvlauncher/.MainActivity t178}}}#0
11-01 02:19:20.735 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: AppWindowToken{1813e0b token=Token{85c39da ActivityRecord{c7f9785 u0 com.google.android.tvlauncher/.MainActivity t178}}}#0
11-01 02:19:20.735 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: AppWindowToken{1813e0b token=Token{85c39da ActivityRecord{c7f9785 u0 com.google.android.tvlauncher/.MainActivity t178}}}#0
11-01 02:19:21.140 3840 3861 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{c7f9785 u0 com.google.android.tvlauncher/.MainActivity t-1 f}
11-01 02:20:15.881 3840 4099 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.tvlauncher/.MainActivity} from uid 2000
11-01 02:20:16.007 3840 3869 I ActivityManager: Start proc 22873:com.google.android.tvlauncher/u0a87 for activity {com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}
11-01 02:20:16.263 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-leash#0
11-01 02:20:16.263 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-bounds#0
11-01 02:20:16.266 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-leash#0
11-01 02:20:16.266 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-bounds#0
11-01 02:20:16.274 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-bounds#0
11-01 02:20:16.274 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-leash#0
11-01 02:20:16.274 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-leash#0
11-01 02:20:16.274 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Surface(name=AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}})/@0x51f7386 - animation-bounds#0
11-01 02:20:16.318 22873 22927 E AndroidRuntime: Process: com.google.android.tvlauncher, PID: 22873
11-01 02:20:16.337 3840 9090 W ActivityTaskManager: Force finishing activity com.google.android.tvlauncher/.MainActivity
11-01 02:20:16.393 3840 3856 I ActivityManager: Process com.google.android.tvlauncher (pid 22873) has died: vis+99 TOP
11-01 02:20:16.395 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.397 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: cb48eb0 Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.397 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: cb48eb0 Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.399 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}}#0
11-01 02:20:16.400 3552 3831 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}}#0
11-01 02:20:16.406 3552 3588 D SurfaceFlinger: onHandleDestroyed, markLayerPendingRemovalLocked: Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}}#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: cb48eb0 Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, layerRemoved, make not visible: Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: AppWindowToken{bd0b9ac token=Token{58dcb5f ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t180}}}#0
11-01 02:20:16.407 3552 3552 D SurfaceFlinger: mLayersPendingRemoval, release: cb48eb0 Splash Screen com.google.android.tvlauncher#0
11-01 02:20:16.838 3840 3861 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{c017fe u0 com.google.android.tvlauncher/.MainActivity t-1 f}
PS. To open play store go to apps, click on random app category > then go to settings > apps > recent > google play store > open.
It will open google play store UI where you can see all apps released by google, then you can install android tv launcher, leanback and android tv services.
@yaro014 I'd get rid of my two shields if I could get this sorted
METHOD A (EASY) - GET RID OF THE ADS ON THE MAIN SCREEN WITH AN ALTERNATIVE LAUNCHER
Install ATV Launcher or Wolf Launcher and disable the default launcher via adb. If you find a nice wallpaper that's a good option.
This is what I did:
1. Install Wolf launcher
2. Open Wolf launcher (opens fine)
3. Use ADB to disable stock - pm disable-user --user 0 com.google.android.apps.tv.launcherx
However, as soon as I do 3), the next time I press home, I am not able to navigate around Wolf anymore.
Did I miss a step?
Thank you.
OK, so far in order to use an alternative launcher without problems this is what I had to do:
(1) Install alternative launcher -
Wolf launcher etc
(2) disable stock launcher -
Code:
adb shell
pm disable-user --user 0 com.google.android.apps.tv.launcherx
pm disable-user --user 0 com.google.android.tungsten.setupwraith
(3) Press home button and select the alternative launcher as home app
However, I have tried various versions of the original Leanback Launcher to no avail.
Does anyone have the definitive list of framework/dependancies that Leanback launcher needs?
Thanks
H
Leanback launcher complains a lot about permissions.
Android TV home launcher complains about core services not being installed, however when installed it's being removed on reboot.
There might be some trickery enabled within the system to prevent loading Android TV launcher etc.
seapoint said:
OK, so far in order to use an alternative launcher without problems this is what I had to do:
(1) Install alternative launcher -
Wolf launcher etc
(2) disable stock launcher -
Code:
adb shell
pm disable-user --user 0 com.google.android.apps.tv.launcherx
pm disable-user --user 0 com.google.android.tungsten.setupwraith
(3) Press home button and select the alternative launcher as home app
However, I have tried various versions of the original Leanback Launcher to no avail.
Does anyone have the definitive list of framework/dependancies that Leanback launcher needs?
Thanks
H
Click to expand...
Click to collapse
i follow your step to set atv launcher as my home app, but the physical youtube button on remote didn't work anymore since that, i just wonder disabling com.google.android.tungsten.setupwraith maybe affect that? do u have the same issue?
Here's a challenge. Create a editor for the cloud based google Watchlist to add additional "ways to watch"for individual tv shows. Like mx player. That would be so sweet.
titooo7 said:
Get rid of the 3 shows/movies ads that you still get in screen even when Apps Only mode is enabled - WIP
I tried disabling some apps that came pre-installed but I didn't manage to get rid of those last ads. I guess it's integrated within the launcher so we might need to mod it (if possible), live with it or just go back to Option 1 and use a different launcher.
Any help would be appreciated
Click to expand...
Click to collapse
Here's an idea...
I've seen some screenshots from users in countries where the Chromecast with Google TV is not sold yet. It appears that they don't have the "For you" tab, and instead are having an "Home" tab which looks a bit sleeker. See: My new chromecast 2020 does not have the FOR YOU tab as normally seen in many review videos - Chromecast Community (google.com) . (Though it might not be the same for everyone, as Chromecast with Google TV: "For you", "Movies", "Shows" not showing up - Chromecast Community does have a giant suggestion bar despite having an "Home" tab.)
I've also completely disabled Internet access to my CCwGTV at my router-level. Of course, it's not that useful. But I can observe that once the launcher is loaded, I do have an "Home" tab instead of a "For you" tab. Until I re-enable Internet access...
Could it be possible to block Internet access to the launcher only? And/or trick it to think it's running on a device located in an unsupported country? While leaving all other applications correctly establish the current location -- i.e. still want Netflix to know that I'm at home and offers me what's available here, and not somewhere around Antarctica.
Alexandre-P said:
Could it be possible to block Internet access to the launcher only?
Click to expand...
Click to collapse
A domain specific block may work. Not sure what software you have running on your router, but if openwrt, it wouldn't be too much of a challenge to filter domains based on the device making the request, and even if its making the DNS request direct to 8.8.8.8, you can redirect that at the router back to 192.168.1.1
I had a little bit of progress on my Chromecast, I used TechDoctor UK's launcher manager to be able to choose a new launcher. I side loaded the old Leanback Launcher but for Amazon Fire. I can get it to load right the first time but then when I go back it gets stuck..
Could we take the official Leanback or Android TV home and just change the name so it appears as a different app?
titooo7 said:
WIP: "De-bloating" the Chromecast with Google TV. Let's get rid of those ads!
Those who like the Chromecast with Google TV UI or wouldn't move a finger to change it can stop reading this thread and move onto something else. No need to leave any comment, xda-developers wasn't created for people who don't like a challenge
If you don't like the UI because the massive ads it brings, then you are welcome to keep reading and help if you can!
METHOD A (EASY) - GET RID OF THE ADS ON THE MAIN SCREEN WITH AN ALTERNATIVE LAUNCHER
Install ATV Launcher or Wolf Launcher and disable the default launcher via adb. If you find a nice wallpaper that's a good option.
METHOD B (HARD) - USE THE APPS ONLY MODE WITH GOOGLE ASSISTANT AND NO ADS
Go to Settings > Accounts & Sign-in > Select your ac**** > Enable "Apps only mode".
Now you removed 90% of the ads but it seems like Google doesn't want us to use the Apps only mode, so they decided to put some hurdles in place disabling google assistant and play store access . We can fix it partially, so keep reading
Get a shortcut to the Google Play Store
Sideload and install this app (created with this site) and now you'll be able to access Google Play Store opening the app even on Apps Only Mode (see here how it looks)
How to use Google Assistant even on Apps Only mode - WIP
Go to Settings > All Apps > "See All apps" > "Show System apps" > Google > click on "Uninstall Updates" & "Disable". Now sideload and install this version
Now you can use Google Assistant to open a YouTube video or ask questions such as "what's the weather today?", but you can't give a voice command to open an app... It will go through a loop trying to setup google assistant.
Get rid of the 3 shows/movies ads that you still get in screen even when Apps Only mode is enabled - WIP
I tried disabling some apps that came pre-installed but I didn't manage to get rid of those last ads. I guess it's integrated within the launcher so we might need to mod it (if possible), live with it or just go back to Option 1 and use a different launcher.
Any help would be appreciated
METHOD C (HARD) - SWITCH TO THE ORIGINAL ANDROID TV LAUNCHER
I disabled the Google TV Launcher com.google.android.apps.tv.launcherx via adb. Then I sideloaded the Android TV Home and Lenback Launcher apks and tried to launch the main activity of those apps but it didn't work. Some activities could be launched but not the main one.
Any help would be highly appreciated as that's what I really wanted to do.
Click to expand...
Click to collapse
Do you have a list of apps that can be uninstalled via adb? It would be very useful. Thank you.
So it turns out that the easiest solution to this problem is to buy an ADT-3, which is what CCGTV really should have been. Unlocked and actually up to date (Android 12).
96carboard said:
So it turns out that the easiest solution to this problem is to buy an ADP-3, which is what CCGTV really should have been. Unlocked and actually up to date (Android 12).
Click to expand...
Click to collapse
what's an ADP-3?
pddc said:
what's an ADP-3?
Click to expand...
Click to collapse
ADT-3, apologies.
Just picked one of these up, thanks to your head start, I've got the homescreen looking like this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I have it running in "Apps Only mode" regular mode looks almost the same, but with a non-functioning Google Assistance icon at the top.
Here is what I did:
Set-up the device as normal, and ran all updates.
Uninstalled all apps I didn't want, and sideloaded the apps I wanted.
Created ATV icon apps for Play Store and Movies as suggested above.
Blocked " androidtvlauncherxfe-pa.googleapis.com " using a pi-hole.
Cleared data for the Google TV app.
Restarted the device, and set to apps-only mode.
Ads are blocked the same way as on the NVIDIA SHIELD. Took me a few times of resetting to pin down the ip address to block. The big error message isn't ideal, I would be fine with the "generic" ads like the SHIELD, but it's better than the alternative.
As far as I am able to tell, everything works as without issue, including casting, except Google Assistant which is fine by me.
Only other downsides: there is sometimes a noticeable delay returning to the homescreen (on boot, returning from settings, rarely when switching apps), and you cannot open the "quick-menu" on the home screen to move apps. The only way to rearrange apps would be to uninstall.
Might not be the most elegant solution, but nothing deal breaking IMHO. Certainly good enough for my uses.