Update UI for email sign in on watch #981
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This improves the UI for signing in by email on the watch.
Text entry on the watch seems to not be particularly well-supported (probably because it is strongly discouraged by Google). As you'll see in this PR, it's much more complicated than just using a
TextField
composable on the phone, and the experience is not ideal.Fortunately, the vast majority of users should never need to sign in with the app on their connected phone or by using Sign in with Google. The email sign in is only included as a last resort to make sure no users are blocked from signing in. Also, we plan to remove email sign-in in the future once we add the ability for users to sign in on the web and get a short code they can enter on their watch to sign in.
Because entering text on the watch requires launching a new activity, it is not easy to exercise much control over the flow. The flow I have here seems pretty good, but it certainly isn't ideal. Given that this should be a rarely used method of signing in, and that we want to release this soon, my thinking is that this is good enough. Let me know if you disagree though.
You'll notice that there is an option for voice input. I don't think it makes a lot of sense for users to use voice input to enter their email or password, but it's not clear to me how to remove that option and to just go straight to the keyboard input for either the email or the password.
Testing Instructions
1. Successful login
2. Failed login
Screenshots or Screencast
Screen.Recording.2023-05-18.at.6.36.52.PM.mov
Screen.Recording.2023-05-18.at.6.24.10.PM.mov
Checklist
modules/services/localization/src/main/res/values/strings.xml