Explorar o código

SecureActivityDelegate: Fix cold-start only lock behavior (#8066)

Ivan Iskandar %!s(int64=2) %!d(string=hai) anos
pai
achega
467ceacb17

+ 7 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt

@@ -25,8 +25,8 @@ interface SecureActivityDelegate {
     companion object {
         fun onApplicationCreated() {
             val lockDelay = Injekt.get<SecurityPreferences>().lockAppAfter().get()
-            if (lockDelay == 0) {
-                // Restore always active app lock
+            if (lockDelay <= 0) {
+                // Restore always active/on start app lock
                 // Delayed lock will be restored later on activity resume
                 lockState = LockState.ACTIVE
             }
@@ -39,8 +39,12 @@ interface SecureActivityDelegate {
                 preferences.lastAppClosed().set(Date().time)
             }
             if (!AuthenticatorUtil.isAuthenticating) {
-                lockState = if (preferences.lockAppAfter().get() >= 0) {
+                val lockAfter = preferences.lockAppAfter().get()
+                lockState = if (lockAfter > 0) {
                     LockState.PENDING
+                } else if (lockAfter == -1) {
+                    // Never lock on idle
+                    LockState.INACTIVE
                 } else {
                     LockState.ACTIVE
                 }