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 00c13933e..293fcbd4f 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt @@ -35,7 +35,6 @@ import com.hippo.ehviewer.EhApplication import com.hippo.ehviewer.EhApplication.locked_last_leave_time import com.hippo.ehviewer.R import com.hippo.ehviewer.Settings -import com.hippo.ehviewer.ui.SecurityActivity.Companion.isAuthenticationSupported import rikka.core.res.resolveColor import rikka.insets.WindowInsetsHelper import rikka.layoutinflater.view.LayoutInflaterFactory @@ -72,7 +71,6 @@ abstract class EhActivity : AppCompatActivity() { WindowInsetsHelper.LISTENER ) super.onCreate(savedInstanceState) - val window = window window.statusBarColor = Color.TRANSPARENT window.decorView.post { val rootWindowInsets = window.decorView.rootWindowInsets @@ -104,7 +102,7 @@ abstract class EhActivity : AppCompatActivity() { val locked_resume_time = System.currentTimeMillis() / 1000 val locked_delay_time = locked_resume_time - locked_last_leave_time if (Settings.getSecurity() && locked_delay_time >= Settings.getSecurityDelay() * 60 - && isAuthenticationSupported(this) && EhApplication.locked + && isAuthenticationSupported() && EhApplication.locked ) { startActivity(Intent(this, SecurityActivity::class.java)) } 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 0a5de95b5..e417c22e6 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/SecurityActivity.kt @@ -30,10 +30,16 @@ import androidx.fragment.app.FragmentActivity import com.hippo.ehviewer.EhApplication import com.hippo.ehviewer.R +fun Context.isAuthenticationSupported(): Boolean { + val authenticators = BiometricManager.Authenticators.BIOMETRIC_WEAK or DEVICE_CREDENTIAL + return BiometricManager.from(this) + .canAuthenticate(authenticators) == BiometricManager.BIOMETRIC_SUCCESS +} + class SecurityActivity : AppCompatActivity() { override fun onResume() { super.onResume() - if (isAuthenticationSupported(this)) + if (isAuthenticationSupported()) startAuthentication(getString(R.string.settings_privacy_require_unlock)) else onSuccess() @@ -70,14 +76,6 @@ class SecurityActivity : AppCompatActivity() { } } - companion object { - fun isAuthenticationSupported(context: Context): Boolean { - val authenticators = BiometricManager.Authenticators.BIOMETRIC_WEAK or DEVICE_CREDENTIAL - return BiometricManager.from(context) - .canAuthenticate(authenticators) == BiometricManager.BIOMETRIC_SUCCESS - } - } - private fun onSuccess() { EhApplication.locked = false finish() diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.kt b/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.kt index 670b2ecaa..05cb540a1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.kt @@ -23,7 +23,7 @@ import androidx.preference.SeekBarPreference import androidx.preference.SwitchPreferenceCompat import com.hippo.ehviewer.R import com.hippo.ehviewer.Settings -import com.hippo.ehviewer.ui.SecurityActivity.Companion.isAuthenticationSupported +import com.hippo.ehviewer.ui.isAuthenticationSupported /** * Created by Mo10 on 2018/2/10. @@ -48,7 +48,7 @@ class PrivacyFragment : BasePreferenceFragment() { override fun onStart() { super.onStart() - if (!isAuthenticationSupported(requireContext())) { + if (!requireContext().isAuthenticationSupported()) { Settings.putSecurity(false) requireUnlock.isEnabled = false requireUnlock.isChecked = false