Is anyone else messing around with the GTV-specific Java libraries? There's no SDK yet, so no documentation, but they seem pretty straightforward.
I'm particularly interested in program guides so I'm looking primarily at the packages com.google.tv.epg and com.google.tv.epg.domain. One of these contains a service named ILineupService that's pretty easy to bind a client app to.
The problem I have though is that the service queries a Google address which returns an HTTP 400. This might be because I'm in the UK and it's a region-locked service. The URL that the service tries to get programme data from is:
http://www.google.com/tv/a/lineup?fmt=p ... wCyGxIU%3D
If anyone can get anything other than a HTTP 400 from that, please let me know. If you are interested in looking into this area of GTV hacking, please get in touch!
-- Reuben
GTV Android APIs
Moderator: Revue Mod
Re: GTV Android APIs
I get a 400 as well. I am definitely interested in seeing what else we can get out of the Revue without putting the beta firmware on. Just to dicey for me at the moment. I'm not a developer, but I am savvy and willing to learn. I am assuming you snagged that URL by catching it with a proxy? Is the URL the same every time that call is made? Have you tried using something like Fiddler or Paros proxy to catch more of the information being sent across? There may be some header values you need to send along to get the right information back. Paros and Fiddler will catch that and let you manipulate the data.ReubenS wrote:Is anyone else messing around with the GTV-specific Java libraries? There's no SDK yet, so no documentation, but they seem pretty straightforward.
I'm particularly interested in program guides so I'm looking primarily at the packages com.google.tv.epg and com.google.tv.epg.domain. One of these contains a service named ILineupService that's pretty easy to bind a client app to.
The problem I have though is that the service queries a Google address which returns an HTTP 400. This might be because I'm in the UK and it's a region-locked service. The URL that the service tries to get programme data from is:
http://www.google.com/tv/a/lineup?fmt=p ... wCyGxIU%3D
If anyone can get anything other than a HTTP 400 from that, please let me know. If you are interested in looking into this area of GTV hacking, please get in touch!
-- Reuben
Re: GTV Android APIs
Hey, thanks for trying... are you in the US? I just setting up a VPN here to fake presence in the US and i still get HTTP 400. Lord knows what's going on, I really wish Google would ship the SDK.
That URL is being accessed by a service in the ROM. I got it by simply examining logcat output once my test app had connected to the EPG service... the service helpfully logs its failures with full URLs.
That URL is being accessed by a service in the ROM. I got it by simply examining logcat output once my test app had connected to the EPG service... the service helpfully logs its failures with full URLs.
Re: GTV Android APIs
Yes I am in the US. You should definitely try one of those proxy apps as it will capture a lot more data than just the URL. Something like wireshark could do it as well, but that seems like overkill.
Re: GTV Android APIs
Maybe the EPG service is checking user agent strings... don't suppose anyone would know the User-Agent for the original Revue ROM?
The current Honeycomb 3.1's user agent is Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/b55579.
The current Honeycomb 3.1's user agent is Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/b55579.
Re: GTV Android APIs
Quick question: Where are the necessary .jars for the com.google.tv packages located?
Assume they are somewhere on the filesystem of an updated honeycomb revue?
Assume they are somewhere on the filesystem of an updated honeycomb revue?
-
- Android 1.0
- Posts: 30
- Joined: Tue Aug 16, 2011 12:43 pm
Re: GTV Android APIs
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Large Screen Safari/533.4 GoogleTV/b54202ReubenS wrote:Maybe the EPG service is checking user agent strings... don't suppose anyone would know the User-Agent for the original Revue ROM?
The current Honeycomb 3.1's user agent is Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/b55579.
Re: GTV Android APIs
parrotheadmjb: Thanks!
elsewhat: they're in /system/framework. You can fish them out with 'adb pull /system/framework/com.google.tv.mediadevices', for example.
Some excitement... I have today managed to get broadcast TV into my own app! I dexdump'd com.google.tv.mediadevices.MediaDeviceView and followed what it does. You bind to a service and tell the standard VideoView widget to open hdmi://localhost?port=2 once you've got your service connection. You also need to put the permission com.google.tv.mediadevices.permission.MEDIA_DEVICES_CLIENT in your manifest.xml.
elsewhat: they're in /system/framework. You can fish them out with 'adb pull /system/framework/com.google.tv.mediadevices', for example.
Some excitement... I have today managed to get broadcast TV into my own app! I dexdump'd com.google.tv.mediadevices.MediaDeviceView and followed what it does. You bind to a service and tell the standard VideoView widget to open hdmi://localhost?port=2 once you've got your service connection. You also need to put the permission com.google.tv.mediadevices.permission.MEDIA_DEVICES_CLIENT in your manifest.xml.
Re: GTV Android APIs
Can the Revue detect (via hdmi?) whether or not the TV is physically turned on, so a background service in a running app could take some kind of action and shut down a few minutes after determining that the user appears to have turned off the TV?
Re: GTV Android APIs
does this mean that we can hope for some sort of ota tv app in the near future with guide that switches tv channels automatically...or would that not work??? guess not since you would lose guide as soon as the changes channel - duh. What about soem sort of support for usb tuners or network tuners?ReubenS wrote:parrotheadmjb: Thanks!
elsewhat: they're in /system/framework. You can fish them out with 'adb pull /system/framework/com.google.tv.mediadevices', for example.
Some excitement... I have today managed to get broadcast TV into my own app! I dexdump'd com.google.tv.mediadevices.MediaDeviceView and followed what it does. You bind to a service and tell the standard VideoView widget to open hdmi://localhost?port=2 once you've got your service connection. You also need to put the permission com.google.tv.mediadevices.permission.MEDIA_DEVICES_CLIENT in your manifest.xml.