SelfLender / react-native-biometrics

React Native module for iOS and Android biometrics
MIT License
661 stars 225 forks source link

[Android] Implement new Biometrics API #15

Closed simonedavico closed 4 years ago

simonedavico commented 6 years ago

Android SDK 28 introduces a new Biometrics API with a standard dialog prompt.

It also features a compat library for previous Android versions which is meant to offer a consistent experience.

I looked at the source code and it seems like it still uses the now deprecated FingerprintManager.

Would you be interested in replacing the old API with the new one?

NappyPirate commented 5 years ago

I have considered updating to the new Android SDK 28 biometrics API, but there are currently 2 concerns about upgrading:

  1. The compat library is currently only in alpha release, and I prefer not to release a version of this project that uses an alpha version of a compatibility library.

  2. The new BiometricPrompt API actually removes functionality that I feel is necessary for creating a pleasant user experience. Specifically, with the BiometricPrompt there is no way to detect the presence of hardware or if a user is enrolled in biometrics without trying to launch the prompt. This loss of functionality would break the isSensorAvailable function in this library. (it appears others are experiencing this frustration as well on stackoverflow and google issue tracker)

Even given these concerns, I'm going to keep this issue open because hopefully something changes in the future and I can re-evaluate.

chriscoderdr commented 5 years ago

@NappyPirate What about having Biometric in a parallel version meanwhile?

simonedavico commented 5 years ago

Thank you for the feedback! Good to know, I was not aware of these issues and I agree that they definitely block adoption of the new API. It is quite frightening that the discussion on the Google issue tracker seems mostly dead 😕

NappyPirate commented 5 years ago

Some good news on this issue. It appears that google is addressing my concerns with their API in the Android Q API by adding a new BiometricsManager. I plan to investigate this further after Android Q officially releases. As it stands today though, the compat library is still in alpha.

jakejarrett commented 4 years ago

The compat library has reached RC02 this week https://mvnrepository.com/artifact/androidx.biometric/biometric/1.0.0-rc02.

Does 1.0 (rc or otherwise) contain the changes to support the new BiometricsManager?