diff --git a/src/keepass2android/FingerprintModule.cs b/src/keepass2android/FingerprintModule.cs index 83394b49..15eaa2dd 100644 --- a/src/keepass2android/FingerprintModule.cs +++ b/src/keepass2android/FingerprintModule.cs @@ -34,7 +34,7 @@ namespace keepass2android public FingerprintManager FingerprintManager { - get { return (FingerprintManager) Context.GetSystemService(Context.FingerprintService); } + get { return Context.GetSystemService(Context.FingerprintService) as FingerprintManager; } } public KeyguardManager KeyguardManager diff --git a/src/keepass2android/FingerprintSetupActivity.cs b/src/keepass2android/FingerprintSetupActivity.cs index 1a8d3b1e..48ebeddf 100644 --- a/src/keepass2android/FingerprintSetupActivity.cs +++ b/src/keepass2android/FingerprintSetupActivity.cs @@ -223,7 +223,7 @@ namespace keepass2android if (requestCode == FingerprintPermissionRequestCode && grantResults[0] == Permission.Granted) { FingerprintModule fpModule = new FingerprintModule(this); - if (!fpModule.FingerprintManager.IsHardwareDetected) + if (fpModule.FingerprintManager == null || (!fpModule.FingerprintManager.IsHardwareDetected)) { //seems like not all Samsung Devices (e.g. Note 4) don't support the Android 6 fingerprint API if (!TrySetupSamsung()) diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs index 8ce9fbe1..45bf2bf8 100644 --- a/src/keepass2android/GroupBaseActivity.cs +++ b/src/keepass2android/GroupBaseActivity.cs @@ -633,7 +633,7 @@ namespace keepass2android { FingerprintModule fpModule = new FingerprintModule(this); - if (fpModule.FingerprintManager.IsHardwareDetected) + if (fpModule.FingerprintManager != null && fpModule.FingerprintManager.IsHardwareDetected) { FingerprintUnlockMode um; Enum.TryParse(_prefs.GetString(Database.GetFingerprintModePrefKey(App.Kp2a.GetDb().Ioc), ""), out um);