New issue
Advanced search Search tips

Issue 740231 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

[remoting android] Bad UX with signed-out accounts on a device

Project Member Reported by lambroslambrou@chromium.org, Jul 7 2017

Issue description

Sometimes, a device can have an account which has been signed out (such as by revoking the device's access to an account using https://myaccount.google.com/device-activity). This leads to bad UX in the app if the user switches to such an account:

Steps:
1. Set up a signed-out or "bad" account on the device.
2. Launch the CRD app, open the Navigation drawer and switch to the "bad" account (if not already switched).

Expected:
The app should either:
1. Display an error screen immediately.
2. Decline to switch to the broken account, re-selecting the previous account instead.
3. Prompt the user to sign into the switched account. If sign-in is cancelled or failed, the app should do either 1 or 2 above.

Actual:
The app prompts the user to sign into the switched account, but does it repeatedly forever if the user tries to back out. The app doesn't allow the user to switch back to a working account. So it's completely broken and unusable until it's recovered by one of the following:
1. Signing in successfully to the bad account.
2. Deleting the bad account from the device.
3. Clearing the app's data storage or reinstalling the app (which would also delete any stored pairings).
I checked some other Google apps with the standard Google account-switcher, and they don't seem to have this bug - they follow one of the "Expected" options above.

 
Forgot to mention: this was with an Official build with the Google account-switcher. I haven't tried it with the open-source build yet.
Owner: lambroslambrou@chromium.org
Status: Started (was: Untriaged)
Same problem with open-source switcher. Bug is in the app, not the switcher.
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16de79b95d9e3ebd3efed51a719409ab4b81b650

commit 16de79b95d9e3ebd3efed51a719409ab4b81b650
Author: Lambros Lambrou <lambroslambrou@chromium.org>
Date: Wed Jul 19 16:16:37 2017

[remoting android] Avoid infinite sign-in loop.

Don't present a sign-in screen if the user has only just cancelled one.

This moves account-reloading from onStart() to onResume(), so it's
guaranteed to happen after an onActivityResult() notification which
informs the Activity that the user has just cancelled sign-in.

In that case, onActivityResult() sets a flag which then prevents
reloadHostList() from being triggered again.

The user can retry sign-in either by switching to a different (or same)
account, or by switching away from the app and back again.

Bug:  740231 
Change-Id: I40a5c31c89c66e36be31ae6fc1574ddbf1989f07
Reviewed-on: https://chromium-review.googlesource.com/571568
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487879}
[modify] https://crrev.com/16de79b95d9e3ebd3efed51a719409ab4b81b650/remoting/android/java/src/org/chromium/chromoting/Chromoting.java

Status: Fixed (was: Started)

Sign in to add a comment