android / security-samples

Multiple samples showing the best practices in security APIs on Android.
Apache License 2.0
938 stars 395 forks source link

Attachment.PLATFORM cause RESULT_CANCELED #63

Open andycg0327 opened 4 years ago

andycg0327 commented 4 years ago

STEPS TO REPRODUCE:

  1. Remove installed apk
  2. Android Studio debug reinstall apk
  3. Press "Create(Platform)" button, which is for FIDO2 CREATE by on-device authenticator only 3.1. Expected fingerprint prompt, some devices work fine, but others might not as well 3.2. The other devices which cannot work fine, after retry random times it'll work fine
  4. Press "Create(Cross-platform)" button, this is for FIDO2 CREATE by external authenticator only 4.1. Press "Create(None)" button, this is for FIDO2 CREATE by any authenticator 4.2. The above 2 button cause same WORK FINE result, it'll show the menu for user to choose which type of authenticator they want to use

EXPECTED RESULTS: As above description 3.1

OBSERVED RESULTS: As above description 3.2

Work FINE: Asus Zenfone6: Android 10 Google Pixel 3: Android 11

NG: HTC U11: Android 9 OPPO A3: Android 8.0.1 Samsung A8+: Android 9 Asus Zenfone3: Android 8

More detail from Logcat:

2020-08-04 11:47:07.131 413-413/? E/Fido: [FingerprintUiHelper] Fingerprint authentication is not available 2020-08-04 11:47:07.132 413-413/? D/AndroidRuntime: Shutting down VM 2020-08-04 11:47:07.143 413-413/? I/GCore-Chimera-Crash: ChgKB2Fkc19mZHIQuL23ChiBAiCA56-OrwYKUwoJY29udGFpbm VyEPjQzmAYQCCQopP_-zoqA3BheSoOdmlzaW9uLmJhcmNvZGUq C3Zpc2lvbi5mYWNlKgp2aXNpb24uaWNhKgp2aXNpb24ub2NyCh oKBm5lYXJieRCDx8HHBxiBAiCQibnToKzNAyAA GCore-Chimera-Crash 2020-08-04 11:47:07.143 413-418/? I/art: Do partial code cache collection, code=59KB, data=61KB 2020-08-04 11:47:07.144 413-418/? I/art: After code cache collection, code=49KB, data=48KB 2020-08-04 11:47:07.144 413-418/? I/art: Increasing code cache capacity to 256KB 2020-08-04 11:47:07.146 413-413/? I/DeviceDrDatabaseHelper: Cleaning stale data from database! 2020-08-04 11:47:07.161 413-413/? W/DeviceDoctorHandler: Crash Hash: cd892641a62411098665ad95ac93c7c604ec07a8 2020-08-04 11:47:07.169 413-413/? W/DeviceDoctorHandler: Shushing crash. 2020-08-04 11:47:07.169 413-413/? E/DeviceDoctorHandler: FATAL EXCEPTION: main Process: com.google.android.gms.ui, PID: 413 java.lang.IllegalStateException: Fragment already added: TmpXDialogFragmentProxy{b13b127} (3c415164-0f37-4294-957c-feb8a1738651) fragment_fingerprint_or_lock_screen} at en.a(:com.google.android.gms@202614019@20.26.14 (040400-320008519):3) at eh.f(:com.google.android.gms@202614019@20.26.14 (040400-320008519):1) at eh.a(:com.google.android.gms@202614019@20.26.14 (040400-320008519):65) at eh.a(:com.google.android.gms@202614019@20.26.14 (040400-320008519):9) at eh.a(:com.google.android.gms@202614019@20.26.14 (040400-320008519):263) at ea.run(:com.google.android.gms@202614019@20.26.14 (040400-320008519):0) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)