Biometrics lock (closes #1686)

This commit is contained in:
arkon
2020-02-21 22:58:19 -05:00
parent aa05458f1d
commit 8bb83782c7
11 changed files with 174 additions and 1 deletions
@@ -1,6 +1,7 @@
package eu.kanade.tachiyomi.ui.setting
import android.os.Build
import androidx.biometric.BiometricManager
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.getOrDefault
@@ -115,6 +116,36 @@ class SettingsGeneralController : SettingsController() {
defaultValue = "1"
summary = "%s"
}
if (BiometricManager.from(context).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS) {
preferenceCategory {
titleRes = R.string.pref_category_security
switchPreference {
key = Keys.useBiometricLock
titleRes = R.string.lock_with_biometrics
defaultValue = false
}
intListPreference {
key = Keys.lockAppAfter
titleRes = R.string.lock_when_idle
val values = arrayOf("0", "1", "2", "5", "10", "-1")
entries = values.mapNotNull {
when (it) {
"-1" -> context.getString(R.string.lock_never)
"0" -> context.getString(R.string.lock_always)
else -> resources?.getQuantityString(R.plurals.lock_after_mins, it.toInt(), it)
}
}.toTypedArray()
entryValues = values
defaultValue = "0"
summary = "%s"
preferences.useBiometricLock().asObservable()
.subscribeUntilDestroy { isVisible = it }
}
}
}
}
}