aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-05-01 16:41:52 -0700
committerAllan Wang <me@allanwang.ca>2019-05-01 16:41:52 -0700
commit984a4a7bf1d08c0d3143ea6d3ea637d7e674f0c2 (patch)
tree1eaddf006bef618f134bf197762896d21267e952
parent58f4f9298b09081b3c937227828824849057a835 (diff)
downloadfrost-984a4a7bf1d08c0d3143ea6d3ea637d7e674f0c2.tar.gz
frost-984a4a7bf1d08c0d3143ea6d3ea637d7e674f0c2.tar.bz2
frost-984a4a7bf1d08c0d3143ea6d3ea637d7e674f0c2.zip
Add security settings for biometrics
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt6
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Experimental.kt2
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Security.kt45
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/BiometricUtils.kt11
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt2
-rw-r--r--app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-da-rDK/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-de-rDE/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-es-rES/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-fr-rFR/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-gl-rES/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-hu-rHU/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-in-rID/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-it-rIT/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-ko-rKR/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-nl-rNL/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-no-rNO/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-pl-rPL/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-pt-rBR/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-pt-rPT/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-ro-rRO/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-ru-rRU/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-sr-rSP/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-sv-rSE/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-th-rTH/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-tl-rPH/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-tr-rTR/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-uk-rUA/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-vi-rVN/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-zh-rCN/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values-zh-rTW/strings_pref_experimental.xml2
-rw-r--r--app/src/main/res/values/strings_pref_behaviour.xml2
-rw-r--r--app/src/main/res/values/strings_pref_experimental.xml3
-rw-r--r--app/src/main/res/values/strings_pref_security.xml6
-rw-r--r--app/src/main/res/values/strings_preferences.xml3
36 files changed, 99 insertions, 35 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
index c3089c7a..bc20aa2d 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/SettingsActivity.kt
@@ -45,6 +45,7 @@ import com.pitchedapps.frost.settings.getDebugPrefs
import com.pitchedapps.frost.settings.getExperimentalPrefs
import com.pitchedapps.frost.settings.getFeedPrefs
import com.pitchedapps.frost.settings.getNotificationPrefs
+import com.pitchedapps.frost.settings.getSecurityPrefs
import com.pitchedapps.frost.settings.sendDebug
import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.Prefs
@@ -146,6 +147,11 @@ class SettingsActivity : KPrefActivity() {
iicon = GoogleMaterial.Icon.gmd_notifications
}
+ subItems(R.string.security, getSecurityPrefs()) {
+ descRes = R.string.security_desc
+ iicon = GoogleMaterial.Icon.gmd_lock
+ }
+
// subItems(R.string.network, getNetworkPrefs()) {
// descRes = R.string.network_desc
// iicon = GoogleMaterial.Icon.gmd_network_cell
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt
index e0ae6de5..1ee06464 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt
@@ -52,7 +52,7 @@ import java.io.File
*/
fun SettingsActivity.getDebugPrefs(): KPrefAdapterBuilder.() -> Unit = {
- plainText(R.string.experimental_disclaimer) {
+ plainText(R.string.disclaimer) {
descRes = R.string.debug_disclaimer_info
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Experimental.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Experimental.kt
index e0d314a8..41a60594 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Experimental.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Experimental.kt
@@ -30,7 +30,7 @@ import com.pitchedapps.frost.utils.Showcase
*/
fun SettingsActivity.getExperimentalPrefs(): KPrefAdapterBuilder.() -> Unit = {
- plainText(R.string.experimental_disclaimer) {
+ plainText(R.string.disclaimer) {
descRes = R.string.experimental_disclaimer_info
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Security.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Security.kt
new file mode 100644
index 00000000..afd7c4e1
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Security.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2018 Allan Wang
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.pitchedapps.frost.settings
+
+import ca.allanwang.kau.kpref.activity.KPrefAdapterBuilder
+import com.pitchedapps.frost.R
+import com.pitchedapps.frost.activities.SettingsActivity
+import com.pitchedapps.frost.utils.BiometricUtils
+import com.pitchedapps.frost.utils.Prefs
+import kotlinx.coroutines.launch
+
+/**
+ * Created by Allan Wang on 20179-05-01.
+ */
+fun SettingsActivity.getSecurityPrefs(): KPrefAdapterBuilder.() -> Unit = {
+
+ plainText(R.string.disclaimer) {
+ descRes = R.string.security_disclaimer_info
+ }
+
+ checkbox(R.string.enable_biometrics, Prefs::biometricsEnabled, {
+ launch {
+ BiometricUtils.authenticate(this@getSecurityPrefs, force = true).await()
+ Prefs.biometricsEnabled = it
+ reloadByTitle(R.string.enable_biometrics)
+ }
+ }) {
+ descRes = R.string.enable_biometrics_desc
+ enabler = { BiometricUtils.isSupported(this@getSecurityPrefs) }
+ }
+}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/BiometricUtils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/BiometricUtils.kt
index 476e490d..9a9f4082 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/BiometricUtils.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/BiometricUtils.kt
@@ -26,6 +26,10 @@ object BiometricUtils {
@Volatile
private var pool: ExecutorService? = null
+ private var lastUnlockTime = -1L
+
+ private const val UNLOCK_TIME_INTERVAL = 15 * 60 * 1000
+
/**
* Checks if biometric authentication is possible
* Currently, this means checking for enrolled fingerprints
@@ -41,12 +45,12 @@ object BiometricUtils {
pool ?: Executors.newSingleThreadExecutor().also { pool = it }
private fun shouldPrompt(context: Context): Boolean {
- return true
+ return Prefs.biometricsEnabled && System.currentTimeMillis() - lastUnlockTime > UNLOCK_TIME_INTERVAL
}
- fun authenticate(activity: FragmentActivity): BiometricDeferred {
+ fun authenticate(activity: FragmentActivity, force: Boolean = false): BiometricDeferred {
val deferred: BiometricDeferred = CompletableDeferred()
- if (!shouldPrompt(activity)) {
+ if (!force && !shouldPrompt(activity)) {
deferred.complete(null)
return deferred
}
@@ -66,6 +70,7 @@ object BiometricUtils {
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
+ lastUnlockTime = System.currentTimeMillis()
deferred.complete(result.cryptoObject)
}
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
index 391d422a..7656a081 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
@@ -156,6 +156,8 @@ object Prefs : KPref() {
var analytics: Boolean by kpref("analytics", true)
+ var biometricsEnabled: Boolean by kpref("biometrics_enabled", false)
+
var overlayEnabled: Boolean by kpref("overlay_enabled", true)
var overlayFullScreenSwipe: Boolean by kpref("overlay_full_screen_swipe", true)
diff --git a/app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml b/app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml
index 10b86893..2d4ca9e5 100644
--- a/app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml
+++ b/app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Upozornění</string>
+ <string name="disclaimer">Upozornění</string>
<string name="experimental_disclaimer_info">Experimentální nastavení mohou způsobovat problémy a být bez varování odstraněna. Povolte je jen na vlastní nebezpečí a dejte vědět vývojářům jak fungují.</string>
<string name="experimental_by_default">Povolit experimentální nastavení ve výchozím režimu</string>
<string name="experimental_by_default_desc">Chcete pomoct vývojářům s laděním? Povolit všechna, i budoucí experimentální nastavení.</string>
diff --git a/app/src/main/res/values-da-rDK/strings_pref_experimental.xml b/app/src/main/res/values-da-rDK/strings_pref_experimental.xml
index b678c8ae..4e06e81b 100644
--- a/app/src/main/res/values-da-rDK/strings_pref_experimental.xml
+++ b/app/src/main/res/values-da-rDK/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Ansvarsfraskrivelse</string>
+ <string name="disclaimer">Ansvarsfraskrivelse</string>
<string name="experimental_disclaimer_info">Eksperimentelle funktioner kan være ustabile og bliver muligvis aldrig sat i produktion. Brug foregår på eget ansvar, send feedback og deaktivér dem endelig, hvis de ikke fungerer godt.</string>
<string name="experimental_by_default">Eksperimentel som standard</string>
<string name="experimental_by_default_desc">Føler du dig dristig eller vil du bare gerne hjælpe med fejlfinding? Aktivér denne for automatisk at bruge alle fremtidige eksperimentelle funktioner som standard.</string>
diff --git a/app/src/main/res/values-de-rDE/strings_pref_experimental.xml b/app/src/main/res/values-de-rDE/strings_pref_experimental.xml
index 01ff2c6a..85773d64 100644
--- a/app/src/main/res/values-de-rDE/strings_pref_experimental.xml
+++ b/app/src/main/res/values-de-rDE/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Haftungsausschluss</string>
+ <string name="disclaimer">Haftungsausschluss</string>
<string name="experimental_disclaimer_info">Experimentelle Funktionen sind möglicherweise instabil und schaffen es eventuell nie in die App. Auf eigenes Risiko verwenden! Senden Sie Ihr Feedback und zögern Sie nicht, diese zu deaktivieren, wenn sie nicht gut funktionieren.</string>
<string name="experimental_by_default">Standartmäßig Experimentell</string>
<string name="experimental_by_default_desc">Sie fühlen sich mutig oder wollen einfach helfen bei der Fehlersuche? Beim Aktivieren dieser Option werden zukünftige, experimentelle Funktionen standardmäßig eingeschaltet.</string>
diff --git a/app/src/main/res/values-es-rES/strings_pref_experimental.xml b/app/src/main/res/values-es-rES/strings_pref_experimental.xml
index 4b5acbb7..ca96857b 100644
--- a/app/src/main/res/values-es-rES/strings_pref_experimental.xml
+++ b/app/src/main/res/values-es-rES/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Atención</string>
+ <string name="disclaimer">Atención</string>
<string name="experimental_disclaimer_info">Las características experimentales pueden ser inestables y nunca entrar en vigencia. Úsalas bajo tu propio riesgo. Envía un informe y no dudes en desactivarlas si no funcionan correctamente.</string>
<string name="experimental_by_default">Experimental por Defecto</string>
<string name="experimental_by_default_desc">¿Notas algún error o deseas ayudar a depurar? Las futuras funciones experimentales se habilitarán por defecto.</string>
diff --git a/app/src/main/res/values-fr-rFR/strings_pref_experimental.xml b/app/src/main/res/values-fr-rFR/strings_pref_experimental.xml
index 112bb977..cd423bdc 100644
--- a/app/src/main/res/values-fr-rFR/strings_pref_experimental.xml
+++ b/app/src/main/res/values-fr-rFR/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Clause de non-responsabilité</string>
+ <string name="disclaimer">Clause de non-responsabilité</string>
<string name="experimental_disclaimer_info">Les fonctionnalités expérimentales peuvent être instables et peuvent ne jamais se rendre à la production. Utiliser à vos risques et périls, envoyer vos commentaires et n’hésitez pas à les désactiver si elles ne fonctionnent pas bien.</string>
<string name="experimental_by_default">Expérimentale par défaut</string>
<string name="experimental_by_default_desc">Vous vous sentez risqué ou vous souhaitez simplement aider avec le débogage? Cocher ceci permettra aux futures fonctions expérimentales d\'être activées par défaut.</string>
diff --git a/app/src/main/res/values-gl-rES/strings_pref_experimental.xml b/app/src/main/res/values-gl-rES/strings_pref_experimental.xml
index 4fd3b023..36049689 100644
--- a/app/src/main/res/values-gl-rES/strings_pref_experimental.xml
+++ b/app/src/main/res/values-gl-rES/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Aviso legal</string>
+ <string name="disclaimer">Aviso legal</string>
<string name="experimental_disclaimer_info">As funcionalidades en proba ou experimentais poden resultar inestables e mesmo poden non funcionar. Utilízaas baixo a túa responsabilidade, envíanos comentarios acerca delas e sempre poderás deshabilitalas se non funcionan ben.</string>
<string name="experimental_by_default">Experimentar predefinido</string>
<string name="experimental_by_default_desc">Gústache o risco ou simplemente é que queres axudar coa depuración? Ao marcares esta opción, as funcionalidades experimentais activaranse por defecto.</string>
diff --git a/app/src/main/res/values-hu-rHU/strings_pref_experimental.xml b/app/src/main/res/values-hu-rHU/strings_pref_experimental.xml
index 84cdb78e..00d52b55 100644
--- a/app/src/main/res/values-hu-rHU/strings_pref_experimental.xml
+++ b/app/src/main/res/values-hu-rHU/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Nyilatkozat</string>
+ <string name="disclaimer">Nyilatkozat</string>
<string name="experimental_disclaimer_info">A kísérleti funkciók instabilak lehetnek, és talán sosem kerülnek forgalomba. Használd saját felelősségre, küldj visszajelzést, és nyugodtan tiltsd le őket, ha nem működnek jól.</string>
<string name="experimental_by_default">Kísérletek alapértelmezetten</string>
<string name="experimental_by_default_desc">Szereted a kockázatot, vagy csak segítenél a hibák elhárításában? Ezt bekapcsolva a jövőbeli kísérleti funkciók is engedélyezve lesznek.</string>
diff --git a/app/src/main/res/values-in-rID/strings_pref_experimental.xml b/app/src/main/res/values-in-rID/strings_pref_experimental.xml
index 4b429692..cd3d4057 100644
--- a/app/src/main/res/values-in-rID/strings_pref_experimental.xml
+++ b/app/src/main/res/values-in-rID/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Penolakan</string>
+ <string name="disclaimer">Penolakan</string>
<string name="experimental_disclaimer_info">Fitur eksperimental mungkin tidak stabil dan mungkin tidak pernah sampai ke produksi. Gunakan dengan resiko Anda sendiri, kirim umpan balik, dan jangan ragu untuk menonaktifkan jika tidak bekerja dengan baik.</string>
<string name="experimental_by_default">Eksperimental secara standar</string>
<string name="experimental_by_default_desc">Merasa berisiko atau hanya ingin membantu kesalahan? Memeriksa ini akan mengaktifkan fungsi eksperimental masa depan menjadi standar.</string>
diff --git a/app/src/main/res/values-it-rIT/strings_pref_experimental.xml b/app/src/main/res/values-it-rIT/strings_pref_experimental.xml
index 46aa21e0..ad611d39 100644
--- a/app/src/main/res/values-it-rIT/strings_pref_experimental.xml
+++ b/app/src/main/res/values-it-rIT/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Disclaimer</string>
+ <string name="disclaimer">Disclaimer</string>
<string name="experimental_disclaimer_info">Le funzioni sperimentali potrebbero essere instabili e potrebbero non arrivare mai al rilascio. Usale a tuo rischio e pericolo, manda il tuo feedback e sentiti libero di disabilitarle se non funzionano bene.</string>
<string name="experimental_by_default">Funzioni Sperimentali di Default</string>
<string name="experimental_by_default_desc">Ti senti temerario o vuoi solo aiutarci con il debugging? Attivandolo abiliterai le funzioni sperimentali di default.</string>
diff --git a/app/src/main/res/values-ko-rKR/strings_pref_experimental.xml b/app/src/main/res/values-ko-rKR/strings_pref_experimental.xml
index b3b57eb6..0e411502 100644
--- a/app/src/main/res/values-ko-rKR/strings_pref_experimental.xml
+++ b/app/src/main/res/values-ko-rKR/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">경고</string>
+ <string name="disclaimer">경고</string>
<string name="experimental_disclaimer_info">실험적 기능은 불안정하거나 출시로 이어지지 않을 수 있습니다. 이를 사용함으로써 발생하는 일의 책임은 당신에게 있으며, 피드백을 보내시거나 제대로 작동하지 않으면 비활성화 하시기 바랍니다.</string>
<string name="experimental_by_default">실험적 기능 항상 사용</string>
<string name="experimental_by_default_desc">위험을 감수하거나 디버그에 도움을 주고 싶나요? 이를 활성화하면 앞으로도 기본적으로 실험적 기능이 활성화 됩니다.</string>
diff --git a/app/src/main/res/values-nl-rNL/strings_pref_experimental.xml b/app/src/main/res/values-nl-rNL/strings_pref_experimental.xml
index d48c488d..ce79d401 100644
--- a/app/src/main/res/values-nl-rNL/strings_pref_experimental.xml
+++ b/app/src/main/res/values-nl-rNL/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Disclaimer</string>
+ <string name="disclaimer">Disclaimer</string>
<string name="experimental_disclaimer_info">Experimentele functies kunnen instabiliteit veroorzaken en zullen mogelijk nooit volledig worden geïmplementeerd. Gebruik de functies op eigen verantwoordelijkheid, stuur feedback en wees vrij om ze uit te schakelen bij problemen.</string>
<string name="experimental_by_default">Experimentele functies standaard inschakelen</string>
<string name="experimental_by_default_desc">Wees een waaghals en activeer nieuwe experimentele functies automatisch.</string>
diff --git a/app/src/main/res/values-no-rNO/strings_pref_experimental.xml b/app/src/main/res/values-no-rNO/strings_pref_experimental.xml
index 9710f4e6..323f4894 100644
--- a/app/src/main/res/values-no-rNO/strings_pref_experimental.xml
+++ b/app/src/main/res/values-no-rNO/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Ansvarsfraskrivelse</string>
+ <string name="disclaimer">Ansvarsfraskrivelse</string>
<string name="experimental_disclaimer_info">Eksperimentelle funksjonene kan være ustabile. Bruk på eget ansvar og du må gjerne deaktivere dem om de ikke fungerer.</string>
<string name="experimental_by_default">Eksperimentell som standard</string>
<string name="experimental_by_default_desc">Føles det risikabelt eller bare ønsker å hjelpe til med feilsøking? Å velge dette vil aktivere fremtidige eksperimentelle funksjonene som standard.</string>
diff --git a/app/src/main/res/values-pl-rPL/strings_pref_experimental.xml b/app/src/main/res/values-pl-rPL/strings_pref_experimental.xml
index e50a07c2..9aefaaed 100644
--- a/app/src/main/res/values-pl-rPL/strings_pref_experimental.xml
+++ b/app/src/main/res/values-pl-rPL/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Zrzeczenie się</string>
+ <string name="disclaimer">Zrzeczenie się</string>
<string name="experimental_disclaimer_info">Funkcje eksperymentalne mogą być niestabilne i mogą nigdy nie być wprowadzone. Używaj na własne ryzyko, wyślij opinię i wyłącz je jeśli nie działają dobrze.</string>
<string name="experimental_by_default">Eksperymentalne domyślnie</string>
<string name="experimental_by_default_desc">Lubisz ryzyko lub po prostu chcesz pomóc z debugowaniem? Zaznaczenie tej opcji, będzie domyślnie włączać eksperymentalne funkcje.</string>
diff --git a/app/src/main/res/values-pt-rBR/strings_pref_experimental.xml b/app/src/main/res/values-pt-rBR/strings_pref_experimental.xml
index 3c65356b..8da05eae 100644
--- a/app/src/main/res/values-pt-rBR/strings_pref_experimental.xml
+++ b/app/src/main/res/values-pt-rBR/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Aviso Legal</string>
+ <string name="disclaimer">Aviso Legal</string>
<string name="experimental_disclaimer_info">As funções experimentais podem ser instáveis ​​e podem não funcionar. Use a seu próprio risco, envie comentários e sinta-se livre para desativá-los se eles não funcionarem bem.</string>
<string name="experimental_by_default">Experimental por Padrão</string>
<string name="experimental_by_default_desc">Deseja arriscar-se ou simplesmente quer ajudar com a depuração? Ativando isso, as futuras funções experimentais serão ativadas como padrão.</string>
diff --git a/app/src/main/res/values-pt-rPT/strings_pref_experimental.xml b/app/src/main/res/values-pt-rPT/strings_pref_experimental.xml
index e5c42a1a..ad267f3f 100644
--- a/app/src/main/res/values-pt-rPT/strings_pref_experimental.xml
+++ b/app/src/main/res/values-pt-rPT/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Aviso legal</string>
+ <string name="disclaimer">Aviso legal</string>
<string name="experimental_disclaimer_info">As funcionalidades experimentais podem ser instáveis e podem nem sequer ser incluídas na versão final. Utilize-as por sua conta e risco e submeta os relatório com os erros encontrados. Pode desativar esta opção sempre que quiser.</string>
<string name="experimental_by_default">Experimental por defeito</string>
<string name="experimental_by_default_desc">Está a sentir-se com sorte ou apenas quer ajudar com a depuração? Tenha noção que com esta função permitirá que funções futuras experimentais sejam padrão.</string>
diff --git a/app/src/main/res/values-ro-rRO/strings_pref_experimental.xml b/app/src/main/res/values-ro-rRO/strings_pref_experimental.xml
index 91c041cf..42687f7e 100644
--- a/app/src/main/res/values-ro-rRO/strings_pref_experimental.xml
+++ b/app/src/main/res/values-ro-rRO/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Excluderea răspunderii</string>
+ <string name="disclaimer">Excluderea răspunderii</string>
<string name="experimental_disclaimer_info">Caracteristici experimentale pot fi instabile. Folosește-le pe propriul tău risc, trimite feedback-ul şi nu ezita să le dezactivaţi dacă nu funcţionează bine.</string>
<string name="experimental_by_default">Experimental implicit</string>
<string name="experimental_by_default_desc">Esti aventuros sau doar vrei sa ajuți? Încearcând asta vei activa viitoare funcții experimentale în mod prestabilit.</string>
diff --git a/app/src/main/res/values-ru-rRU/strings_pref_experimental.xml b/app/src/main/res/values-ru-rRU/strings_pref_experimental.xml
index 9d511c91..8d2d935f 100644
--- a/app/src/main/res/values-ru-rRU/strings_pref_experimental.xml
+++ b/app/src/main/res/values-ru-rRU/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Информация</string>
+ <string name="disclaimer">Информация</string>
<string name="experimental_disclaimer_info">Экспериментальные функции может быть нестабильным и никогда не может сделать его в производство. Используйте на свой страх и риск, обратная связь и не стесняйтесь отключить их, если они не работают хорошо.</string>
<string name="experimental_by_default">Экспериментальный по умолчанию</string>
<string name="experimental_by_default_desc">Чувствуя рискованным или просто хотите, чтобы помочь с отладкой? Проверка, что это позволит будущим экспериментальные функции быть по умолчанию.</string>
diff --git a/app/src/main/res/values-sr-rSP/strings_pref_experimental.xml b/app/src/main/res/values-sr-rSP/strings_pref_experimental.xml
index bb3a4279..5a7a90e2 100644
--- a/app/src/main/res/values-sr-rSP/strings_pref_experimental.xml
+++ b/app/src/main/res/values-sr-rSP/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Одрицање одговорности</string>
+ <string name="disclaimer">Одрицање одговорности</string>
<string name="experimental_disclaimer_info">Експерименталне функције су нестабилне и можда никада неће бити уврштене у апликацију. Користите на сопствени ризик, пошаљите рецензију, слободно их искључите уколико не функционишу како треба.</string>
<string name="experimental_by_default">Подразумевано коришћење експерименталних функција</string>
<string name="experimental_by_default_desc">Желите да помогнете у отклањању грешака?
diff --git a/app/src/main/res/values-sv-rSE/strings_pref_experimental.xml b/app/src/main/res/values-sv-rSE/strings_pref_experimental.xml
index 78c9063d..00afc832 100644
--- a/app/src/main/res/values-sv-rSE/strings_pref_experimental.xml
+++ b/app/src/main/res/values-sv-rSE/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Disclaimer</string>
+ <string name="disclaimer">Disclaimer</string>
<string name="experimental_disclaimer_info">Experimentella funktioner kan vara ostabila och kanske aldrig implementeras i slutprodukten. Använd dessa på egen risk, skicka feedback, och stäng gärna av dem om de inte fungerar bra.</string>
<string name="experimental_by_default">Experimentell som standard</string>
<string name="experimental_by_default_desc">Känner du dig riskfylld eller bara vill hjälpa till? Att markera den här kommer att aktivera alla framtida experimentella funktioner som standard.</string>
diff --git a/app/src/main/res/values-th-rTH/strings_pref_experimental.xml b/app/src/main/res/values-th-rTH/strings_pref_experimental.xml
index a4957d32..e17815ed 100644
--- a/app/src/main/res/values-th-rTH/strings_pref_experimental.xml
+++ b/app/src/main/res/values-th-rTH/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">ข้อสงวนสิทธิ์</string>
+ <string name="disclaimer">ข้อสงวนสิทธิ์</string>
<string name="experimental_disclaimer_info">คุณสัมบัติทดลองอาจไม่เสถียนและอาจจะไม่ได้อยู่ถาวร ยอมรับความเสี่ยงเองถ้าคุณใช้มัน, ส่งข้อเสนอแนะ หรือ ปิดมันไปเลยก็ได้ถ้ามันไม่ทำงาน</string>
<string name="experimental_by_default">คุณสัมบัติทดลอง โดยค่าเริ่มต้น</string>
<string name="experimental_by_default_desc">ชอบความเสี่ยงหรือแค่อยากจะช่วยหาของข้อผิดพลาด? สามารถทำได้โดยการเปิด คุณสัมบัติทดลอง เป็นค่าเริ่มต้น</string>
diff --git a/app/src/main/res/values-tl-rPH/strings_pref_experimental.xml b/app/src/main/res/values-tl-rPH/strings_pref_experimental.xml
index d9386710..da842e99 100644
--- a/app/src/main/res/values-tl-rPH/strings_pref_experimental.xml
+++ b/app/src/main/res/values-tl-rPH/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Ang nagpapahayag</string>
+ <string name="disclaimer">Ang nagpapahayag</string>
<string name="experimental_disclaimer_info">Ang tampok na pageekspiremento ay hindi siguradong matatag at hindi kailanman ito gagawin sa produksyon. Gamitin sa iyong sariling kapahamakan, ipadala ang feedback, at malaya kang i-disable sila kapag hindi ito nagawa ng maayos.</string>
<string name="experimental_by_default">Ang pageekspiremento ayon sa Default</string>
<string name="experimental_by_default_desc">Ang pakiramdam na parang nasa pilegro o gusto lang tumulong sa pagdi-debug? Tignan kung ito ay naka-enable sa hinaharap na pageekspiremento at ang mga paggawa ay default.</string>
diff --git a/app/src/main/res/values-tr-rTR/strings_pref_experimental.xml b/app/src/main/res/values-tr-rTR/strings_pref_experimental.xml
index 75a8ff55..3768fcfe 100644
--- a/app/src/main/res/values-tr-rTR/strings_pref_experimental.xml
+++ b/app/src/main/res/values-tr-rTR/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Feragat</string>
+ <string name="disclaimer">Feragat</string>
<string name="experimental_disclaimer_info">Deneysel özellikler dengesiz olabilir ve asla üretime neden olmayabilir. Kendi sorumluluğunuzdadır kullanın, geri bildirim gönderin ve iyi çalışmazlarsa onları devre dışı bırakmaktan çekinmeyin.</string>
<string name="experimental_by_default">Varsayılan deneysel</string>
<string name="experimental_by_default_desc">Hata ayıklamayla yardım etmek mi istiyorsunuz? Bunu kontrol ederseniz, gelecek deneysel işlevlerin varsayılan olmasını sağlayabilirsiniz.</string>
diff --git a/app/src/main/res/values-uk-rUA/strings_pref_experimental.xml b/app/src/main/res/values-uk-rUA/strings_pref_experimental.xml
index 69c89919..5ed4d2d2 100644
--- a/app/src/main/res/values-uk-rUA/strings_pref_experimental.xml
+++ b/app/src/main/res/values-uk-rUA/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Відмова від відповідальності</string>
+ <string name="disclaimer">Відмова від відповідальності</string>
<string name="experimental_disclaimer_info">Експериментальні функції можуть бути нестабільними і можуть ніколи не бути впроваджені. Використовуйте на свій страх і ризик, надішліть відгук і можете вимкнути їх, якщо вони не працюють добре.</string>
<string name="experimental_by_default">Експериментальний режим за замовчуванням</string>
<string name="experimental_by_default_desc">Почуваєшся ризиковано або просто хочеш допомогти з налагодженням? Перевірка цього параметра дозволить використовувати майбутні експериментальні функції за умовчанням.</string>
diff --git a/app/src/main/res/values-vi-rVN/strings_pref_experimental.xml b/app/src/main/res/values-vi-rVN/strings_pref_experimental.xml
index 789802c4..786a949c 100644
--- a/app/src/main/res/values-vi-rVN/strings_pref_experimental.xml
+++ b/app/src/main/res/values-vi-rVN/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">Chối bỏ trách nhiệm</string>
+ <string name="disclaimer">Chối bỏ trách nhiệm</string>
<string name="experimental_disclaimer_info">Các tính năng thử nghiệm có thể không ổn định và có thể không bao giờ thành hiện thực. Bạn chấp nhận rủi ro khi dùng, hãy tắt nó đi nếu bạn thấy không hoạt động tốt.</string>
<string name="experimental_by_default">Thử nghiệm theo mặc định</string>
<string name="experimental_by_default_desc">Muốn thử hay chỉ đơn giản muốn giúp soát lỗi? Đánh dấu ở đây sẽ bật các tính năng thử nghiệm tương lai theo mặc định.</string>
diff --git a/app/src/main/res/values-zh-rCN/strings_pref_experimental.xml b/app/src/main/res/values-zh-rCN/strings_pref_experimental.xml
index 444bd281..95e18c82 100644
--- a/app/src/main/res/values-zh-rCN/strings_pref_experimental.xml
+++ b/app/src/main/res/values-zh-rCN/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">免责声明</string>
+ <string name="disclaimer">免责声明</string>
<string name="experimental_disclaimer_info">实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。</string>
<string name="experimental_by_default">默认情况下实验</string>
<string name="experimental_by_default_desc">感觉有风险或只是想要帮助进行调试?检查这将使未来的实验功能是默认类型。</string>
diff --git a/app/src/main/res/values-zh-rTW/strings_pref_experimental.xml b/app/src/main/res/values-zh-rTW/strings_pref_experimental.xml
index caa2848c..cda69ddb 100644
--- a/app/src/main/res/values-zh-rTW/strings_pref_experimental.xml
+++ b/app/src/main/res/values-zh-rTW/strings_pref_experimental.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
- <string name="experimental_disclaimer">免責聲明</string>
+ <string name="disclaimer">免責聲明</string>
<string name="experimental_disclaimer_info">實驗性的特性可能不穩定, 可能永遠無法生產。選擇使用您自己的風險, 發回饋, 並隨時禁用他們
实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。</string>
diff --git a/app/src/main/res/values/strings_pref_behaviour.xml b/app/src/main/res/values/strings_pref_behaviour.xml
index 09d4fc63..77c35c1c 100644
--- a/app/src/main/res/values/strings_pref_behaviour.xml
+++ b/app/src/main/res/values/strings_pref_behaviour.xml
@@ -21,8 +21,6 @@
<string name="autoplay_settings_desc">Open Facebook\'s auto play settings. Note that it must be disabled for PIP to work.</string>
<string name="exit_confirmation">Exit Confirmation</string>
<string name="exit_confirmation_desc">Show confirmation dialog before exiting the app</string>
- <string name="enable_biometrics">Enable biometrics</string>
- <string name="enable_biometrics_desc">Require biometric authentication after inactivity</string>
<string name="analytics">Analytics</string>
<string name="analytics_desc">Enable anonymous analytics and bug reports to help improve the app. No personal information is ever exposed.</string>
diff --git a/app/src/main/res/values/strings_pref_experimental.xml b/app/src/main/res/values/strings_pref_experimental.xml
index 9ccf5577..5ae860f1 100644
--- a/app/src/main/res/values/strings_pref_experimental.xml
+++ b/app/src/main/res/values/strings_pref_experimental.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
-
- <string name="experimental_disclaimer">Disclaimer</string>
+ <string name="disclaimer">Disclaimer</string>
<string name="experimental_disclaimer_info">Experimental features may be unstable and may never make it to production. Use at your own risk, send feedback, and feel free to disable them if they don\'t work well.</string>
<string name="experimental_by_default">Experimental by Default</string>
<string name="experimental_by_default_desc">Feeling risky or just want to help with debugging? Checking this will enable future experimental functions be default.</string>
diff --git a/app/src/main/res/values/strings_pref_security.xml b/app/src/main/res/values/strings_pref_security.xml
new file mode 100644
index 00000000..5e0bcac3
--- /dev/null
+++ b/app/src/main/res/values/strings_pref_security.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="security_disclaimer_info">Security preferences help protect access to Frost from the UI. However, note that local data is not encrypted, and can still be accessed by rooted users.</string>
+ <string name="enable_biometrics">Enable biometrics</string>
+ <string name="enable_biometrics_desc">Require biometric authentication after inactivity</string>
+</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/strings_preferences.xml b/app/src/main/res/values/strings_preferences.xml
index 84f39850..646e3595 100644
--- a/app/src/main/res/values/strings_preferences.xml
+++ b/app/src/main/res/values/strings_preferences.xml
@@ -10,6 +10,9 @@
<string name="behaviour">Behaviour</string>
<string name="behaviour_desc">Define how the app interacts in certain settings</string>
+ <string name="security">Security</string>
+ <string name="security_desc">Lock screen, biometrics, etc</string>
+
<string name="network">Network</string>
<string name="network_desc">Define options that affect metered networks</string>