Added biometric support api#2775
Conversation
|
Thanks for the contribution!! we will dive into it and let you know. Since the contribution is marked as your first contribution, i will give a couple of tips about our process:
Thanks again!!! i hope this is only the first one of many contributions ;) |
|
Thank you very much Jesús and happy new year all! I'd really love to see this being included soon in the production apk. I'm ready to submit any needed modification to the PR (although I hope everything is ok!). Best regards, |
|
Pretty cool feature, we will take a look as soon as possible 👍 |
abelgardep
left a comment
There was a problem hiding this comment.
Some changes requested @Batlin . Thanks for the contribution, looks good 👍
6342dd4 to
1cc26a9
Compare
|
Thanks @abelgardep for your review. I'm really excited to see this moving along! :) I've just submitted all suggested changes in a new commit (and made a rebase with master branch), except the ones involving the "set_fingerprint" key. I wanted to confirm with you before committing, because if we rename that key, I think people will have to configure that setting again after updating their apk. Please, confirm me if I should submit a new commit including that change. Thanks again for your time. Best regards, |
@Batlin well, it's not trivial but you could try the following:
We will need to keep that code to make sure we do not break the app for those users upgrading from older versions to new ones. Try it out and tell me. |
|
Ok, I will try it and push a new commit next Friday. Thank you. |
1cc26a9 to
61fe2ea
Compare
|
I've just implemented and tested it. You can check the new commit (I've rebased with master also). Thank you, hope to see this included soon! |
Thanks @Batlin , having a look at it |
|
@Batlin I've requested a few more changes and we are ready to test the feature |
61fe2ea to
3e2a211
Compare
|
@davigonz, I've just rebased against master (no conflicts) and pushed the requested changes. Just to let you know, depending on the UX you want to provide to end users, we could customize the BiometricPrompt that is created in BiometricActivity changing the setConfirmationRequired method. As it's set to true now there is a confirmation required (user has to click on Confirm button) after a biometric has been authenticated. If we set it to false, we could provide a faster authentication experience. Thank you. |
Thanks a lot for applying the changes, the code looks good to me, now it's the turn of @jesmrec who will perform some QA tests. About the faster authentication experience while using the feature, I'm comparing it with the current one |
@Batlin I do not see that confirmation button, where should it appear? I use my fingerprint in the app and the filelist directly appears without any confirmation button. |
|
@davigonz, you are right, I've just tested this on a Xiaomi Mi 9T and there is no confirmation button using fingerprint authentication. But you can see the difference with the face unlock on Pixel 4 (with setConfirmationRequired set to true): And setConfirmationRequired set to false: Best regards, |
Ok, thanks @Batlin ! |
|
Let's start the QA stage. In the first message i've added a link to the test plan and i will add the bugs, improvements etc i'd find out |
|
bug of double passcode is fixed. |
|
I did a couple of tests with a Samsung device with Android 9, which contains its own biometrical unlock implementation. By enrolling face and fingerprint is always asked fingerprint, no matter the preference you set. |
|
Any news on this PR? Which are the next steps? Best regards, |
|
tomorrow we will test with real device Android 10 to check if everyhing is finally OK |
ec2b0f2 to
8add1b7
Compare
|
@jesmrec, I've just rebased the branch, without conflicts, and pushed a new commit to fix the reported string issue (really hope it gets merged!). The only possible explanation is that @michaelstingl has set English (from United Kingdom) in his device and, therefore, it's using strings.xml from values-en-rGB. Please, keep in mind as I have already warned in my first post that new strings (shown at the biometric prompt) are only available in english (now both US and UK) and spanish. Rest of languages are missing (strings biometric_prompt_title and biometric_prompt_subtitle will be shown in english if users have a different language configured). prefs_biometric string ("fingerprint lock") should be modified in other languages as well. Thank you all. Best regards, |
|
Thanks @Batlin , your explanation makes much sense. @michaelstingl can check and we approve then if everything is in order. Let's also check why CI is not passing in this PR. |
|
Other issue to take in account are the UI tests. In settings sets, we used to use the string resource otherwise, tests will fail. |
|
Let's then transifex do its magic... i will add by myself the spanish translation :D From QA this is approved. We have to deal the CI (why the hell is it stucked?) and the UI tests due to the change of resource name. Thanks for your help @michaelstingl !! |
|
Should I push a new commit with the UI test modification? Is there anything else I should do? Just let me know. Thank you! |
|
It would be awesome if you put the commit with the wording modification @Batlin. Thanks! |
|
Finally, these were the actions:
Thanks again for your patience and engagement @Batlin! |












Replace custom fingerprint authentication with androidx biometric library (supports both fingerprint and face unlock mechanisms). This library makes all the features announced in Android 10 (API level 29) available all the way back to Android 6 (API level 23).
New strings (shown at the biometric prompt) are available in english and spanish. Rest of languages are missing (strings biometric_prompt_title and biometric_prompt_subtitle).
QA
Test plan:
https://github.com/owncloud/QA/blob/master/Mobile/Android/Release_2.15/2775-biometric_support.md
BUGS & IMPROVEMENTS: