diff options
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt b/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt index 7db8cd48..b5902199 100644 --- a/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt @@ -8,10 +8,10 @@ import android.content.Intent import android.os.Bundle import android.os.Handler import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.edit import androidx.preference.PreferenceManager import com.zeapo.pwdstore.crypto.PgpActivity -import com.zeapo.pwdstore.utils.auth.AuthenticationResult -import com.zeapo.pwdstore.utils.auth.Authenticator +import com.zeapo.pwdstore.utils.BiometricAuthenticator class LaunchActivity : AppCompatActivity() { @@ -19,18 +19,20 @@ class LaunchActivity : AppCompatActivity() { super.onCreate(savedInstanceState) val prefs = PreferenceManager.getDefaultSharedPreferences(this) if (prefs.getBoolean("biometric_auth", false)) { - Authenticator(this) { + BiometricAuthenticator.authenticate(this) { when (it) { - is AuthenticationResult.Success -> { + is BiometricAuthenticator.Result.Success -> { startTargetActivity(false) } - is AuthenticationResult.UnrecoverableError -> { - finish() + is BiometricAuthenticator.Result.HardwareUnavailableOrDisabled -> { + prefs.edit { remove("biometric_auth") } + startTargetActivity(false) } - else -> { + is BiometricAuthenticator.Result.Failure, BiometricAuthenticator.Result.Cancelled -> { + finish() } } - }.authenticate() + } } else { startTargetActivity(true) } |
