devilutionX icon indicating copy to clipboard operation
devilutionX copied to clipboard

Android TV support fails on two accounts

Open AJenbo opened this issue 2 years ago • 13 comments

image

Home Screen Banner: https://developer.android.com/training/tv/start/start.html#banner UI Patterns: https://developer.android.com/design/tv/patterns.html#banner (404) Visual Design and User Interaction https://developer.android.com/docs/quality-guidelines/tv-app-quality#TV-LB

DPAD Control: https://developer.android.com/training/tv/start/navigation.html#d-pad-navigation Hardware Declaration: https://developer.android.com/training/tv/start/hardware.html#declare-hardware-requirements

AJenbo avatar Jun 14 '23 14:06 AJenbo

I guess we should slap the app name on the banner: https://github.com/diasurgical/devilutionX/blob/master/android-project/app/src/main/res/drawable/banner.jpg

I could sware the thing works with a dpad, but maybe they have some stipulations we are not following.

AJenbo avatar Jun 14 '23 14:06 AJenbo

Maybe they're testing with a remote control style d-pad.

image

StephenCWills avatar Jun 14 '23 14:06 StephenCWills

The only part I can't get to is deleting a hero: image In game I'm also unable to bring up the menu just using the remote.

The remote works as a 6 button controller.

  • dpad
  • back is A
  • select is B

You can actually play the game to a large extend just using the remote.

AJenbo avatar Jun 14 '23 14:06 AJenbo

This may be pretty hard if we have to follow their guidelines.

Follow these guidelines to test that your app's navigation system works well with a D-pad on a TV device:

  • Ensure that a user with a D-pad controller can navigate to all visible controls on the screen.
  • For scrolling lists with focus, make sure that the D-pad up and down buttons scroll the list and that the select button selects an item in the list. Verify that users can select an element in the list and that the list still scrolls when an element is selected.
  • Ensure that switching between controls is straightforward and predictable.

EDIT: Actually, thinking about the second bullet, I don't understand what they're talking about at all. Is that like a multi-select list or a massive list of radio buttons or something?

Is there a way we can contact them for more clarification? Otherwise, this is just going to be a guessing game.

StephenCWills avatar Jun 14 '23 14:06 StephenCWills

it could be that they think transfering the mpq files is to much work using a remote :D

But downloading the shareware is working though :)

AJenbo avatar Jun 14 '23 14:06 AJenbo

Is there a way we can contact them for more clarification? Otherwise, this is just going to be a guessing game.

It's Google, one way communication and no details. They do have a general support email but they mostly just reply "sorry can't help, try the website"

AJenbo avatar Jun 14 '23 14:06 AJenbo

It's Google, one way communication and no details. They do have a general support email but they mostly just reply "sorry can't help, try the website"

Do you think they'd notice if we resubmit with no d-pad changes? Maybe they'll change their mind.

StephenCWills avatar Jun 14 '23 14:06 StephenCWills

We did comply with what they said: :shrug:

Please make sure that menus and app navigation needed for the app’s core functionality are fully functional using a DPad. Please refer to our DPAD Control and Hardware Declaration documentation.

AJenbo avatar Jun 14 '23 14:06 AJenbo

From StackOverflow: https://stackoverflow.com/questions/49713825/androidtv-missing-dpad-functionality

glebm avatar Jun 15 '23 03:06 glebm

A good read, I wonder if the DataActivity should also have LEANBACK intent. And maybe they are getting stuck on the shareware download or something similar and we can just add a toast. I think ideally we would make a progress bar for all active downloads though that doesn't feel like fun to implement.

AJenbo avatar Jun 15 '23 08:06 AJenbo

It could be a fluke but when I tried to go around my remote controller, [1] and [2] actually made me drink the potions on the belt. Rewind, Forward, Stop unselect NPC, something like moving mouse away from the NPC itself. The "OK" button opens skills/spells belt. So at least in this case it's impossible to talk to anyone, probably impossible to fight either.

Oh and while on it, I'm not sure if it's global for Android but when typing name with on-screen keyboard, it covers a lot of space so one has to guess if the name has been deleted or not and such. Minor inconvenience but it exists.

Kiiro-Yakumo avatar Jun 20 '23 14:06 Kiiro-Yakumo

Well playing the actual game should be done with a gamepad, not the remote. Only the menus have to be navigatable with it.

AJenbo avatar Jun 20 '23 14:06 AJenbo

Makes sense. Still that's pretty nice set of possibilities to do with just a remote controller. Actually with "accept" and "cancel" one way or another, we could do at least some emergency buy/sell for example.

Tested quickly Logitech F710 and seems to work properly. The talking, menu, checking stash.

As for the Google's statement, in my humble opinion downloadable version for Android TV from here is more than sufficient. Many good programs go that way with skipping the Google Store for one reason or another. If you still want to push that update to the Store then honestly I don't know. Not many "usable" buttons on the remote controller to work with. If the back button can work without exitting the game then this could be "cancel" (Cross on Sony's gamepad), then middle button on directional section "ok" (Circle on Sony's gamepad) as on the image above. 1-8 probably will go for potions so 9 and 0 probably can be used as a backup if something would be still missing for Google...

EDIT - Ah right I forgot, the F710 was tested in XInput mode :+1:

Kiiro-Yakumo avatar Jun 22 '23 19:06 Kiiro-Yakumo

Google has accepted the new banner, but is still faulting the app for not having d-pad navigation: https://developer.android.com/training/tv/start/navigation.html#d-pad-navigation

AJenbo avatar Aug 31 '23 19:08 AJenbo

READ BEFORE POSTING HERE: If you have "this" issue with some other app don't write here. Your issue will be different than ours, you should write to Google to get further details about where in your app the issue is.

AJenbo avatar Jan 05 '24 08:01 AJenbo

We have been accepted for Android TV: image

AJenbo avatar Feb 08 '24 09:02 AJenbo