From 8ea6417ea66c1a0d347fd859b73fc844a29aa7df Mon Sep 17 00:00:00 2001 From: tarsin Date: Fri, 2 Jun 2023 13:49:49 +0800 Subject: [PATCH] Refactor out interceptSecurityOrReturn --- .../main/java/com/hippo/ehviewer/ui/EhActivity.kt | 9 +-------- .../java/com/hippo/ehviewer/ui/SecurityActivity.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt index dbfa03489..7c0fbd4ef 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt @@ -15,7 +15,6 @@ */ package com.hippo.ehviewer.ui -import android.content.Intent import android.content.res.Resources.Theme import android.os.Bundle import androidx.annotation.StyleRes @@ -48,13 +47,7 @@ abstract class EhActivity : AppCompatActivity() { } override fun onResume() { - val lockedResumeTime = System.currentTimeMillis() / 1000 - val lockedDelayTime = lockedResumeTime - locked_last_leave_time - if (lockedDelayTime < Settings.securityDelay * 60) { - locked = false - } else if (Settings.security && isAuthenticationSupported() && locked) { - startActivity(Intent(this, SecurityActivity::class.java)) - } + interceptSecurityOrReturn() super.onResume() window.setSecureScreen(Settings.enabledSecurity) } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt index cd7b840f5..e61ae5d20 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt @@ -19,6 +19,7 @@ package com.hippo.ehviewer.ui import android.content.Context +import android.content.Intent import androidx.appcompat.app.AppCompatActivity import androidx.biometric.BiometricManager import androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL @@ -30,6 +31,7 @@ import androidx.fragment.app.FragmentActivity import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import com.hippo.ehviewer.R +import com.hippo.ehviewer.Settings fun Context.isAuthenticationSupported(): Boolean { val authenticators = BiometricManager.Authenticators.BIOMETRIC_WEAK or DEVICE_CREDENTIAL @@ -120,3 +122,13 @@ val lockObserver = object : DefaultLifecycleObserver { locked = true } } + +fun Context.interceptSecurityOrReturn() { + val lockedResumeTime = System.currentTimeMillis() / 1000 + val lockedDelayTime = lockedResumeTime - locked_last_leave_time + if (lockedDelayTime < Settings.securityDelay * 60) { + locked = false + } else if (Settings.security && isAuthenticationSupported() && locked) { + startActivity(Intent(this, SecurityActivity::class.java)) + } +}