From 09e5bcaec1916f4a2e846fc622749b092b10e994 Mon Sep 17 00:00:00 2001
From: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Date: Fri, 22 Jul 2022 08:23:59 +0600
Subject: [PATCH] Fix logic of app unlock (#7569)

(cherry picked from commit 8ea05e852efd621ee987c7e45d6db64a083eeffd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
---
 app/src/main/java/eu/kanade/tachiyomi/App.kt                    | 2 ++
 .../eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt    | 2 +-
 .../kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt | 2 +-
 .../main/java/eu/kanade/tachiyomi/ui/security/UnlockActivity.kt | 2 --
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt
index 61beeeb7e..9e4dc8a2f 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/App.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt
@@ -78,6 +78,7 @@ import uy.kohesive.injekt.injectLazy
 import java.io.File
 import java.security.Security
 import java.text.SimpleDateFormat
+import java.util.Date
 import java.util.Locale
 import kotlin.time.Duration.Companion.days
 
@@ -200,6 +201,7 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
     }
 
     override fun onStop(owner: LifecycleOwner) {
+        preferences.lastAppClosed().set(Date().time)
         if (!AuthenticatorUtil.isAuthenticating && preferences.lockAppAfter().get() >= 0) {
             SecureActivityDelegate.locked = true
         }
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
index d9a4d6ced..7691ebced 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -56,7 +56,7 @@ class PreferencesHelper(val context: Context) {
 
     fun lockAppAfter() = flowPrefs.getInt("lock_app_after", 0)
 
-    fun lastAppUnlock() = flowPrefs.getLong("last_app_unlock", 0)
+    fun lastAppClosed() = flowPrefs.getLong("last_app_closed", 0)
 
     fun secureScreen() = flowPrefs.getEnum("secure_screen_v2", Values.SecureScreenMode.INCOGNITO)
 
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
index 20ae20e2d..0044348b0 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
@@ -119,6 +119,6 @@ class SecureActivityDelegateImpl : SecureActivityDelegate, DefaultLifecycleObser
         // SY <--
 
         return preferences.lockAppAfter().get() <= 0 ||
-            Date().time >= preferences.lastAppUnlock().get() + 60 * 1000 * preferences.lockAppAfter().get()
+            Date().time >= preferences.lastAppClosed().get() + 60 * 1000 * preferences.lockAppAfter().get()
     }
 }
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/security/UnlockActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/security/UnlockActivity.kt
index a066bf64d..e33760af1 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/security/UnlockActivity.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/security/UnlockActivity.kt
@@ -10,7 +10,6 @@ import eu.kanade.tachiyomi.util.system.AuthenticatorUtil
 import eu.kanade.tachiyomi.util.system.AuthenticatorUtil.startAuthentication
 import eu.kanade.tachiyomi.util.system.logcat
 import logcat.LogPriority
-import java.util.Date
 
 /**
  * Blank activity with a BiometricPrompt.
@@ -39,7 +38,6 @@ class UnlockActivity : BaseActivity() {
                 ) {
                     super.onAuthenticationSucceeded(activity, result)
                     SecureActivityDelegate.locked = false
-                    preferences.lastAppUnlock().set(Date().time)
                     finish()
                 }
             },