From 984a4a7bf1d08c0d3143ea6d3ea637d7e674f0c2 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 1 May 2019 16:41:52 -0700 Subject: Add security settings for biometrics --- .../frost/activities/SettingsActivity.kt | 6 +++ .../kotlin/com/pitchedapps/frost/settings/Debug.kt | 2 +- .../com/pitchedapps/frost/settings/Experimental.kt | 2 +- .../com/pitchedapps/frost/settings/Security.kt | 45 ++++++++++++++++++++++ .../com/pitchedapps/frost/utils/BiometricUtils.kt | 11 ++++-- .../kotlin/com/pitchedapps/frost/utils/Prefs.kt | 2 + .../values-cs-rCZ/strings_pref_experimental.xml | 2 +- .../values-da-rDK/strings_pref_experimental.xml | 2 +- .../values-de-rDE/strings_pref_experimental.xml | 2 +- .../values-es-rES/strings_pref_experimental.xml | 2 +- .../values-fr-rFR/strings_pref_experimental.xml | 2 +- .../values-gl-rES/strings_pref_experimental.xml | 2 +- .../values-hu-rHU/strings_pref_experimental.xml | 2 +- .../values-in-rID/strings_pref_experimental.xml | 2 +- .../values-it-rIT/strings_pref_experimental.xml | 2 +- .../values-ko-rKR/strings_pref_experimental.xml | 2 +- .../values-nl-rNL/strings_pref_experimental.xml | 2 +- .../values-no-rNO/strings_pref_experimental.xml | 2 +- .../values-pl-rPL/strings_pref_experimental.xml | 2 +- .../values-pt-rBR/strings_pref_experimental.xml | 2 +- .../values-pt-rPT/strings_pref_experimental.xml | 2 +- .../values-ro-rRO/strings_pref_experimental.xml | 2 +- .../values-ru-rRU/strings_pref_experimental.xml | 2 +- .../values-sr-rSP/strings_pref_experimental.xml | 2 +- .../values-sv-rSE/strings_pref_experimental.xml | 2 +- .../values-th-rTH/strings_pref_experimental.xml | 2 +- .../values-tl-rPH/strings_pref_experimental.xml | 2 +- .../values-tr-rTR/strings_pref_experimental.xml | 2 +- .../values-uk-rUA/strings_pref_experimental.xml | 2 +- .../values-vi-rVN/strings_pref_experimental.xml | 2 +- .../values-zh-rCN/strings_pref_experimental.xml | 2 +- .../values-zh-rTW/strings_pref_experimental.xml | 2 +- app/src/main/res/values/strings_pref_behaviour.xml | 2 - .../main/res/values/strings_pref_experimental.xml | 3 +- app/src/main/res/values/strings_pref_security.xml | 6 +++ app/src/main/res/values/strings_preferences.xml | 3 ++ 36 files changed, 99 insertions(+), 35 deletions(-) create mode 100644 app/src/main/kotlin/com/pitchedapps/frost/settings/Security.kt create mode 100644 app/src/main/res/values/strings_pref_security.xml 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 . + */ +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 @@ - Upozornění + Upozornění 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í. Povolit experimentální nastavení ve výchozím režimu Chcete pomoct vývojářům s laděním? Povolit všechna, i budoucí experimentální nastavení. 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 @@ - Ansvarsfraskrivelse + Ansvarsfraskrivelse 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. Eksperimentel som standard 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. 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 @@ - Haftungsausschluss + Haftungsausschluss 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. Standartmäßig Experimentell Sie fühlen sich mutig oder wollen einfach helfen bei der Fehlersuche? Beim Aktivieren dieser Option werden zukünftige, experimentelle Funktionen standardmäßig eingeschaltet. 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 @@ - Atención + Atención 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. Experimental por Defecto ¿Notas algún error o deseas ayudar a depurar? Las futuras funciones experimentales se habilitarán por defecto. 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 @@ - Clause de non-responsabilité + Clause de non-responsabilité 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. Expérimentale par défaut 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. 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 @@ - Aviso legal + Aviso legal 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. Experimentar predefinido Gústache o risco ou simplemente é que queres axudar coa depuración? Ao marcares esta opción, as funcionalidades experimentais activaranse por defecto. 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 @@ - Nyilatkozat + Nyilatkozat 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. Kísérletek alapértelmezetten 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. 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 @@ - Penolakan + Penolakan 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. Eksperimental secara standar Merasa berisiko atau hanya ingin membantu kesalahan? Memeriksa ini akan mengaktifkan fungsi eksperimental masa depan menjadi standar. 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 @@ - Disclaimer + Disclaimer 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. Funzioni Sperimentali di Default Ti senti temerario o vuoi solo aiutarci con il debugging? Attivandolo abiliterai le funzioni sperimentali di default. 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 @@ - 경고 + 경고 실험적 기능은 불안정하거나 출시로 이어지지 않을 수 있습니다. 이를 사용함으로써 발생하는 일의 책임은 당신에게 있으며, 피드백을 보내시거나 제대로 작동하지 않으면 비활성화 하시기 바랍니다. 실험적 기능 항상 사용 위험을 감수하거나 디버그에 도움을 주고 싶나요? 이를 활성화하면 앞으로도 기본적으로 실험적 기능이 활성화 됩니다. 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 @@ - Disclaimer + Disclaimer 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. Experimentele functies standaard inschakelen Wees een waaghals en activeer nieuwe experimentele functies automatisch. 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 @@ - Ansvarsfraskrivelse + Ansvarsfraskrivelse Eksperimentelle funksjonene kan være ustabile. Bruk på eget ansvar og du må gjerne deaktivere dem om de ikke fungerer. Eksperimentell som standard Føles det risikabelt eller bare ønsker å hjelpe til med feilsøking? Å velge dette vil aktivere fremtidige eksperimentelle funksjonene som standard. 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 @@ - Zrzeczenie się + Zrzeczenie się 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. Eksperymentalne domyślnie Lubisz ryzyko lub po prostu chcesz pomóc z debugowaniem? Zaznaczenie tej opcji, będzie domyślnie włączać eksperymentalne funkcje. 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 @@ - Aviso Legal + Aviso Legal 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. Experimental por Padrão Deseja arriscar-se ou simplesmente quer ajudar com a depuração? Ativando isso, as futuras funções experimentais serão ativadas como padrão. 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 @@ - Aviso legal + Aviso legal 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. Experimental por defeito 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. 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 @@ - Excluderea răspunderii + Excluderea răspunderii 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. Experimental implicit Esti aventuros sau doar vrei sa ajuți? Încearcând asta vei activa viitoare funcții experimentale în mod prestabilit. 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 @@ - Информация + Информация Экспериментальные функции может быть нестабильным и никогда не может сделать его в производство. Используйте на свой страх и риск, обратная связь и не стесняйтесь отключить их, если они не работают хорошо. Экспериментальный по умолчанию Чувствуя рискованным или просто хотите, чтобы помочь с отладкой? Проверка, что это позволит будущим экспериментальные функции быть по умолчанию. 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 @@ - Одрицање одговорности + Одрицање одговорности Експерименталне функције су нестабилне и можда никада неће бити уврштене у апликацију. Користите на сопствени ризик, пошаљите рецензију, слободно их искључите уколико не функционишу како треба. Подразумевано коришћење експерименталних функција Желите да помогнете у отклањању грешака? 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 @@ - Disclaimer + Disclaimer 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. Experimentell som standard 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. 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 @@ - ข้อสงวนสิทธิ์ + ข้อสงวนสิทธิ์ คุณสัมบัติทดลองอาจไม่เสถียนและอาจจะไม่ได้อยู่ถาวร ยอมรับความเสี่ยงเองถ้าคุณใช้มัน, ส่งข้อเสนอแนะ หรือ ปิดมันไปเลยก็ได้ถ้ามันไม่ทำงาน คุณสัมบัติทดลอง โดยค่าเริ่มต้น ชอบความเสี่ยงหรือแค่อยากจะช่วยหาของข้อผิดพลาด? สามารถทำได้โดยการเปิด คุณสัมบัติทดลอง เป็นค่าเริ่มต้น 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 @@ - Ang nagpapahayag + Ang nagpapahayag 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. Ang pageekspiremento ayon sa Default 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. 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 @@ - Feragat + Feragat 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. Varsayılan deneysel Hata ayıklamayla yardım etmek mi istiyorsunuz? Bunu kontrol ederseniz, gelecek deneysel işlevlerin varsayılan olmasını sağlayabilirsiniz. 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 @@ - Відмова від відповідальності + Відмова від відповідальності Експериментальні функції можуть бути нестабільними і можуть ніколи не бути впроваджені. Використовуйте на свій страх і ризик, надішліть відгук і можете вимкнути їх, якщо вони не працюють добре. Експериментальний режим за замовчуванням Почуваєшся ризиковано або просто хочеш допомогти з налагодженням? Перевірка цього параметра дозволить використовувати майбутні експериментальні функції за умовчанням. 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 @@ - Chối bỏ trách nhiệm + Chối bỏ trách nhiệm 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. Thử nghiệm theo mặc định 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. 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 @@ - 免责声明 + 免责声明 实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。 默认情况下实验 感觉有风险或只是想要帮助进行调试?检查这将使未来的实验功能是默认类型。 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 @@ - 免責聲明 + 免責聲明 實驗性的特性可能不穩定, 可能永遠無法生產。選擇使用您自己的風險, 發回饋, 並隨時禁用他們 实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。 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 @@ Open Facebook\'s auto play settings. Note that it must be disabled for PIP to work. Exit Confirmation Show confirmation dialog before exiting the app - Enable biometrics - Require biometric authentication after inactivity Analytics Enable anonymous analytics and bug reports to help improve the app. No personal information is ever exposed. 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 @@ - - Disclaimer + Disclaimer 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. Experimental by Default Feeling risky or just want to help with debugging? Checking this will enable future experimental functions be default. 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 @@ + + + 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. + Enable biometrics + Require biometric authentication after inactivity + \ 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 @@ Behaviour Define how the app interacts in certain settings + Security + Lock screen, biometrics, etc + Network Define options that affect metered networks -- cgit v1.2.3