From 02ff37b187dd1958c9c409ddd4e9269928365e74 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 7 Aug 2018 15:08:38 -0300 Subject: [PATCH] Screen Lock: Second round of addressing review comments --- .../AndroidNotificationManagerImpl.java | 5 +- .../briarproject/briar/android/AppModule.java | 3 +- .../android/account/LockManagerImpl.java | 58 ++++++++++++------- .../briar/android/activity/BriarActivity.java | 5 +- .../briar/android/login/UnlockActivity.java | 3 +- .../android/settings/SettingsFragment.java | 37 +++++------- .../android/splash/SplashScreenActivity.java | 5 +- .../briar/android/util/UiUtils.java | 15 ++--- .../briar/api/android/LockManager.java | 4 +- .../src/main/res/values-ast/strings.xml | 2 +- .../src/main/res/values-bg/strings.xml | 4 +- .../src/main/res/values-br/strings.xml | 2 +- .../src/main/res/values-ca/strings.xml | 4 +- .../src/main/res/values-cs/strings.xml | 4 +- .../src/main/res/values-de/strings.xml | 4 +- .../src/main/res/values-es/strings.xml | 4 +- .../src/main/res/values-eu/strings.xml | 4 +- .../src/main/res/values-fa/strings.xml | 4 +- .../src/main/res/values-fi/strings.xml | 4 +- .../src/main/res/values-fr/strings.xml | 4 +- .../src/main/res/values-gl/strings.xml | 4 +- .../src/main/res/values-he/strings.xml | 2 +- .../src/main/res/values-hi/strings.xml | 4 +- .../src/main/res/values-it/strings.xml | 4 +- .../src/main/res/values-ja/strings.xml | 2 +- .../src/main/res/values-nb/strings.xml | 4 +- .../src/main/res/values-nl/strings.xml | 4 +- .../src/main/res/values-oc/strings.xml | 4 +- .../src/main/res/values-pl/strings.xml | 4 +- .../src/main/res/values-pt-rBR/strings.xml | 4 +- .../src/main/res/values-ro/strings.xml | 4 +- .../src/main/res/values-ru/strings.xml | 4 +- .../src/main/res/values-sq/strings.xml | 4 +- .../src/main/res/values-sr/strings.xml | 4 +- .../src/main/res/values-sv/strings.xml | 4 +- .../src/main/res/values-tr/strings.xml | 4 +- .../src/main/res/values-zh-rCN/strings.xml | 4 +- briar-android/src/main/res/values/strings.xml | 6 +- .../src/main/res/xml/panic_preferences.xml | 4 +- 39 files changed, 125 insertions(+), 124 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java index 1ec11455d..99c9ff3b2 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java @@ -321,11 +321,8 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, @Override public void updateForegroundNotification(boolean lockable, boolean locked) { - NotificationManager nm = (NotificationManager) appContext - .getSystemService(NOTIFICATION_SERVICE); - assert nm != null; Notification n = getForegroundNotification(lockable, locked); - nm.notify(ONGOING_NOTIFICATION_ID, n); + notificationManager.notify(ONGOING_NOTIFICATION_ID, n); } private void showContactNotification(ContactId c) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java index c738b42e0..3c3512281 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java @@ -205,8 +205,9 @@ public class AppModule { @Provides @Singleton LockManager provideLockManager(LifecycleManager lifecycleManager, - LockManagerImpl lockManager) { + EventBus eventBus, LockManagerImpl lockManager) { lifecycleManager.registerService(lockManager); + eventBus.addListener(lockManager); return lockManager; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java index 82981e9c5..07f15429d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java @@ -4,14 +4,18 @@ import android.app.Application; import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MutableLiveData; import android.content.Context; +import android.support.annotation.UiThread; import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.db.DbException; +import org.briarproject.bramble.api.event.Event; +import org.briarproject.bramble.api.event.EventListener; import org.briarproject.bramble.api.lifecycle.Service; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.settings.Settings; import org.briarproject.bramble.api.settings.SettingsManager; +import org.briarproject.bramble.api.settings.event.SettingsUpdatedEvent; import org.briarproject.briar.api.android.AndroidNotificationManager; import org.briarproject.briar.api.android.LockManager; @@ -30,10 +34,10 @@ import static org.briarproject.briar.android.util.UiUtils.hasScreenLock; @ThreadSafe @MethodsNotNullByDefault @ParametersNotNullByDefault -public class LockManagerImpl implements LockManager, Service { +public class LockManagerImpl implements LockManager, Service, EventListener { private static final Logger LOG = - Logger.getLogger(LockManagerImpl.class.getSimpleName()); + Logger.getLogger(LockManagerImpl.class.getName()); private final Context appContext; private final SettingsManager settingsManager; @@ -53,6 +57,7 @@ public class LockManagerImpl implements LockManager, Service { this.notificationManager = notificationManager; this.dbExecutor = dbExecutor; + // setting these in the constructor makes #getValue() @NonNull this.locked.setValue(false); this.lockable.setValue(false); } @@ -61,17 +66,7 @@ public class LockManagerImpl implements LockManager, Service { public void startService() { lockable.observeForever(this::onLockableChanged); if (hasScreenLock(appContext)) { - dbExecutor.execute(() -> { - try { - Settings settings = - settingsManager.getSettings(SETTINGS_NAMESPACE); - boolean lockable = - settings.getBoolean(PREF_SCREEN_LOCK, false); - this.lockable.postValue(lockable); - } catch (DbException e) { - logException(LOG, WARNING, e); - } - }); + loadLockableSetting(); } else { lockable.postValue(false); } @@ -82,6 +77,33 @@ public class LockManagerImpl implements LockManager, Service { lockable.removeObserver(this::onLockableChanged); } + @Override + public void eventOccurred(Event event) { + if (event instanceof SettingsUpdatedEvent) { + SettingsUpdatedEvent e = (SettingsUpdatedEvent) event; + String namespace = e.getNamespace(); + if (namespace.equals(SETTINGS_NAMESPACE)) { + loadLockableSetting(); + } + } + } + + private void loadLockableSetting() { + dbExecutor.execute(() -> { + try { + Settings settings = + settingsManager.getSettings(SETTINGS_NAMESPACE); + boolean lockable = + settings.getBoolean(PREF_SCREEN_LOCK, false); + boolean newValue = hasScreenLock(appContext) && lockable; + this.lockable.postValue(newValue); + } catch (DbException e) { + logException(LOG, WARNING, e); + this.lockable.postValue(false); + } + }); + } + private void onLockableChanged(boolean lockable) { notificationManager .updateForegroundNotification(lockable, locked.getValue()); @@ -92,6 +114,7 @@ public class LockManagerImpl implements LockManager, Service { return lockable; } + @UiThread @Override public void recheckLockable() { boolean oldValue = this.lockable.getValue(); @@ -101,15 +124,6 @@ public class LockManagerImpl implements LockManager, Service { } } - @Override - public void updateLockableSetting(boolean lockable) { - boolean oldValue = this.lockable.getValue(); - boolean newValue = hasScreenLock(appContext) && lockable; - if (oldValue != newValue) { - this.lockable.setValue(newValue); - } - } - @Override public LiveData isLocked() { return locked; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java index 575411e04..2f0896d55 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java @@ -35,7 +35,6 @@ import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSW import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_UNLOCK; import static org.briarproject.briar.android.util.UiUtils.getDozeWhitelistingIntent; import static org.briarproject.briar.android.util.UiUtils.isSamsung7; -import static org.briarproject.briar.android.util.UiUtils.showAndroidHomeScreen; @SuppressLint("Registered") public abstract class BriarActivity extends BaseActivity { @@ -71,12 +70,12 @@ public abstract class BriarActivity extends BaseActivity { if (!briarController.accountSignedIn() && !isFinishing()) { Intent i = new Intent(this, PasswordActivity.class); startActivityForResult(i, REQUEST_PASSWORD); - } else if(lockManager.isLocked().getValue()) { + } else if (lockManager.isLocked().getValue()) { Intent i = new Intent(this, UnlockActivity.class); startActivityForResult(i, REQUEST_UNLOCK); } else { lockManager.isLocked().observe(this, locked -> { - if (locked != null && locked) showAndroidHomeScreen(this); + if (locked != null && locked) moveTaskToBack(true); }); lockManager.recheckLockable(); if (SDK_INT >= 23) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java index 9294fc44e..75a3bcf7c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java @@ -22,7 +22,6 @@ import java.util.logging.Logger; import javax.inject.Inject; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_UNLOCK; -import static org.briarproject.briar.android.util.UiUtils.showAndroidHomeScreen; import static org.briarproject.briar.api.android.AndroidNotificationManager.ACTION_LOCK; @RequiresApi(21) @@ -61,7 +60,7 @@ public class UnlockActivity extends BaseActivity { @Override public void onBackPressed() { - showAndroidHomeScreen(this); + moveTaskToBack(true); } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index e1c9247ca..8b43304a1 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -41,7 +41,6 @@ import org.briarproject.briar.android.Localizer; import org.briarproject.briar.android.navdrawer.NavDrawerActivity; import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.util.UserFeedback; -import org.briarproject.briar.api.android.LockManager; import java.util.ArrayList; import java.util.Collections; @@ -141,8 +140,6 @@ public class SettingsFragment extends PreferenceFragmentCompat @Inject volatile EventBus eventBus; - @Inject - LockManager lockManager; @Inject AndroidExecutor androidExecutor; @@ -184,8 +181,6 @@ public class SettingsFragment extends PreferenceFragmentCompat "pref_key_notify_lock_screen"); notifySound = findPreference("pref_key_notify_sound"); - setSettingsEnabled(false); - language.setOnPreferenceChangeListener(this); theme.setOnPreferenceChangeListener((preference, newValue) -> { if (getActivity() != null) { @@ -239,7 +234,6 @@ public class SettingsFragment extends PreferenceFragmentCompat testing.setVisible(false); } - loadSettings(); } @Override @@ -256,7 +250,8 @@ public class SettingsFragment extends PreferenceFragmentCompat public void onStart() { super.onStart(); eventBus.addListener(this); - updateScreenLockSetting(settings != null); + setSettingsEnabled(false); + loadSettings(); } @Override @@ -365,13 +360,8 @@ public class SettingsFragment extends PreferenceFragmentCompat enableBluetooth.setValue(Boolean.toString(btSetting)); torNetwork.setValue(Integer.toString(torNetworkSetting)); torBlocked.setChecked(torBlockedSetting); + displayScreenLockSetting(); - if (SDK_INT >= 21) { - boolean screenLockable = - settings.getBoolean(PREF_SCREEN_LOCK, false); - screenLock.setChecked( - screenLockable && hasScreenLock(getActivity())); - } if (SDK_INT < 26) { notifyPrivateMessages.setChecked(settings.getBoolean( PREF_NOTIFY_PRIVATE, true)); @@ -428,10 +418,11 @@ public class SettingsFragment extends PreferenceFragmentCompat // preferences not needed here, because handled by SharedPreferences: // - pref_key_theme // - pref_key_notify_sign_in + // preferences not needed here, because they have their own logic + // - pref_key_lock (screenLock -> displayScreenLockSetting()) enableBluetooth.setEnabled(enabled); torNetwork.setEnabled(enabled); torBlocked.setEnabled(enabled); - updateScreenLockSetting(enabled); notifyPrivateMessages.setEnabled(enabled); notifyGroupMessages.setEnabled(enabled); notifyForumPosts.setEnabled(enabled); @@ -441,15 +432,20 @@ public class SettingsFragment extends PreferenceFragmentCompat notifySound.setEnabled(enabled); } - private void updateScreenLockSetting(boolean enabled) { + private void displayScreenLockSetting() { if (SDK_INT < 21) { screenLock.setVisible(false); - } else if (enabled && hasScreenLock(getActivity())) { - screenLock.setEnabled(true); } else { - screenLock.setEnabled(false); - screenLock.setChecked(false); - screenLock.setSummary(getString(R.string.lock_disabled)); + if (getActivity() != null && hasScreenLock(getActivity())) { + screenLock.setEnabled(true); + screenLock.setChecked( + settings.getBoolean(PREF_SCREEN_LOCK, false)); + screenLock.setSummary(R.string.pref_lock_summary); + } else { + screenLock.setEnabled(false); + screenLock.setChecked(false); + screenLock.setSummary(R.string.pref_lock_disabled_summary); + } } } @@ -509,7 +505,6 @@ public class SettingsFragment extends PreferenceFragmentCompat boolean torBlockedSetting = (Boolean) newValue; storeTorBlockedSetting(torBlockedSetting); } else if (preference == screenLock) { - lockManager.updateLockableSetting((Boolean) newValue); Settings s = new Settings(); s.putBoolean(PREF_SCREEN_LOCK, (Boolean) newValue); storeSettings(s); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java index 7abd6f512..eeb7f46ef 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java @@ -50,8 +50,9 @@ public class SplashScreenActivity extends BaseActivity { if (accountManager.hasDatabaseKey()) { Intent i; if (lockManager.isLocked().getValue()) { - // The database is already open, so start main activity which - // will open the activity to unlock, then brings main to front. + // The database needs to be opened for the app to be locked. + // Start main activity right away. It will open UnlockActivity. + // Otherwise, we would end up with two screen unlock inputs. i = new Intent(this, NavDrawerActivity.class); } else { i = new Intent(this, OpenDatabaseActivity.class); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java index 858697146..60c6db311 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java @@ -37,6 +37,7 @@ import org.briarproject.briar.android.widget.LinkDialogFragment; import javax.annotation.Nullable; +import static android.content.Context.KEYGUARD_SERVICE; import static android.content.Context.POWER_SERVICE; import static android.content.Intent.CATEGORY_DEFAULT; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; @@ -232,19 +233,13 @@ public class UiUtils { public static boolean hasScreenLock(Context ctx) { if (SDK_INT < 21) return false; - KeyguardManager keyguardManager = (KeyguardManager) ctx - .getSystemService(Context.KEYGUARD_SERVICE); + KeyguardManager keyguardManager = + (KeyguardManager) ctx.getSystemService(KEYGUARD_SERVICE); if (keyguardManager == null) return false; - // check if there's a lock mechanism we can use, try to ignore SIM + // check if there's a lock mechanism we can use + // first one is true if SIM card is locked, so use second if available return (SDK_INT < 23 && keyguardManager.isKeyguardSecure()) || (SDK_INT >= 23 && keyguardManager.isDeviceSecure()); } - public static void showAndroidHomeScreen(Context ctx) { - Intent i = new Intent(Intent.ACTION_MAIN); - i.addCategory(Intent.CATEGORY_HOME); - i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - ctx.startActivity(i); - } - } diff --git a/briar-android/src/main/java/org/briarproject/briar/api/android/LockManager.java b/briar-android/src/main/java/org/briarproject/briar/api/android/LockManager.java index d5ccddabd..89e5ce6d5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/api/android/LockManager.java +++ b/briar-android/src/main/java/org/briarproject/briar/api/android/LockManager.java @@ -1,15 +1,15 @@ package org.briarproject.briar.api.android; import android.arch.lifecycle.LiveData; +import android.support.annotation.UiThread; public interface LockManager { LiveData isLockable(); + @UiThread void recheckLockable(); - void updateLockableSetting(boolean lockable); - LiveData isLocked(); void setLocked(boolean locked); diff --git a/briar-android/src/main/res/values-ast/strings.xml b/briar-android/src/main/res/values-ast/strings.xml index 53904023d..3054b07aa 100644 --- a/briar-android/src/main/res/values-ast/strings.xml +++ b/briar-android/src/main/res/values-ast/strings.xml @@ -133,7 +133,7 @@ Seguridá Configuración del Botón d\'espantu Botón d\'espantu - Colar + Colar Desinstalar Briar Avisos diff --git a/briar-android/src/main/res/values-bg/strings.xml b/briar-android/src/main/res/values-bg/strings.xml index 75da4e717..339f00f2b 100644 --- a/briar-android/src/main/res/values-bg/strings.xml +++ b/briar-android/src/main/res/values-bg/strings.xml @@ -271,8 +271,8 @@ Няма Потвърждение на паник приложение Сигурни ли сте, че искате да позволите на %1$s да задейства унищожителни действия на паник бутон? - Отписване - Отписване от Briar, ако паник бутонът е натиснат + Отписване + Отписване от Briar, ако паник бутонът е натиснат Изтриване на профил Изтриване на Briar профила, ако паник бутонът е натиснат. Внимание: Изтрива завинаги вашия профил, контакти и съобщения Деинсталиране на Briar diff --git a/briar-android/src/main/res/values-br/strings.xml b/briar-android/src/main/res/values-br/strings.xml index 482a4408c..25de4a52e 100644 --- a/briar-android/src/main/res/values-br/strings.xml +++ b/briar-android/src/main/res/values-br/strings.xml @@ -164,7 +164,7 @@ Cheñch ar ger-tremen Kadarnaat ar ger-tremen nevez Hini ebet - Digevreañ + Digevreañ Hini ebet diff --git a/briar-android/src/main/res/values-ca/strings.xml b/briar-android/src/main/res/values-ca/strings.xml index 2470bddd5..ba13119f2 100644 --- a/briar-android/src/main/res/values-ca/strings.xml +++ b/briar-android/src/main/res/values-ca/strings.xml @@ -343,8 +343,8 @@ Cap Confirmeu l\'aplicació de pànic Segur que voleu permetre que %1$s desencadeni accions destructives a conseqüència del botó de pànic? - Tanca la sessió - Tanca la sessió de Briar si es prem un botó de pànic + Tanca la sessió + Tanca la sessió de Briar si es prem un botó de pànic Esborreu el compte Suprimeix el compte de Briar si es prem el botó de pànic. Atenció: En aquest cas, s\'eliminarien permanentment les vostres identitats, contactes i missatges Desinstal·leu Briar diff --git a/briar-android/src/main/res/values-cs/strings.xml b/briar-android/src/main/res/values-cs/strings.xml index 1ae001c6f..16bcaf2a7 100644 --- a/briar-android/src/main/res/values-cs/strings.xml +++ b/briar-android/src/main/res/values-cs/strings.xml @@ -346,8 +346,8 @@ Žádný Potvrdit aplikaci Paniky Jste si jisti, že chcete povolit %1$s spustit akci zneškodnění pomocí tlačítka paniky? - Odhlásit se - Odhlásit se z Briar, pokud je stisknuto tlačítko paniky + Odhlásit se + Odhlásit se z Briar, pokud je stisknuto tlačítko paniky Odstranit účet Vymazat váš Briar účet pokud je stlačeno tlačítko paniky. Upozornění: Toto trvale vymaže vaši identitu, kontakty a zprávy Odinstalovat Briar diff --git a/briar-android/src/main/res/values-de/strings.xml b/briar-android/src/main/res/values-de/strings.xml index 427effe32..df2052310 100644 --- a/briar-android/src/main/res/values-de/strings.xml +++ b/briar-android/src/main/res/values-de/strings.xml @@ -333,8 +333,8 @@ Keine Bestätige Panik-App Bist du sicher, dass du %1$s erlauben willst, Panik-Button-Ereignisse auszulösen? Dies kann zum Löschen von Daten führen. - Abmelden - Von Briar abmelden, wenn ein Panik-Button aktiviert wird + Abmelden + Von Briar abmelden, wenn ein Panik-Button aktiviert wird Konto löschen Briar-Konto löschen, wenn der Panik-Button gedrückt wird. Achtung: Es werden alle Identitäten, Kontakte und Nachrichten unwiderruflich gelöscht. Briar deinstallieren diff --git a/briar-android/src/main/res/values-es/strings.xml b/briar-android/src/main/res/values-es/strings.xml index b38f1052d..4d11571de 100644 --- a/briar-android/src/main/res/values-es/strings.xml +++ b/briar-android/src/main/res/values-es/strings.xml @@ -327,8 +327,8 @@ Ninguna Confirmar aplicación de pánico ¿Seguro que quieres permitir que %1$s lance acciones destructivas de botón de pánico? - Cerrar sesión - Cerrar la sesión de Briar si se pulsa un botón de pánico + Cerrar sesión + Cerrar la sesión de Briar si se pulsa un botón de pánico Eliminar cuenta Eliminar tu cuenta de Briar si se pulsa un botón de pánico. Advertencia: esto eliminará permanentemente tus identidades, contactos y mensajes Desinstalar Briar diff --git a/briar-android/src/main/res/values-eu/strings.xml b/briar-android/src/main/res/values-eu/strings.xml index ef3079cae..e8d5f47bd 100644 --- a/briar-android/src/main/res/values-eu/strings.xml +++ b/briar-android/src/main/res/values-eu/strings.xml @@ -343,8 +343,8 @@ Bat ere ez Berretsi larrialdi-aplikazioa Ziur %1$s baimendu nahi duzula larrialdi botoiaren ekintza suntsitzaileak burutzea? - Amaitu saioa - Amaitu saioa larrialdi botoia zapaltzen bada + Amaitu saioa + Amaitu saioa larrialdi botoia zapaltzen bada Ezabatu kontua Ezabatu kontua Briar larrialdi botoia zapaltzen bada. Kontuz: Honek behin betiko ezabatuko ditu zure identitateak, kontaktuak eta mezuak Desinstalatu Briar diff --git a/briar-android/src/main/res/values-fa/strings.xml b/briar-android/src/main/res/values-fa/strings.xml index 383a06f7d..10c315a94 100644 --- a/briar-android/src/main/res/values-fa/strings.xml +++ b/briar-android/src/main/res/values-fa/strings.xml @@ -382,8 +382,8 @@ هیچکدام تایید برنامه هراس آیا مطمئن هستید که میخواهید به %1$s اجازه دهید تا باعث عملیات مخرب دکمه هراس بشود؟ - خروج - در صورت کلیک بر روی کلید هراس از برایر خارج شو + خروج + در صورت کلیک بر روی کلید هراس از برایر خارج شو حذف حساب کاربری پاک کردن حساب کاربری برایر شما در صورتی که دکمه هراس فشار داده شود. اخطار: این باعث پاک شدن دائمی تمام هویت ها، مخاطبان و پیام های شما خواهد شد پاک کردن برایر diff --git a/briar-android/src/main/res/values-fi/strings.xml b/briar-android/src/main/res/values-fi/strings.xml index 5b161f888..2d98404f5 100644 --- a/briar-android/src/main/res/values-fi/strings.xml +++ b/briar-android/src/main/res/values-fi/strings.xml @@ -343,8 +343,8 @@ Ei mitään Vahvista paniikkisovellus Oletko varma, että haluat myöntää ohjelmalle %1$s luvan laukaista tuhoa aiheuttavia paniikkinapin toimintoja? - Kirjaudu ulos - Kirjaudu ulos Briarista jos paniikkinappia on painettu + Kirjaudu ulos + Kirjaudu ulos Briarista jos paniikkinappia on painettu Poista tili Poista Briar tilisi jos paniikkinappia on painettu. Varoitus: Tämä tulee pysyvästi poistamaan sinun tunnukset, yhteystiedot ja viestit Poista Briarin asennus diff --git a/briar-android/src/main/res/values-fr/strings.xml b/briar-android/src/main/res/values-fr/strings.xml index 01f8ab291..c1cae7458 100644 --- a/briar-android/src/main/res/values-fr/strings.xml +++ b/briar-android/src/main/res/values-fr/strings.xml @@ -343,8 +343,8 @@ Aucune Confirmer l’application d’urgence Voulez-vous vraiment autoriser %1$s à déclencher les actions destructrices du bouton d’urgence ? - Déconnexion - Se déconnecter de Briar lorsqu’on appuie sur un bouton d’urgence + Déconnexion + Se déconnecter de Briar lorsqu’on appuie sur un bouton d’urgence Supprimer le compte Supprimer votre compte Briar lorsqu’on appuie sur un bouton d’urgence. Attention : cela supprimera définitivement vos identités, contacts et messages Désinstaller Briar diff --git a/briar-android/src/main/res/values-gl/strings.xml b/briar-android/src/main/res/values-gl/strings.xml index 7d7e338f3..9b3a6273d 100644 --- a/briar-android/src/main/res/values-gl/strings.xml +++ b/briar-android/src/main/res/values-gl/strings.xml @@ -341,8 +341,8 @@ Ningún Confirme a App do pánico Está segura de querer permitir a %1$s activar accións destrutivas do botón do pánico? - Finalizar sesión - Desconecte de Briar si o botón do pánico se preme + Finalizar sesión + Desconecte de Briar si o botón do pánico se preme Eliminar conta Elimina a súa conta en Briar si se preme o botón do pánico. Coidado: Esto eliminará permanentemente as súas identidade, contactos e mensaxes Desinstalar Briar diff --git a/briar-android/src/main/res/values-he/strings.xml b/briar-android/src/main/res/values-he/strings.xml index b66d106c5..d7bf70bd1 100644 --- a/briar-android/src/main/res/values-he/strings.xml +++ b/briar-android/src/main/res/values-he/strings.xml @@ -239,7 +239,7 @@ אבטחה סיסמא חדשה כלום - יציאה + יציאה מחק חשבון הודעות מערכת diff --git a/briar-android/src/main/res/values-hi/strings.xml b/briar-android/src/main/res/values-hi/strings.xml index 54cb1b0db..26ad56548 100644 --- a/briar-android/src/main/res/values-hi/strings.xml +++ b/briar-android/src/main/res/values-hi/strings.xml @@ -327,8 +327,8 @@ कुछ भी नहीं आतंक ऐप की पुष्टि करें क्या आप निश्चित हैं कि आप%1$s को विनाशकारी आतंक बटन क्रियाओं को ट्रिगर करने की अनुमति देना चाहते हैं? - साइन आउट - यदि कोई आतंक बटन दबाया जाता है तो बियर से साइन आउट करें + साइन आउट + यदि कोई आतंक बटन दबाया जाता है तो बियर से साइन आउट करें खाता हटा दो यदि आपका आतंक बटन दबाया गया हो तो अपने ब्रियर खाते को हटा दें। सावधानी: यह आपकी पहचान, संपर्क और संदेश को स्थायी रूप से हटा देगा बरिअर की स्थापना रद्द करें diff --git a/briar-android/src/main/res/values-it/strings.xml b/briar-android/src/main/res/values-it/strings.xml index fce549280..3d4d06b4c 100644 --- a/briar-android/src/main/res/values-it/strings.xml +++ b/briar-android/src/main/res/values-it/strings.xml @@ -343,8 +343,8 @@ Nessuno Conferma App Panico Sei sicuro di voler consentire %1$s di attivare le azioni distruttive del pulsante panico? - Esci - Uscire da Briar se viene premuto un pulsante di panico + Esci + Uscire da Briar se viene premuto un pulsante di panico Elimina Account Cancella il tuo account Briar se un panic button è premuto. Attenzione: ciò cancellerà permanentemente le tue identità, contatti e messaggi Disinstalla Briar diff --git a/briar-android/src/main/res/values-ja/strings.xml b/briar-android/src/main/res/values-ja/strings.xml index ac467e713..2514e51e9 100644 --- a/briar-android/src/main/res/values-ja/strings.xml +++ b/briar-android/src/main/res/values-ja/strings.xml @@ -114,7 +114,7 @@ パスワードの変更 新しいパスワードの確認 なし - サインアウト + サインアウト アカウントを削除 通知 diff --git a/briar-android/src/main/res/values-nb/strings.xml b/briar-android/src/main/res/values-nb/strings.xml index 700819d26..dd09db1e4 100644 --- a/briar-android/src/main/res/values-nb/strings.xml +++ b/briar-android/src/main/res/values-nb/strings.xml @@ -296,8 +296,8 @@ Inget Bekreft panikk-knapp-program Er du sikker på at du vil tillate %1$s å utløse destruktive panikk-knapp-handlinger? - Logg ut - Logg ut av Briar hvis panikk-knappen trykkes + Logg ut + Logg ut av Briar hvis panikk-knappen trykkes Slett konto Slett Briar-kontoen din hvis panikk-knappen trykkes. Advarsel: Dette vil slette dine identiteter, kontakter og meldinger for godt. Avinstaller Briar diff --git a/briar-android/src/main/res/values-nl/strings.xml b/briar-android/src/main/res/values-nl/strings.xml index 1125337a7..7e1551e8e 100644 --- a/briar-android/src/main/res/values-nl/strings.xml +++ b/briar-android/src/main/res/values-nl/strings.xml @@ -343,8 +343,8 @@ Geen Bevestig paniekapp Weet je zeker dat je wil toestaan dat %1$s destructieve paniekknopacties mag veroorzaken? - Log uit - Log uit op Briar als de paniekknop wordt ingedrukt. + Log uit + Log uit op Briar als de paniekknop wordt ingedrukt. Verwijder account Verwijder je Briar-account als een paniekknop wordt ingedrukt. Let op: Dit zal permanent je identiteit, contacten en berichten verwijderen. Deïnstalleer Briar diff --git a/briar-android/src/main/res/values-oc/strings.xml b/briar-android/src/main/res/values-oc/strings.xml index 6f1766e7a..4b40026c3 100644 --- a/briar-android/src/main/res/values-oc/strings.xml +++ b/briar-android/src/main/res/values-oc/strings.xml @@ -309,8 +309,8 @@ Volètz suprimir vòstre compte e ne crear un nòu ?\n Cap Confirmar l’aplicacion Urgéncia Sètz segur de voler autorizar %1$s a aviar las accions de destruccion del boton Urgéncia ? - Se desconnectar - Se desconnectar de Briar en apiejant lo boton Urgéncia ? + Se desconnectar + Se desconnectar de Briar en apiejant lo boton Urgéncia ? Suprimir lo compte Suprimir vòstre compte en apiejant lo boton Urgéncia. Mèfi, aquò escafarà per totjorn vòstra identitat, vòstres contactes e messatges. Desinstallar Briar diff --git a/briar-android/src/main/res/values-pl/strings.xml b/briar-android/src/main/res/values-pl/strings.xml index 92cf15a2c..51853e213 100644 --- a/briar-android/src/main/res/values-pl/strings.xml +++ b/briar-android/src/main/res/values-pl/strings.xml @@ -361,8 +361,8 @@ Brak Potwierdź Awaryjną Aplikację Czy na pewno chcesz pozwolić %1$s aby działała jako przycisk wyjścia awaryjnego? - Wyloguj się - Wyloguj się z Briar jeśli przycisk zostanie wciśnięty + Wyloguj się + Wyloguj się z Briar jeśli przycisk zostanie wciśnięty Skasuj Konto Skasuj Twoje konto Briar jeśli przycisk wyjścia awaryjnego zostanie wciśnięty. Ostrzeżenie: Ta akcja usunie permanentnie Twoje konto, kontakty i wiadomości Odinstaluj Briar diff --git a/briar-android/src/main/res/values-pt-rBR/strings.xml b/briar-android/src/main/res/values-pt-rBR/strings.xml index 812615bb4..7e89a075a 100644 --- a/briar-android/src/main/res/values-pt-rBR/strings.xml +++ b/briar-android/src/main/res/values-pt-rBR/strings.xml @@ -332,8 +332,8 @@ Nenhum Confirmar aplicativo de pânico Você tem certeza que quer permitir que %1$s ative ações destrutivas do botão de pânico? - Desconectar - Desconectar do Briar se o botão de pânico for apertado + Desconectar + Desconectar do Briar se o botão de pânico for apertado Apagar conta Apagar sua conta do Briar se o botão de pânico for apertado. Atenção: isso irá apagar permanentemente suas identidades, contatos e mensagens Desinstalar o Briar diff --git a/briar-android/src/main/res/values-ro/strings.xml b/briar-android/src/main/res/values-ro/strings.xml index c2aae2a1b..fac76c4a8 100644 --- a/briar-android/src/main/res/values-ro/strings.xml +++ b/briar-android/src/main/res/values-ro/strings.xml @@ -354,8 +354,8 @@ Nici una Confirmare aplicație de panică Sigur doriți să permiteți %1$s să declanșeze acțiuni destructive pentru butonul de panică? - Ieșire - Ieși din Briar dacă un buton de panică este apăsat + Ieșire + Ieși din Briar dacă un buton de panică este apăsat Șterge cont Ștergeți contul Briar dacă este apăsat buton de panică. Atenție: aceasta va șterge definitiv identitatea, contactele și mesajele dvs. Dezinstalare Briar diff --git a/briar-android/src/main/res/values-ru/strings.xml b/briar-android/src/main/res/values-ru/strings.xml index e62219035..a0fb21065 100644 --- a/briar-android/src/main/res/values-ru/strings.xml +++ b/briar-android/src/main/res/values-ru/strings.xml @@ -363,8 +363,8 @@ Нет Подтвердить приложение тревожной кнопки Вы уверены, что хотите разрешить %1$s запускать действия тревожной кнопки? - Выйти - Выйти из Briar, если нажата тревожная кнопка + Выйти + Выйти из Briar, если нажата тревожная кнопка Удалить аккаунт Удалить вашу учетную запись Briar при нажатии тревожной кнопки. Внимание: это необратимо удалит ваши идентификаторы, контакты и сообщения Удалить Briar diff --git a/briar-android/src/main/res/values-sq/strings.xml b/briar-android/src/main/res/values-sq/strings.xml index e2e905963..9bead86c3 100644 --- a/briar-android/src/main/res/values-sq/strings.xml +++ b/briar-android/src/main/res/values-sq/strings.xml @@ -343,8 +343,8 @@ Asnjë Ripohoni Aplikacion Paniku Jeni i sigurt se doni të lejohet %1$s të prodhojë veprime shkatërruese butoni paniku? - Dilni - Dil nga Briar-i nëse shtypet një buton paniku + Dilni + Dil nga Briar-i nëse shtypet një buton paniku Fshi Llogarinë Fshijeni llogarinë tuaj Briar, nëse shtypet një buton paniku. Kujdes: Kjo do të shkaktojë fshirjen e identiteteve, kontakteve dhe mesazheve tuaj Çinstalo Briar-in diff --git a/briar-android/src/main/res/values-sr/strings.xml b/briar-android/src/main/res/values-sr/strings.xml index 0dcd6cba8..7e93c1b8b 100644 --- a/briar-android/src/main/res/values-sr/strings.xml +++ b/briar-android/src/main/res/values-sr/strings.xml @@ -237,8 +237,8 @@ Ništa Potvrdi Panic App Jeste li sigurni da želite da dozvolite %1$s da pokrene destruktivne akcije panik dugmeta? - Izlogujte se - Izloguj se iz Briar-a ako je pritisnuto panik dugme + Izlogujte se + Izloguj se iz Briar-a ako je pritisnuto panik dugme Izbriši račun Izbriši Briar račun ako je panik dugme pritisnuto. Pažnja: Ovo će permanentno izbrisati vaše identitete, kontakte i poruke Deinstaliraj Briar diff --git a/briar-android/src/main/res/values-sv/strings.xml b/briar-android/src/main/res/values-sv/strings.xml index 2463668ad..49ef2ba62 100644 --- a/briar-android/src/main/res/values-sv/strings.xml +++ b/briar-android/src/main/res/values-sv/strings.xml @@ -129,8 +129,8 @@ Nytt lösenord Bekräfta nytt lösenord Ingen - Logga ut - Logga ut från Briar om panikknappen tryckts + Logga ut + Logga ut från Briar om panikknappen tryckts Radera kontot Avinstallera Briar diff --git a/briar-android/src/main/res/values-tr/strings.xml b/briar-android/src/main/res/values-tr/strings.xml index e93212819..295fd1d5d 100644 --- a/briar-android/src/main/res/values-tr/strings.xml +++ b/briar-android/src/main/res/values-tr/strings.xml @@ -264,8 +264,8 @@ Yok Panik Uygulaması Doğrulama %1$s kişisinin yıkıcı panik düğmesi eylemlerini tetiklemesine izin vermek istediğinizden emin misiniz? - Çıkış Yap - Panik Butonuna basıldığında Briar\'dan çıkış yap + Çıkış Yap + Panik Butonuna basıldığında Briar\'dan çıkış yap Hesabı Sil Bir panik düğmesine basıldığında Briar hesabınızı silin. Dikkat: Bu, kimliklerinizi, kayıtlarınızı ve iletilerinizi kalıcı olarak silecektir. Briar\'ı Kaldır diff --git a/briar-android/src/main/res/values-zh-rCN/strings.xml b/briar-android/src/main/res/values-zh-rCN/strings.xml index d1d43e92d..7dfa06f4a 100644 --- a/briar-android/src/main/res/values-zh-rCN/strings.xml +++ b/briar-android/src/main/res/values-zh-rCN/strings.xml @@ -333,8 +333,8 @@ 确认应急应用 是否允许 %1$s 触发破坏性应急开关反应? - 登出 - 触发应急开关时登出 Briar + 登出 + 触发应急开关时登出 Briar 删除账号 触发应急开关时删除您的账号。注意:您的身份、联系人和消息将会永久遗失。 卸载 Briar diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 1a3405de6..8a4101609 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -359,6 +359,7 @@ Security Screen Lock Use the device\'s screen lock to protect Briar while signed in + Set up a screen lock for your device to protect Briar while signed in Change password Current password New password @@ -373,8 +374,8 @@ None Confirm Panic App Are you sure that you want to allow %1$s to trigger destructive panic button actions? - Sign Out - Sign out of Briar if a panic button is pressed + Sign Out + Sign out of Briar if a panic button is pressed Delete Account Delete your Briar account if a panic button is pressed. Caution: This will permanently delete your identities, contacts and messages Uninstall Briar @@ -453,7 +454,6 @@ Enter your device PIN, pattern or password to continue Briar is locked Tap to unlock - Set up a screen lock for your device to protect Briar while signed in Lock diff --git a/briar-android/src/main/res/xml/panic_preferences.xml b/briar-android/src/main/res/xml/panic_preferences.xml index c9597b927..8d5ebc825 100644 --- a/briar-android/src/main/res/xml/panic_preferences.xml +++ b/briar-android/src/main/res/xml/panic_preferences.xml @@ -12,8 +12,8 @@ android:defaultValue="true" android:enabled="false" android:key="pref_key_lock" - android:summary="@string/lock_setting_summary" - android:title="@string/lock_setting_title"/> + android:summary="@string/panic_setting_signout_summary" + android:title="@string/panic_setting_signout_title"/>