Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android TV Support #285

Closed
CrossEyeORG opened this issue Jul 19, 2016 · 26 comments
Closed

Android TV Support #285

CrossEyeORG opened this issue Jul 19, 2016 · 26 comments

Comments

@CrossEyeORG
Copy link

Once again I just want to say, what a great app!

I am hoping that Pliable Pixels would be willing to start supporting Android TV. I am currently using a ton of Google Nexus Players around my house and the office and would like to use the displays for zmNinja/ZoneMinder.

Sure I can start compiling the .apt and sideload nmNinja but I would like to start recommending to friends and family to download it through the official channel (Google Play).

Let me know what you guys think and take care all!

@pliablepixels
Copy link
Member

pliablepixels commented Jul 20, 2016

Hi, thanks for your appreciation 👍

Android TV - does my regular apk work on Android TV ? I don't have one. If it doesn't and/or Android TV has different guidelines (a quick google search seems to indicate so), then I really don't think I have the ability to add another platform to support - we aren't a team of folks, its just me, and I barely manage to do this part time :-)

If it does work, and you can try it, I'd love to see how it looks and what might need changing.

@CrossEyeORG
Copy link
Author

Hey pliablepixels,

The apk does work on Android TV, I have been sideloading it onto the devices. The text is a little hard to read at times because it's so small for a large TV screen but all in all... it works. I don't know the procedure for uploading apps to Google Play but I assume there is a section where you specify which devices the app is compatible with and if you would be so kind as to allow Android TV... I would not have to sideload anymore, plus the devices will start getting updates for the app! ;-)

Thanks once again!!

@pliablepixels
Copy link
Member

Ah ok - so here is my issue then - the moment I upload it to the TV and the font is small, I'll get all sorts of folks complaining the app sucks :) (I deal with enough today on just the phones/tablets who like to complain). So I'm going to have to park this @CrossEyeORG till I make sure it looks good...

@CrossEyeORG
Copy link
Author

Totally understand @pliablepixels, that's probably a accurate assumption of what would happen! :-(

@CrossEyeORG
Copy link
Author

Hey @pliablepixels, can you direct me to where I can get a copy of your latest apk? I would like to try and sideload your app on my various Android TV devices and see how the functionality and performance is. My gut feeling is zmNinja is going to work great!

Not saying they are the same but I have been using the desktop versions (as a stop gap until nmNinja is available for Android TV) and everything resizes very cleaning and looks fantastic!

Thanks again for a great product!! :-D

@pliablepixels
Copy link
Member

Can you send me an email? pliablepixels @ gmail

@danaberdeen
Copy link

danaberdeen commented Feb 28, 2018

another vote for this!

I have Nvidia shields which run android tv in the house and it would be great to have a slimmed down interface for them, wouldn't need all the bells and whistles, even just the montage page, with perhaps montage review, they're the things I use most,

I know your only one person though so understand! maybe I could grab the apk? try sideloading it

@pliablepixels
Copy link
Member

Sure, I can send you the APK - but I can't support this at the moment though. pliablepixels at gmail

@stale
Copy link

stale bot commented Apr 29, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Apr 29, 2018
@stale stale bot closed this as completed May 6, 2018
@adamoutler
Copy link

I'm sad to see this issue go stale and close.

I tried installing zmNinja on Android TV. It has no support for arrow keys, so it didn't work. It turned on and launched using some trickery. The problem is that there is no touchscreen or mouse natively on Android TV, so keyboard/buttons must be utilized. There are two things required for Android TV support:

  1. Support buttons/key navigation.
  2. Add an entry to the manifest for Leanback Launcher support.

@pliablepixels pliablepixels reopened this May 12, 2018
@stale stale bot removed the stale label May 12, 2018
@pliablepixels
Copy link
Member

Let's talk about this a bit.

2 is easy to to.

for 1: what sort of buttons should be mapped? I don't use Android TV and don't know what the norm is.

zmNinja relies heavily on touch - any suggestions on how to map the touch events of every view to keyboard buttons? I have basic questions like:

a) How do you scroll - zmNinja doesn't handle scrolling on its own, the browser does. How do you map this to a button?
b) How do you select a particular montage window in the montage screen?

Seems to be much more work than just keyboard mapping

@adamoutler
Copy link

The most basic functionality would be mapping tab and shift tab to left and right arrow keys. Select and back already works properly.

There is discussion here about this topic.
https://stackoverflow.com/questions/19716840/handle-arrow-keys-from-d-pad-on-webview-google-tv-app

@pliablepixels
Copy link
Member

pliablepixels commented May 12, 2018

I need specific inputs here.
I just installed an android TV emulator, running Android 7. Navigation works. I don't know if that is because the emulator allows mouse movement

  1. I don't plan to support Android TV < 6.0
  2. What works in zmNinja and what doesn't on a screen by screen basis?
  3. For items that don't work, what key combinations are expected to make it work? What is the norm?

@pliablepixels
Copy link
Member

pliablepixels commented May 12, 2018

Update:
Okay, so now I am able to trap keyboard and d-pad events.

How do we use them to select different items on different views? Lets take Montage:

a) What will dpad arrows do ?
b) What keypad combos will be used to select top header options?
c) In android TV how does one "focus" on a button to select it?

If I can wrap my head around one view, I can apply similar logic to the others

@adamoutler
Copy link

adamoutler commented May 12, 2018

Don't use the mouse. There is no mouse on a typical Android TV. It uses D-pad only. D-pad is the same as arrow keys.

The select and back buttons already work. It's just a matter of getting arrow keys to do something productive.

If you could map it so play/pause or Y goes to settings and X goes to montage review, it would likely fit all needs.

@pliablepixels
Copy link
Member

How are you using the select key now?

Lets take the montage screen:
a) What does pressing select do there? (nothing for me)
b) How do you select the menu bar or any of the icons on top now?
c) How are you selecting a single montage window to view ?

@pliablepixels
Copy link
Member

I am not going to be supporting this anytime soon.
I have a basic version working which allows you to navigate the menu and select items, but in general, its not as simple as just mapping one or two keys.

Issues I am facing:
a) Android TV seems to have its own logic to use arrow keys to focus on "input" items (items that require a keyboard). This is causing issues when I am handling it myself for other elements and will need more more research

b) I need to figure our how a user can configure the app and all options. Releasing a version that only supports one or two elements and not others will result in support hell, which I have no time for at the moment.

@adamoutler
Copy link

I added a line comment. The additional 4 buttons could be used for menu cycling or direct access.

L1: 102,
R1: 103,
L2: 104,
R2: 105,
THUMBL:106,
THUMBR:107,

Eg. R1=next menu option, L1=previous. Or each button can trigger a different menu
pliablepixels@56d4134#commitcomment-28970920

@adamoutler
Copy link

Also of note. Forward and rewind are not common keys on Android TV. The typical controller works just like a playstation controller with home, voice, back and play/pause instead of select and play. There is no select.

@stale
Copy link

stale bot commented Oct 19, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 19, 2018
@asantaga
Copy link

hey guys,

Would the Android TV build also work for Amazon Fire TV?

Posted here as I thought it would be same/similar

@pliablepixels : If you have an apk handy I could test it out, not urgent though

thanks

@pliablepixels
Copy link
Member

There isn't an android TV build, unfortunately. There were too many issues trying to get remote controls working. See comments above.

@adamoutler
Copy link

adamoutler commented Apr 23, 2019 via email

@tvl9ops
Copy link

tvl9ops commented Dec 28, 2020

I'm wondering if your sentiment has changed in the meantime. I'm using zmninja pro in all my ipads and android phones, but the Android TV is a no go as I'm reading this thread. I have to use Tiny Cam Monitor instead and direct rtsp connections from the cameras. It's a pity not to have uniform apps/frontends on all my devices.

@pliablepixels
Copy link
Member

It's not really a question of sentiment. It is a question of effort and adding a new platform with reasonably different controls (I tried earlier) is not something I have the time for, unfortunately.

@tvl9ops
Copy link

tvl9ops commented Dec 29, 2020

Sure, got it. Once we are on the line, I have difficulty displaying a rotated stream in zmninja (1080x1920 potrait, not landscape), in which forum can I raise this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants