[remoting android] Bad UX with signed-out accounts on a device |
||||
Issue descriptionSometimes, 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.
,
Jul 11 2017
,
Jul 14 2017
,
Jul 14 2017
Same problem with open-source switcher. Bug is in the app, not the switcher.
,
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
,
Aug 1 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by lambroslambrou@chromium.org
, Jul 7 2017