@@ -198,9 +198,7 @@ class AuthgearPlugin: FlutterPlugin, ActivityAware, MethodCallHandler, PluginReg
198198 }
199199 " checkBiometricSupported" -> {
200200 val android = call.argument<Map <String , Any >>(" android" )!!
201- val constraint = android[" constraint" ] as ArrayList <String >
202- val flags = constraintToFlag(constraint)
203- this .checkBiometricSupported(flags, result)
201+ this .checkBiometricSupported(android, result)
204202 }
205203 " createBiometricPrivateKey" -> {
206204 val kid = call.argument<String >(" kid" )!!
@@ -566,14 +564,17 @@ class AuthgearPlugin: FlutterPlugin, ActivityAware, MethodCallHandler, PluginReg
566564 }
567565 }
568566
569- private fun checkBiometricSupported (flag : Int , result : Result ) {
567+ private fun checkBiometricSupported (android : Map < String , Any > , result : Result ) {
570568 if (Build .VERSION .SDK_INT < Build .VERSION_CODES .M ) {
571569 result.biometricAPILevel()
572570 return
573571 }
574572
573+ val allowedAuthenticatorsOnEnable = android[" allowedAuthenticatorsOnEnable" ] as ArrayList <String >
574+ val allowedAuthenticatorsOnEnableFlags = constraintToFlag(allowedAuthenticatorsOnEnable)
575+
575576 val manager = BiometricManager .from(pluginBinding?.applicationContext!! )
576- val can = manager.canAuthenticate(flag )
577+ val can = manager.canAuthenticate(allowedAuthenticatorsOnEnableFlags )
577578 if (can == BiometricManager .BIOMETRIC_SUCCESS ) {
578579 result.success(null )
579580 return
@@ -595,13 +596,16 @@ class AuthgearPlugin: FlutterPlugin, ActivityAware, MethodCallHandler, PluginReg
595596 return
596597 }
597598
598- val constraint = android[" constraint" ] as ArrayList <String >
599+ val allowedAuthenticatorsOnEnable = android[" allowedAuthenticatorsOnEnable" ] as ArrayList <String >
600+ val allowedAuthenticatorsOnAuthenticate = android[" allowedAuthenticatorsOnAuthenticate" ] as ArrayList <String >
601+ val allowedAuthenticatorsOnEnableFlags = constraintToFlag(allowedAuthenticatorsOnEnable)
602+ val allowedAuthenticatorsOnAuthenticateFlags = constraintToFlag(allowedAuthenticatorsOnAuthenticate)
603+
599604 val invalidatedByBiometricEnrollment = android[" invalidatedByBiometricEnrollment" ] as Boolean
600- val flags = constraintToFlag(constraint)
601605 val alias = " com.authgear.keys.biometric." + kid
602- val promptInfo = buildPromptInfo(android, flags )
606+ val promptInfo = buildPromptInfo(android, allowedAuthenticatorsOnEnableFlags )
603607
604- val spec = makeBiometricKeyPairSpec(alias, authenticatorTypesToKeyProperties(flags ), invalidatedByBiometricEnrollment)
608+ val spec = makeBiometricKeyPairSpec(alias, authenticatorTypesToKeyProperties(allowedAuthenticatorsOnAuthenticateFlags ), invalidatedByBiometricEnrollment)
605609
606610 try {
607611 val keyPair = createKeyPair(spec)
@@ -683,10 +687,11 @@ class AuthgearPlugin: FlutterPlugin, ActivityAware, MethodCallHandler, PluginReg
683687 return
684688 }
685689
686- val constraint = android[" constraint" ] as ArrayList <String >
687- val flags = constraintToFlag(constraint)
690+ val allowedAuthenticatorsOnAuthenticate = android[" allowedAuthenticatorsOnAuthenticate" ] as ArrayList <String >
691+ val allowedAuthenticatorsOnAuthenticateFlags = constraintToFlag(allowedAuthenticatorsOnAuthenticate)
692+
688693 val alias = " com.authgear.keys.biometric." + kid
689- val promptInfo = buildPromptInfo(android, flags )
694+ val promptInfo = buildPromptInfo(android, allowedAuthenticatorsOnAuthenticateFlags )
690695
691696 try {
692697 val keyPair = getKeyPair(alias)
0 commit comments