OxygenOS Problems about OnePlus 6T fingerprint API

  1. mium
    Donut Nov 14, 2018

    mium , Nov 14, 2018 :
    Check the original post for better understanding: https://forums.oneplus.com/threads/whats-wrong-with-oneplus-6t-fingerprint-api.944318/#post-19482263

    I tried some experiments for BiometricPrompt on OnePlus 6T, and would like to share some information about it.

    0. What is BiometricPrompt?
    Screen Shot 2018-11-14 at 2.35.03 AM.png

    BiometricPrompt is a new Biometric verification interface for Android 9 or higher. Its goal is to replace previous FingerprintManager API which can be customized so widely that users can be confused when verifying. You can get so many other user interfaces for fingerprint verification on market, while it is identical on Touch ID or Face ID on iOS.

    Users can get information like: which application needs my verification, and why in unified way. It makes users easier to make verification.

    For more information, check out: https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt

    1. You cannot provide BiometicPrompt for users on OnePlus 6T unless you provide a custom view
    The problem is, the developers cannot provide the BiometricPrompt for users for whatever reasons. If you build the prompt using BiometricBuilder, you only get the fingerprint on display icon without any prompt user interface elements.
    I tried lots of tricks to make it visible, but there is no way to enable the prompt screen. If it can be enabled by other tricks, that's great. However, the fact it is challenging to enable the prompt screen especially on OnePlus 6T never changes.

    There is actually another way to enable the prompt screen, which is to trick that the device is lower than API Level 28 (Android 9 Pie), and pretend the device does not have BiometricPrompt API. Then, the developers have to create a custom view using the old FingerprintManager. This way can be proved by GitHub - BiometricAuthSample (https://github.com/anitaa1990/Biometric-Auth-Sample). This developer provides the similar verification interface on Android 6.0 ~ Android 8.1, and if we trick the device is lower than Android 9 Pie, we can get a custom view for older Android versions... but OnePlus 6T does not have an outdated Android version...

    2. Why is this problem?
    Some users may think if the API works well without the prompt interface, it doesn't matter. Well, let's have an example. You get the fingerprint on display without any explanations, and have to decide whether to verify or not. However, the result may be risky. Also, the developers will soon apply the BiometricPrompt to applications since the original FingerprintManager API is now deprecated. Will developers know the OnePlus 6T does not provide the prompt? I guess no. It is unfair for developers to make a custom view just for OnePlus to give the unified experience.

    I know OnePlus' OxygenOS is aimed to provide users a pure Android experience with some tweaks on it. Without the basis, it is hard to experience that pure Android.

    3. Isn't it about Fingerprint on Display so OnePlus disabled the prompt?

    I am not sure about it, but when I get a custom view for OnePlus 6T and have experiments with it using the BiometricAuthSample, it works well with the prompt. Therefore, I do not think the fingerprint on display features matter.

    Also, when purchasing IAPs on Google Play which is not BiometricPrompt but has white-based Material Design, it works perfectly like before.

    I do not have OnePlus 6 with the rear fingerprint scanner, so I will update the post if the developers who have OnePlus 6 test the API and share the result with the community.

    4. It also has problems..

    Without the prompt but the fingerprint on display icon, it works well unless you want to cancel the verification. However, if you want to cancel the verification without the prompt on OnePlus 6T, the only way is to tap on Back key or trigger a gesture. The problem is, with the custom view, you cannot kill the fingerprint scanning action, and without the prompt, it pretends like you tapped on Back key twice, so the activity itself can be quit while other Android devices do not.

    5. Requests for OxygenOS developers
    You may think the API fix request is not prior for updates, but when it comes to developers, it actually is a serious problem. I hope you to look up the problems and fix as soon as possible.

  2. Logancd1
    Ice Cream Sandwich Nov 14, 2018

    Logancd1 , Nov 14, 2018 :
    I'll report on my test on OP6 when I get home today. If anyone beats me to it let me know. Can also compare to OP5T/OP3/Pixel 3XL just to confirm other software or older software works too. Time to set a reminder to do this.

    Starcommander and mium like this.
  3. Sammekl
    Gingerbread May 31, 2019

    Sammekl , May 31, 2019 :
    Can confirm this is still an issue. Also occurs on OnePlus 7 Pro. OnePlus 5T works. It seems to occur due to the inscreen fingerprint sensor. On the Galaxy S10 it does work as well.

    Starcommander likes this.
  4. StuartLang
    Cupcake Jun 5, 2019

    StuartLang , Jun 5, 2019 :
    I'm facing this too, the company I'm working for will start making use of this API (UK FTSE 100 company with millions of customers), which will impact many more OxygenOS users.

    I hope this is being prioritised. Let me know if I can help with testing.

  5. bbedward
    Donut Jun 14, 2019

  6. Sunchezz
    Cupcake Jul 11, 2019

    Sunchezz , Jul 11, 2019 :
    I can also confirm this issue on 7pro with API Level 29 and Oxygen 9.5.9.

    No BiometricPrompt Dialog, no matter what I do.

    Please solve this :(

  7. Sammekl
    Gingerbread Aug 22, 2019

    Sammekl , Aug 22, 2019 :
    Got a reply from support:

    So sorry for late respond.
    It is current design that it shows fingerprint instead of model in BiometricPrompt.
    Please raise a suggestion and the product team will look through it.

    High regards
    OnePlus Bug Hunters"

    This is against the BiometricPrompt guidelines and removes the possibility to explain the user why fingerprint is requested + doesn't have a cancel option

  8. StuartLang
    Cupcake Jan 10, 2020

    StuartLang , Jan 10, 2020 :
    @Sammekl Did you follow up and get any response?

    OnePlus - In my code I have to maintain "IsOnePlusWithBiometricPromptBug", surely you don't want this legacy :-D

  9. Maria_Johny
    Cupcake Jan 26, 2020

  10. Aure77
    Cupcake May 7, 2020

  11. pommytom
    Cupcake Jun 12, 2020

  12. AndroidDev999
    Cupcake Jun 16, 2020

    AndroidDev999 , Jun 16, 2020 :
    I purchased the 7t to test the BiometricPrompt and I am absolutely floored that this "improvement" has broken a critical API.

    If a phone states that it offers fingerprint and face recognition then I would expect it to follow standard Google API practices.

    Face recognition in app doesn't work at all.

    Please, please rectify this.

  13. Caomhin
    9 Series Expert, Participator of the Year Community Expert Jun 16, 2020

    Caomhin , via OnePlus 6T , Jun 16, 2020 :
    This is 6 series thread, discuss on 7 series thread.

  14. AndroidDev999
    Cupcake Jun 16, 2020

    AndroidDev999 , Jun 16, 2020 :
    The model of the phone is irrelevant - the problem is the same as the original post.

  15. Caomhin
    9 Series Expert, Participator of the Year Community Expert Jun 16, 2020

    Caomhin , via OnePlus 6T , Jun 16, 2020 :
    Hardware and software are completely different in OnePlus for Fingerprint scanner and everything else.

  16. AndroidDev999
    Cupcake Jun 16, 2020

    AndroidDev999 , Jun 16, 2020 :
    I sincerely doubt the software is "completely" different - I doubt Google rip up the Android OS and start from scratch for every version.

    The problem I'm encountering is exactly the same one as the OP.

    Anyway, delete my posts if you like - I'm really just venting about this bonkers API implementation.

  17. Caomhin
    9 Series Expert, Participator of the Year Community Expert Jun 16, 2020

    Caomhin , via OnePlus 6T , Jun 16, 2020 :
    And yet there is a whole area dedicated to 7 series posts, as this area is dedicated to 6 series posts, I wonder why would anyone go to the bother of organising it in that way. 🤔🤔🙄🙄

  18. T1643292075231
    Cupcake Jan 27, 2022

    T1643292075231 , Jan 27, 2022 :
    Hi, I'm implementing biometric login in an app, but I don't have a OnePlus to test. So I want to know if this is fixed in Android 10/11 or later OnePlus models (8, 9, 10, Nord).
    I saw the biometricprompt with implemented UI working on a 6T but it was a custom rom, and that does not guarantee that the issue is resolved.
    Last edited: Jan 27, 2022