zotero / zotero-android

Zotero for Android
Other
377 stars 36 forks source link

Login fields should support password managers #99

Closed dstillman closed 10 months ago

dstillman commented 11 months ago

https://forums.zotero.org/discussion/110383/android-login-fields-not-recognised-as-such-not-able-to-use-password-manager

Dima-Android commented 10 months ago

I’ve looked into providing password manager support for Login Screen and as it turns out Autofill framework is still not properly supporting the Compose framework. There is support for old EditText fields, but to use them would require rewriting the entire screen in old XML. What it currently does allow you to do is just making the password manager recognize certain fields as auto-fillable, but nothing else: There is no good way to commit user-entered login and password into the Password Manager and there is no way to tell Password Manager that “instead of suggesting user to pick passwords from hundreds of passwords user have for all sorts of apps and websites, just suggest the one related to our app”.

It seems to be currently “In Focus” in terms of Google’s effort to add proper full support for Autofill for the Compose framework: https://developer.android.com/jetpack/androidx/compose-roadmap So I would suggest waiting a bit and adding it to our app once Google completely implements it.

dstillman commented 10 months ago

How is that possible? Is autofilling passwords not a common thing in Android apps, or is it always done with EditText fields? This has been a standard feature on iOS since 2018.

How complicated is it to rewrite this screen (or that section of it?) using EditText fields, if that's the only option?

This seems like pretty basic functionality that I would generally consider a blocker for release. It's a pretty bad first-run experience if you have to switch to a password manager before you can even log in…

Dima-Android commented 10 months ago

Also people are having lots of other issues with Autofill framework in Compose land ATM as it appears to be unpolished: https://issuetracker.google.com/issues/176949051 So yeah, for compose it seems to be more like in "alpha". For old XML framework it's been good for a while. Sure we can rewrite it in old XML. It's just that we will have to rewrite it again once Google adds proper support for Compose.

dstillman commented 10 months ago

OK, yeah, in this case I think it's worth rewriting it. Annoying!

Dima-Android commented 10 months ago

Does not work on my emulators, but does work on all my real devices.

dstillman commented 10 months ago

Oh, it also now prompts to save to the Google Password Manager, which is nice.