Web page elements no longer focusable on Works with Nest web page within Android web view (web authorisation flow)


#1

Hi,

Just wondering whether the Works with Nest authorisation flow web page (i.e. https://home.nest.com/login/oauth2?client_id=CLIENT_ID&state=STATE) has changed recently as my users are no longer able to select any of the links on the page when attempting to login to their Nest accounts using an Android TV. The links on the page are: Learn more, Accept and Sign in to a different account. Obviously, without being able to select and press the Accept button on the page they are unable to complete the authorisation process and access their Nest accounts. This is part of the web authorisation flow launched inside a web view within com.nestlabs.sdk.NestAuthActivity.java. Are there any workaround I could implement for this (have tried implementing a custom version of the class to intercept user interactions via their remote control, but to no avail) or will a fix be put in place to cater for devices without touch screens?

All the best

Steve


#2

I don’t believe anything has changed but when you say “no longer able to select” what do you mean exactly. How did they do it before? (Sorry, I’m not familiar with the Android TV interface.)


#3

Hi, thanks for getting in touch.

So Android automatically takes care of the focusable elements on a screen when navigating using a remote control or other non-touchscreen device (although this can be overridden), and it had been working really well for the two web pages (login page and subsequent authorisation page) being loaded within the web view in the sdk activity com.nestlabs.sdk.NestAuthActivity.java up until recently. The focusable elements within the login page (email address field, forgot password link, password field and sign in button) are all receiving the focus when pressing the up and down arrows on a remote control. However, when the next page (the authorisation page with the list of permissions and the Accept button) comes to the foreground the screen is still scrollable, but none of the elements within the page receive the focus (previously the user would use the remote control arrows to navigate between each element such as the Accept button or the other html links, with each becoming highlighted to indicate which element currently had the focus).

We haven’t updated the nest sdk for a couple of months, so the only thing I could think of was that the structure of the authorisation web page being loaded had changed as this is the only moving part that is managed remotely. Android sometimes has difficulties managing focus if it cannot immediately find the child elements on the screen so thought that the hierarchy of the elements on the page had changed. If it helps we are currently using nest sdk version: com.nestlabs:android-sdk:1.1.1.

Hope this makes sense. Please let me know if you need any further explanation.


#4

I checked with our engineering teams and that page hasn’t changed for a few months, and the most recent update had nothing to do with element focus.

Do you know roughly when this stopped working?

Another possibility is perhaps an update to the Android WebView class (or one of the other classes used in NestAuthActivity.java) is causing this behavior. It may be that, or some specific kind of Android TV update.


#5

I was notified early last Thursday 6 July, so probably at least Wednesday 5 July.

Looks like there may have been an update to the Android System WebView towards the end of June/early July. Should I move this issue to the Nest sdk github site https://github.com/nestlabs/android-sdk?


#6

We’re checking into a few more things, but I can’t say whether or not something needs to be updated in that SDK repo. If it’s an Android library issue or something specific to Android TV it would probably need to be addressed there.


#7

Hi,

On what build of the Android TV is this issue being observed?


#8

Hi, the build currently on my Nexus Player is Android 7.1.2 N2G48B.