diff --git a/app/src/main/java/com/beemdevelopment/aegis/CopyBehavior.java b/app/src/main/java/com/beemdevelopment/aegis/CopyBehavior.java new file mode 100644 index 0000000000..4b9b844e50 --- /dev/null +++ b/app/src/main/java/com/beemdevelopment/aegis/CopyBehavior.java @@ -0,0 +1,17 @@ +package com.beemdevelopment.aegis; + +public enum CopyBehavior { + NEVER, + SINGLETAP, + DOUBLETAP; + + private static CopyBehavior[] _values; + + static { + _values = values(); + } + + public static CopyBehavior fromInteger(int x) { + return _values[x]; + } +} diff --git a/app/src/main/java/com/beemdevelopment/aegis/Preferences.java b/app/src/main/java/com/beemdevelopment/aegis/Preferences.java index 9c7bd335f5..0b00966c54 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/Preferences.java +++ b/app/src/main/java/com/beemdevelopment/aegis/Preferences.java @@ -45,6 +45,22 @@ public Preferences(Context context) { if (getPasswordReminderTimestamp().getTime() == 0) { resetPasswordReminderTimestamp(); } + + migratePreferences(); + } + + public void migratePreferences() { + // Change copy on tap to copy behavior to new preference and delete the old key + String prefCopyOnTapKey = "pref_copy_on_tap"; + if (_prefs.contains(prefCopyOnTapKey)) { + + boolean isCopyOnTapEnabled = _prefs.getBoolean(prefCopyOnTapKey, false); + if (isCopyOnTapEnabled) { + setCopyBehavior(CopyBehavior.SINGLETAP); + } + + _prefs.edit().remove(prefCopyOnTapKey).apply(); + } } public boolean isTapToRevealEnabled() { @@ -448,8 +464,12 @@ public void setIsTimeSyncWarningEnabled(boolean enabled) { _prefs.edit().putBoolean("pref_warn_time_sync", enabled).apply(); } - public boolean isCopyOnTapEnabled() { - return _prefs.getBoolean("pref_copy_on_tap", false); + public CopyBehavior getCopyBehavior() { + return CopyBehavior.fromInteger(_prefs.getInt("pref_current_copy_behavior", 0)); + } + + public void setCopyBehavior(CopyBehavior copyBehavior) { + _prefs.edit().putInt("pref_current_copy_behavior", copyBehavior.ordinal()).apply(); } public boolean isMinimizeOnCopyEnabled() { diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java index 223a15ed9f..1708fdffa0 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java @@ -35,6 +35,7 @@ import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.SearchView; +import com.beemdevelopment.aegis.CopyBehavior; import com.beemdevelopment.aegis.AccountNamePosition; import com.beemdevelopment.aegis.Preferences; import com.beemdevelopment.aegis.R; @@ -140,7 +141,7 @@ protected void onCreate(Bundle savedInstanceState) { _entryListView.setTapToRevealTime(_prefs.getTapToRevealTime()); _entryListView.setSortCategory(_prefs.getCurrentSortCategory(), false); _entryListView.setViewMode(_prefs.getCurrentViewMode()); - _entryListView.setIsCopyOnTapEnabled(_prefs.isCopyOnTapEnabled()); + _entryListView.setCopyBehavior(_prefs.getCopyBehavior()); _entryListView.setPrefGroupFilter(_prefs.getGroupFilter()); FloatingActionButton fab = findViewById(R.id.fab); @@ -278,7 +279,7 @@ private void onPreferencesResult(Intent data) { boolean tapToReveal = _prefs.isTapToRevealEnabled(); int tapToRevealTime = _prefs.getTapToRevealTime(); ViewMode viewMode = _prefs.getCurrentViewMode(); - boolean copyOnTap = _prefs.isCopyOnTapEnabled(); + CopyBehavior copyBehavior = _prefs.getCopyBehavior(); _entryListView.setAccountNamePosition(accountNamePosition); _entryListView.setShowIcon(showIcons); _entryListView.setCodeGroupSize(codeGroupSize); @@ -287,7 +288,7 @@ private void onPreferencesResult(Intent data) { _entryListView.setTapToReveal(tapToReveal); _entryListView.setTapToRevealTime(tapToRevealTime); _entryListView.setViewMode(viewMode); - _entryListView.setIsCopyOnTapEnabled(copyOnTap); + _entryListView.setCopyBehavior(copyBehavior); _entryListView.refresh(true); } } diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/fragments/preferences/BehaviorPreferencesFragment.java b/app/src/main/java/com/beemdevelopment/aegis/ui/fragments/preferences/BehaviorPreferencesFragment.java index 83a7991ca6..47646418f1 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/fragments/preferences/BehaviorPreferencesFragment.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/fragments/preferences/BehaviorPreferencesFragment.java @@ -2,9 +2,12 @@ import android.os.Bundle; +import androidx.appcompat.app.AlertDialog; import androidx.preference.Preference; +import com.beemdevelopment.aegis.CopyBehavior; import com.beemdevelopment.aegis.R; +import com.beemdevelopment.aegis.ui.dialogs.Dialogs; public class BehaviorPreferencesFragment extends PreferencesFragment { private Preference _entryPausePreference; @@ -14,9 +17,24 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { super.onCreatePreferences(savedInstanceState, rootKey); addPreferencesFromResource(R.xml.preferences_behavior); - Preference copyOnTapPreference = requirePreference("pref_copy_on_tap"); - copyOnTapPreference.setOnPreferenceChangeListener((preference, newValue) -> { - getResult().putExtra("needsRefresh", true); + int currentCopyBehavior = _prefs.getCopyBehavior().ordinal(); + Preference copyBehaviorPreference = requirePreference("pref_copy_behavior"); + copyBehaviorPreference.setSummary(String.format("%s: %s", getString(R.string.selected), getResources().getStringArray(R.array.copy_behavior_titles)[currentCopyBehavior])); + copyBehaviorPreference.setOnPreferenceClickListener(preference -> { + int currentCopyBehavior1 = _prefs.getCopyBehavior().ordinal(); + + Dialogs.showSecureDialog(new AlertDialog.Builder(requireContext()) + .setTitle(getString(R.string.choose_copy_behavior)) + .setSingleChoiceItems(R.array.copy_behavior_titles, currentCopyBehavior1, (dialog, which) -> { + int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition(); + _prefs.setCopyBehavior(CopyBehavior.fromInteger(i)); + copyBehaviorPreference.setSummary(String.format("%s: %s", getString(R.string.selected), getResources().getStringArray(R.array.copy_behavior_titles)[i])); + getResult().putExtra("needsRefresh", true); + dialog.dismiss(); + }) + .setNegativeButton(android.R.string.cancel, null) + .create()); + return true; }); diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryAdapter.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryAdapter.java index 98a049f4dc..c3ff1ae801 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryAdapter.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryAdapter.java @@ -10,12 +10,14 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; +import android.view.ViewConfiguration; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.beemdevelopment.aegis.CopyBehavior; import com.beemdevelopment.aegis.AccountNamePosition; import com.beemdevelopment.aegis.R; import com.beemdevelopment.aegis.Preferences; @@ -46,7 +48,7 @@ public class EntryAdapter extends RecyclerView.Adapter private List _selectedEntries; private Map _usageCounts; private VaultEntry _focusedEntry; - private VaultEntry _copiedEntry; + private VaultEntry _clickedEntry; private Preferences.CodeGrouping _codeGroupSize; private AccountNamePosition _accountNamePosition; private boolean _showIcon; @@ -54,7 +56,7 @@ public class EntryAdapter extends RecyclerView.Adapter private boolean _tempHighlightEntry; private boolean _tapToReveal; private int _tapToRevealTime; - private boolean _copyOnTap; + private CopyBehavior _copyBehavior; private List _groupFilter; private SortCategory _sortCategory; private ViewMode _viewMode; @@ -62,6 +64,7 @@ public class EntryAdapter extends RecyclerView.Adapter private boolean _isPeriodUniform = true; private int _uniformPeriod = -1; private Handler _dimHandler; + private Handler _doubleTapHandler; private boolean _pauseFocused; // keeps track of the EntryHolders that are currently bound @@ -74,6 +77,7 @@ public EntryAdapter(EntryListView view) { _groupFilter = new ArrayList<>(); _holders = new ArrayList<>(); _dimHandler = new Handler(); + _doubleTapHandler = new Handler(); _view = view; } @@ -112,9 +116,7 @@ public void setTempHighlightEntry(boolean highlightEntry) { _tempHighlightEntry = highlightEntry; } - public void setIsCopyOnTapEnabled(boolean enabled) { - _copyOnTap = enabled; - } + public void setCopyBehavior(CopyBehavior copyBehavior) { _copyBehavior = copyBehavior; } public void setPauseFocused(boolean pauseFocused) { _pauseFocused = pauseFocused; @@ -436,26 +438,36 @@ public void onClick(View v) { boolean handled = false; if (_selectedEntries.isEmpty()) { - boolean copiedThisClick = false; - - if (_copyOnTap && !entryHolder.isHidden() && !(entry == _copiedEntry)) { - _view.onEntryCopy(entry); - entryHolder.animateCopyText(); - _copiedEntry = entry; - copiedThisClick = true; - handled = true; - } - if (_highlightEntry || _tempHighlightEntry || _tapToReveal) { - if (_focusedEntry == entry && !copiedThisClick) { + if (_focusedEntry == entry) { resetFocus(); - _copiedEntry = null; - handled = true; + + // Prevent copying when singletap is set and focus is reset + handled = _copyBehavior == CopyBehavior.SINGLETAP; } else { focusEntry(entry, _tapToRevealTime); } - } else { - _copiedEntry = null; + } + + switch (_copyBehavior) { + case SINGLETAP: + if (!handled) { + _view.onEntryCopy(entry); + entryHolder.animateCopyText(); + _clickedEntry = null; + } + break; + case DOUBLETAP: + _doubleTapHandler.postDelayed(() -> _clickedEntry = null, ViewConfiguration.getDoubleTapTimeout()); + + if(entry == _clickedEntry) { + _view.onEntryCopy(entry); + entryHolder.animateCopyText(); + _clickedEntry = null; + } else { + _clickedEntry = entry; + } + break; } incrementUsageCount(entry); diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java index e13601c64e..a33103c153 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryListView.java @@ -23,6 +23,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.beemdevelopment.aegis.CopyBehavior; import com.beemdevelopment.aegis.AccountNamePosition; import com.beemdevelopment.aegis.Preferences; import com.beemdevelopment.aegis.R; @@ -174,8 +175,8 @@ public void setIsLongPressDragEnabled(boolean enabled) { _touchCallback.setIsLongPressDragEnabled(enabled && _adapter.isDragAndDropAllowed()); } - public void setIsCopyOnTapEnabled(boolean enabled) { - _adapter.setIsCopyOnTapEnabled(enabled); + public void setCopyBehavior(CopyBehavior copyBehavior) { + _adapter.setCopyBehavior(copyBehavior); } public void setActionModeState(boolean enabled, VaultEntry entry) { diff --git a/app/src/main/res/values-ar-rSA/strings.xml b/app/src/main/res/values-ar-rSA/strings.xml index 71019f4b2e..08e662947d 100644 --- a/app/src/main/res/values-ar-rSA/strings.xml +++ b/app/src/main/res/values-ar-rSA/strings.xml @@ -283,8 +283,6 @@ يسهل تمييز الرموز عن بعضها بتسليط الضوء عليهم عندما يتم النقر عليهم تصغير عند النسخ تصغير التطبيق بعد نسخ رمز - انسخ الرموز عندما تنُقر - نسخ الرموز إلى الحافظ عندما يتم النقر عليهم تجميد الرموز عند النقر عليها أدخل كلمة المرور لتفعيل لوحة مفاتيح PIN. لاحظ أن هذا يعمل فقط إذا كانت كلمة المرور الخاصة بك تتكون فقط من أرقام خطأ في تفعيل لوحة مفاتيح PIN diff --git a/app/src/main/res/values-ast-rES/strings.xml b/app/src/main/res/values-ast-rES/strings.xml index 6f7652edb8..fef8dac9bc 100644 --- a/app/src/main/res/values-ast-rES/strings.xml +++ b/app/src/main/res/values-ast-rES/strings.xml @@ -287,8 +287,6 @@ Fai que los pases s\'estremen meyor al rescamplalos temporalmente cuando toques nellos Minimizar al copiar Minimiza l\'aplicación dempués de copiar un pase - Copiar los pases al tocalos - Copia los pases nel cartafueyu cuando toques nellos Paralizar los pases al tocalos Posa l\'anovamientu automáticu de los pases al tocar nellos y, polo tanto, nun s\'anueven mentanto tengan el focu. Esta opción rique l\'activación de les opciones «Rescamplar los pases al tocalos» o «Tocar pa desvelar». Activa la contraseña p\'activar el tecláu numbéricu. Decátate qu\'esta opción namás funciona si la contraseña ta formada namás por númberos diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 6d8bc39403..1a807a23da 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -197,8 +197,6 @@ Управлявайте и изтривайте групите си тук Акцентирайте токените при докосване Направете токените по-лесни за различаване един от друг, като ги маркирате временно, когато ги докоснете - Копирайте жетоните при докосване - Копирайте токени в клипборда, като ги докоснете Въведете паролата си, за да активирате PIN клавиатурата. Имайте предвид, че това работи само ако вашата парола се състои само от цифри Грешка при активиране на PIN клавиатурата Не е възможно да зададете PIN клавиатура. Паролата ви трябва да се състои само от цифри. diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index 28316280c3..a7d5846b5f 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -287,8 +287,6 @@ Fes les fitxes més fàcils de distingir de la resta il·luminant-les temporalment quan les toquis Minimitzar al copiar Minimitzar l\'aplicació després de copiar un token - Copia la fitxa al tocar - Copia les fitxes al porta-retalls al tocar-les Congela la fitxa al tocar Pausa l\'actualització automàtica de la fitxa al tocar-la. No s\'actualitzará mentre estigui marcada. Cal tenir \"Il·lumina les fitxes al tocar\" o \"Toca per a mostrar\". Introdueix la teva contrasenya per a activar el teclat PIN. Això només funcionarà si la contrasenya només té dígits diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index e842082014..ff88e1a1f2 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -308,8 +308,6 @@ Usnadnit vzájemné rozlišení tokenů dočasným zvýrazněním po kleputí Minimalizovat při kopírování Minimalizovat aplikaci po zkopírování tokenu - Zkopírovat tokeny po klepnutí - Zkopírovat tokeny do schránky po klepnutí na ně Zmrazit tokeny po klepnutí Pozastavit automatické obnovování tokenů klepnutím na ně. Tokeny nebudou aktualizovány, dokud jsou zaměřeny. Vyžaduje \"Zvýraznit tokeny po klepnutí\" nebo \"Klepnutím zobrazit\". Zadejte své heslo pro povolení PIN klávesnice. Toto funguje jen pokud používáte číselné heslo. diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 864b601e80..25c3e04890 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -292,8 +292,6 @@ Gør tokens lettere at skelne fra hinanden ved midlertidigt at fremhæve dem, når der trykkes på dem Minimér under kopiering Minimér appen efter kopiering af et token - Kopier tokens ved tryk - Kopier tokens til udklipsholderen ved at trykke på dem Frys tokens ved tryk Pausér automatisk opdatering af tokens ved at trykke på dem. Tokens opdateres ikke, så længe de er fokuseret. Kræver \"Fremhæv tokens ved tryk\" eller \"Tryk for at afsløre\". Indtast din adgangskode for at aktivere PIN-tastaturet. Bemærk at dette kun virker, hvis din adgangskode kun består af tal diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 935ed598a3..af9c3bc981 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -292,8 +292,6 @@ Token beim Antippen hervorheben, um sie leichter voneinander unterscheiden zu können Beim Kopieren minimieren App nach dem Kopieren eines Tokens minimieren - Token beim Tippen kopieren - Token beim Antippen in die Zwischenablage kopieren Token beim Tippen einfrieren Automatische Aktualisierung von Token durch Antippen stoppen. Die Token werden nicht aktualisiert, solange sie hervorgehoben sind. Erfordert »Token beim Tippen hervorheben« oder »Zum Aufdecken tippen«. Gib dein Passwort ein, um die PIN-Tastatur zu aktivieren. Beachte, dass dies nur funktioniert, wenn dein Passwort nur aus Zahlen besteht diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index da91abaf25..c10efa1269 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -292,8 +292,6 @@ Κάνετε τα αναγνωριστικά να ξεχωρίζουν ευκολότερα το ένα από το άλλο, επισημαίνοντας τα προσωρινά όταν τα πατήσετε Ελαχιστοποίηση κατά την αντιγραφή Ελαχιστοποίηση της εφαρμογής μετά την αντιγραφή ενός αναγνωριστικού - Αντιγράψτε τα αναγνωριστικά όταν τα πατάτε - Αντιγράψτε τα αναγνωριστικά στο πρόχειρο πατώντας τα Πάγωμα αναγνωριστικών όταν πατηθούν Παύση της αυτόματης ανανέωσης των αναγνωριστικών πατώντας τα. Τα αναγνωριστικά δεν θα ενημερώνονται όσο είναι συγκεντρωμένα. Απαιτεί \"Επισήμανση αναγνωριστικών όταν πατηθούν\" ή \"Πατήστε για αποκάλυψη\". Εισαγάγετε τον κωδικό πρόσβασής σας για να ενεργοποιήσετε το πληκτρολόγιο PIN. Λάβετε υπόψη ότι αυτό λειτουργεί μόνο εάν ο κωδικός πρόσβασής σας αποτελείται μόνο από αριθμούς diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 5d5615f557..0b0f9683aa 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -292,8 +292,6 @@ Hace que los tokens sean más fáciles de distinguir entre ellos resaltándolos temporalmente tras ser pulsados Minimizar al copiar Minimiza la app después de copiar un token - Copiar tokens al pulsarlos - Copia los tokens al portapapeles al pulsarlos Congelar tokens al tocarlos Pausa la recarga automática de los tokens tocándolos. Las tokens no se actualizarán mientras estén enfocadas. Requiere \"Resaltar tokens al pulsarlos\" o \"Pulsar para mostrar\". Introduzca su contraseña para activar el teclado PIN. Tenga en cuenta que esto solo funciona si su contraseña contiene únicamente números diff --git a/app/src/main/res/values-eu-rES/strings.xml b/app/src/main/res/values-eu-rES/strings.xml index 68c63610e4..9bf7271615 100644 --- a/app/src/main/res/values-eu-rES/strings.xml +++ b/app/src/main/res/values-eu-rES/strings.xml @@ -287,8 +287,6 @@ Egin elkarrengandik errazago bereizten diren tokenak, sakatzen dituzunean aldi baterako nabarmenduz Txikitu kopiatzean Aplikazioa txikitu tokena kopiatutakoan - Kopiatu tokenak ukitzean - Kopiatu tokenak arbelean beraiek ukituta Izoztu tokenak ukitzean Gelditu tokenak automatikoki freskatzea beraietan sakatzean. Tokenak ez dira eguneratuko ukitzen ez badituzu. \"Nabarmendu tokenak ukitzean\" edo \"Sakatu erakusteko\" aukeratuta izatea eskatzen du. Sartu pasahitza PIN teklatua gaitzeko. Kontuan izan honek zure pasahitzak zenbakiak soilik baditu funtzionatzen duela diff --git a/app/src/main/res/values-fa-rIR/strings.xml b/app/src/main/res/values-fa-rIR/strings.xml index 2cc61ea862..98aad38892 100644 --- a/app/src/main/res/values-fa-rIR/strings.xml +++ b/app/src/main/res/values-fa-rIR/strings.xml @@ -215,8 +215,6 @@ اینجا می‌توانید گروه ها را مدیریت و یا حذف کنید توکن ها پس از لمس هایلایت شوند برای تمیز دادن توکن مورد نظر از بقیه می‌توانید آنها را به صورت موقت با لمس کردن هایلایت کنید - کپی توکن هنگام لمس آنها - کپی کردن توکن ها در کلیپ‌بورد با لمس آنها کلمه عبور خود را برای فعال کردن صفحه کلید شماره‌ای وارد کنید. این ویژگی فقط برای کلمه عبور های شامل فقط عدد کاربرد دارد خطا در فعال کردن صفحه کلید شماره‌ای امکان فعال صفحه کلید شماره‌ای نیست. کلمه عبور شما باید فقط شامل عدد باشد. diff --git a/app/src/main/res/values-fi-rFI/strings.xml b/app/src/main/res/values-fi-rFI/strings.xml index 3324aa4097..86ae934cd7 100644 --- a/app/src/main/res/values-fi-rFI/strings.xml +++ b/app/src/main/res/values-fi-rFI/strings.xml @@ -289,8 +289,6 @@ Tee todennuskoodeista helpompi erottaa toisistaan korostamalla niitä tilapäisesti napauttamalla Pienennä kopioidessa Pienennä sovellus todennuskoodin kopioinnin jälkeen - Kopioi todennuskoodeja napauttamalla - Kopioi todennuskoodit leikepöydälle napauttamalla niitä Jäädytä todennuskoodit napauttamalla Keskeytä todennuskoodien automaattinen päivitys napauttamalla niitä. Todennuskoodit eivät päivity automaattisesti, niin kauan kun ne ovat valittuina. Vaatii \"Korosta todennuskoodit napauttamalla\" tai \"Paljasta napauttamalla\" -asetusten käyttöönottoa. Ota PIN-näppäimistö käyttöön antamalla salasanasi. Tämä toimii vain, jos salasanasi koostuu pelkästään numeroista diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 328f7a5099..6627ac943a 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -292,8 +292,6 @@ Rendre les jetons plus faciles à distinguer les uns des autres en les surlignant temporairement lorsqu\'ils sont appuyés Minimiser lors de la copie Minimiser l\'application après avoir copié un jeton - Copier les jetons quand ils sont appuyés - Copier les jetons dans le presse-papier en appuyant dessus Geler les jetons lorsqu\'ils sont appuyés Mettre en pause l\'actualisation automatique des jetons en appuyant dessus. Les jetons ne seront plus mis à jour tant qu\'ils seront ciblés. Nécessite « Surligner les jetons lorsqu\'ils sont appuyés » ou « Appuyer pour révéler ». Saisissez votre mot de passe pour activer le clavier PIN. Notez que cela ne fonctionne que si votre mot de passe est composé uniquement de chiffres diff --git a/app/src/main/res/values-gl-rES/strings.xml b/app/src/main/res/values-gl-rES/strings.xml index bf18c5abe7..9e61097edf 100644 --- a/app/src/main/res/values-gl-rES/strings.xml +++ b/app/src/main/res/values-gl-rES/strings.xml @@ -287,8 +287,6 @@ Resalta temporalmente os tokens cando se preman para podelos distinguir máis facilmente Minimizar ao copiar Minimiza a aplicación despois de copiar un token - Copiar tokens ao premelos - Copia os tokens no portapapeis cando se prema neles Conxelar tokens ao premelos Pausa a actualización automática dos tokens ao premer neles. Os tokens non se actualizarán mentres teñan o foco. Require \"Resaltar tokens ao premelos\" ou \"Tocar para mostrar\". Introduce o teu contrasinal para activar o teclado do PIN. Ten en conta que isto só funciona se o teu contrasinal consiste só de números diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 0a2573de83..5da2091eab 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -240,8 +240,6 @@ खाली करें टैप करने पर टोकन हाइलाइट करें टैप करने पर टोकनों को एक दूसरे से अलग उजागर करने के लिए उन्हें अस्थायी रूप से हाईलाइट करें - टैप करने पर टोकनों को कॉपी करें - टोकानों पर टैप करके क्लिपबोर्ड में कॉपी करें टैप किए जाने पर टोकन फ़्रीज़ करें टोकन को टैप करके उनके स्वचालित रीफ़्रेश को रोकें। जब तक वे केंद्रित हैं तब तक टोकन अपडेट नहीं होंगे। \"टैप किए जाने पर टोकन हाइलाइट करें\" या \"प्रकट करने के लिए टैप करें\" की आवश्यकता है। पिन कीबोर्ड को सक्षम करने के लिए अपना पासवर्ड दर्ज करें। ध्यान दें कि यह केवल तभी काम करता है जब आपके पासवर्ड में केवल संख्याएँ हों diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index 07ff98e3e3..2723c0266f 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -223,8 +223,6 @@ Törlés Tokenek kiemelése koppintáskor A tokenek könnyebb megkülönböztethetősége érdekében ideiglenesen ki lesznek emeve koppintáskor - Tokenek másolása érintéskor - Tokenek másolása a vágólapra érintéskor Tokenek megállítása érintéskor Tokenek automata frissítéséhez érintse meg őket. Tokenek nem frissülnek addig míg fókuszban vannak. Szükséges a \"Tokenek kiemelése érintéskor\" vagy \"Érintéskor felfedés\" opció. Írja be jelszavát a PIN billentyű bekapcsolásához. Ez csak akkor működik, ha jelszava csak számokból áll diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index 84a4c58ea2..841b521aeb 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -242,8 +242,6 @@ Bersihkan Sorot token saat disentuh Jadikan token untuk lebih mudah dibedakan satu sama lain dengan menyorotnya saat disentuh - Salin token saat disentuh - Salin token ke clipboard dengan mengetuknya Bekukan token ketika disentuh Hentikan penyegaran otomatis token dengan menyentuh mereka. Token tidak akan diperbarui selama mereka difokuskan. Membutuhkan \"Sorot token saat disentuh\" atau \"Sentuh untuk melihat.\" Masukkan kata sandi Anda untuk mengaktifkan keyboard PIN. Perhatikan bahwa ini hanya berfungsi jika kata sandi Anda hanya terdiri dari angka diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 68c773e7d2..cb2ba55193 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -292,8 +292,6 @@ Rendi i token più facili da distinguere, evidenziandoli temporaneamente quando vengono toccati Minimizza alla copia Minimizza l\'app dopo aver copiato un token - Copia i token con un tocco - Copia i token negli appunti toccandoli Blocca i token con un tocco Metti in pausa l\'aggiornamento automatico dei token toccandoli. I token non si aggiorneranno finché sono evidenziati. Richiede \"Evidenzia i token al tocco\" o \"Tocca per mostrare\". Inserisci la password per abilitare la tastiera PIN. Funziona solo se la password è composta di soli numeri diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index edc0f4ee5a..2417894d0d 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -285,8 +285,6 @@ הפוך אסימונים לקלים יותר להבחנה זה מזה על-ידי הדגשתם באופן זמני בעת הקשה עליהם מזעור בהעתקה מזעור האפליקציה לאחר העתקת אסימון - העתקת אסימונים בעת הקשה - העתקת אסימונים ללוח על-ידי הקשה עליהם הקפאת טוקנים בעת הקשה השהה רענון אוטומטי של אסימונים על-ידי הקשה עליהם. אסימונים לא יתעדכנו כל עוד הם ממוקדים. דורש \"סמן אסימונים בעת הקשה\" או \"הקש כדי לחשוף\". הזן את הסיסמה שלך כדי להפעיל את מקלדת ה- PIN. שים לב שזה עובד רק אם הסיסמה שלך מורכבת ממספרים בלבד diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index fd52a681d4..879d49efe8 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -284,8 +284,6 @@ タップ時に一時的に強調表示することで、トークンが互いに区別しやすくなります。 コピー時に最小化 トークンをコピーした後にアプリを最小化する - タップ時にトークンをコピー - トークンをタップしてクリップボードにコピーする タップ時にトークンの更新を停止 トークンをタップすると、トークンの自動更新を一時停止します。フォーカスされている限り、トークンは更新されません。 「タップ時にトークンを強調表示する」または「タップして表示」の設定が必要です。 PINキーボードを有効にするにはパスワードを入力してください。これはパスワードが数字のみで構成されている場合にのみ機能します。 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 234ba8f124..f3071a8dfa 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -210,8 +210,6 @@ Išvalyti Bakstelėjus, paryškinti prieigos raktus Bakstelėjus ant prieigos raktų, laikinai juos paryškinti ir padaryti taip, kad juos būtų lengviau atskirti - Bakstelėjus, kopijuoti prieigos raktus - Bakstelėjus ant prieigos raktų, kopijuoti juos į iškarpinę Norėdami įjungti PIN kodo klaviatūrą, įveskite slaptažodį. Turėkite omenyje, jog tai veikia tik tuo atveju, jei jūsų slaptažodis yra sudarytas tik iš skaitmenų Klaida įjungiant PIN kodo klaviatūrą Neįmanoma nustatyti PIN kodo klaviatūros. Jūsų slaptažodis privalo būti sudarytas tik iš skaitmenų. diff --git a/app/src/main/res/values-lv-rLV/strings.xml b/app/src/main/res/values-lv-rLV/strings.xml index 4a7b492105..cb647166cd 100644 --- a/app/src/main/res/values-lv-rLV/strings.xml +++ b/app/src/main/res/values-lv-rLV/strings.xml @@ -300,8 +300,6 @@ Padarīt kodus vieglāk atšķiramus citu no cita, īslaicīgi izceļot tos, kad tiem piesit Samazināt pēc ievietošanas starpliktuvē Samazināt lietotni pēc koda ievietošanas starpliktuvē - Ievietot kodus starpliktuvē, kad piesit - Ievietot kodus starpliktuvē, piesitot tiem Iesaldēt kodus pēc piesišanas tiem Apturēt kodu atsvaidzināšanu, kad piesit. Kods netiks atjaunots, kamēr vien tas ir izcelts. Ir nepieciešams ieslēgt iestatījumu \"Izcelt kodus, kad piesit\" vai \"Piesist, lai atklātu\". Jāievada parole, lai iespējotu PIN tastatūru. Jāņem vērā, ka tā darbojas tikai tad, ja parole sastāv tikai no cipariem diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 41612665e5..52f5fd4fa9 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -292,8 +292,6 @@ Maak codes makkelijker te onderscheiden van elkaar door ze tijdelijk te markeren na het aantikken Minimaliseren na kopiëren Na kopiëren van een code de app minimaliseren - Codes kopiëren bij aantikken - Codes naar het klembord kopiëren door ze te aan te tikken Codes bevriezen na aantikken Pauzeer automatisch verversen van codes door erop te tikken. Codes zullen niet worden bijgewerkt zolang ze gefocust zijn. Vereist \"Codes markeren na aantikken\" of \"Aantikken om te laten zien\". Voer je wachtwoord in om het PIN-toetsenbord in te schakelen. Let op: dit werkt alleen als je wachtwoord uit cijfers bestaat diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index ef5fcd9f09..fea2f6adfc 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -308,8 +308,6 @@ Wyróżnij tokeny od siebie poprzez tymczasowe podświetlenie po ich kliknięciu Zminimalizuj przy skopiowaniu Zminimalizuj aplikację po skopiowaniu tokenu - Kopiuj tokeny podczas kliknięcia - Kopiuj tokeny do schowka podczas kliknięcia Zamroź tokeny po naciśnięciu Wstrzymaj automatyczne odświeżanie tokenów poprzez dotknięcie ich. Tokeny nie będą aktualizowane tak długo, jak długo są podświetlone. Wymaga \"Podświetl tokeny podczas kliknięcia\" lub \"Kliknij, aby odkryć\". Wpisz hasło, aby włączyć klawiaturę numeryczną. Pamiętaj, że ta klawiatura działa tylko dla hasła numerycznego diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a36ffba811..9aa57b339f 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -292,8 +292,6 @@ Torna tokens mais fáceis de distinguir dos outros destacando eles temporariamente quando tocados Minimizar ao copiar Minimizar o aplicativo após copiar um token - Copiar tokens quando tocados - Copia tokens para área de transferência quando tocados Congelar tokens quando tocados Pausa a atualização automática dos tokens ao tocá-los. Tokens não serão atualizados desde que o foco esteja neles. Requer \"Destacar tokens quando tocados\" ou \"Tocar para exibir\". Digite sua senha para ativar o teclado PIN. Observe que isso só funciona se a sua senha for constituída apenas por números diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 47d18bf22b..cf00e239e4 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -170,8 +170,6 @@ Gerenciar e excluir seus grupos aqui Destacar tokens quando tocados Faça com que os tokens sejam mais fáceis de distinguir um do outro destacando-os temporariamente ao tocá-los - Copiar tokens quando tocados - Copia tokens para área de transferência quando tocados Digite sua senha para ativar o teclado PIN. Observe que isso só funciona se a sua senha for constituída apenas por números Erro ao habilitar o teclado PIN Não é possível configurar o teclado PIN. A sua senha deve ser composta apenas por números. diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index db513805e5..c24b394395 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -296,8 +296,6 @@ Fă token-urile mai ușor să se distingă între ele prin evidențierea lor temporară atunci când sunt apăsate Minimizează după copiere Minimizează aplicația după copierea unui token - Copiază token-urile când apeși - Copiază token-urile în clipboard apăsându-le Îngheață jetoanele când sunt apăsate Oprește reîmprospătarea automată a jetoanelor prin apăsarea lor. Token-urile nu se vor actualiza atâta timp cât sunt evidențiate. Necesită \"Evidențierea tokenurilor atunci când sunt apasate\" sau \"Atinge pentru a arăta\". Introdu parola pentru a activa tastatura PIN. Reține că aceasta funcționează doar dacă parola constă doar din numere diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index bf62a1f16a..83852833e0 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -308,8 +308,6 @@ Сделать ключи более различимыми, временно выделяя их при нажатии Сворачивать при копировании Сворачивать приложение после копирования ключа - Копировать ключи при нажатии - Копировать ключи в буфер обмена при нажатии на них Замораживать ключи при нажатии Приостановить автоматическое обновление ключей принажатии на них. Ключи не будут обновляться до тех пор, пока отображаются. Для обновления потребуется «Выделять ключи при нажатии» или «Отображение по нажатию». Введите свой пароль, чтобы включить PIN-клавиатуру. Обратите внимание, что это работает, только если ваш пароль состоит из цифр. diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index 8ea57b1bfc..494bbdaff3 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -180,7 +180,6 @@ Zvýrazniť tokeny po klepnutí Minimalizovať pri kopírovaní Minimalizujte aplikáciu po skopírovaní tokenu - Po klepnutí skopírujte tokeny Zvolené Tmavá téma Svetlá téma diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 0169170491..7c1e3dc0c6 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -292,8 +292,6 @@ Gör polletterna lättare att särskilja från varandra genom att tillfälligt markera dem vid tryck Minimera vid kopiering Minimerar appen efter att en pollett har kopierats - Kopiera polletter vid tryck - Kopiera polletterna till urklipp genom att trycka på dem Frys polletter vid tryck Pausa automatisk uppdatering av polletterna genom att trycka på dem. Polletterna kommer inte att uppdateras så länge som de är i fokus. Kräver \"Markera polletter vid tryck\" eller \"Tryck för att visa\". Ange ditt lösenord för att aktivera pinkodstangentbordet. Observera att detta bara fungerar om ditt lösenord endast består av siffror. diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index e853f756e8..a9d806e656 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -292,8 +292,6 @@ Kodların birbirlerinden ayırt edilmelerini kolaylaştırmak için geçici olarak belirginleştir Kopyalarken simge durumuna küçült Bir anahtarı kopyaladıktan sonra uygulamayı simge durumuna küçültün - Dokunulduğunda güvenlik belirteçlerini kopyala - Güvenlik belirteçlerine dokunarak panoya kopyala Dokunulduğunda kodların yenilenmesini önle Kodlara dokunarak yenilenmelerini önleyin. Odakta oldukları sürece kodlar yenilenmeyecektir. \"Dokunulan kodları belirt\" veya \"Görmek için dokunun\" açık olmasını gerektirir. PIN klavyesini etkinleştirmek için şifrenizi girin. Bu şifreniz yalnızca rakamlardan oluşuyorsa çalışır diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index 69b2841e42..ae18023800 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -301,8 +301,6 @@ Підсвічувати токени при натисканні для того, щоб їх було легше відрізнити один від одного Згортати при копіюванні Згортати додаток після копіювання токена - Копіювати токени при натисканні - Копіювати токени в буфер обміну при натиску на них Заморожувати токени при натисканні Призупиніть автоматичне оновлення токенів, натиснувши на них. Токени не будуть оновлюватися, поки вони підсвічені. Потребує увімкненої опції \"Підсвічувати токени при натисканні\", або \"Безпека -> Показувати після дотику\". Введіть свій пароль, щоб увімкнути PIN-клавіатуру. Зауважте, що це можливо лише, якщо ваш пароль складається виключно з цифр diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml index cc93905402..764cdf7b4d 100644 --- a/app/src/main/res/values-vi-rVN/strings.xml +++ b/app/src/main/res/values-vi-rVN/strings.xml @@ -250,8 +250,6 @@ Xoá Đánh dấu các token khi được nhấn vào Làm cho các token dễ phân biệt với nhau hơn bằng cách tạm thời đánh dấu chúng khi được nhấn vào - Sao chép các token khi được nhấn vào - Sao chép các token vào bộ nhớ tạm bằng cách nhấn vào chúng Đóng băng các token khi được nhấn vào Tạm dừng làm mới tự động các token bằng cách nhấn vào chúng. Các token sẽ không cập nhật khi chúng được tập trung vào. Bắt buộc phải có \"Đánh dấu các token khi được nhấn vào\" hoặc \"Nhấn để hiện ra\". Nhập mật khẩu để bật bàn phím mã PIN. Lưu ý rằng việc này chỉ được nếu mật khẩu của bạn chỉ chứa các chữ số diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2e845d53b0..7185bd533c 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -284,8 +284,6 @@ 使令牌在点击后暂时高亮显示以便区分 复制时最小化 复制令牌后最小化应用 - 点击时复制令牌 - 通过点击将令牌复制到剪贴板 轻按冻结令牌 通过轻按令牌来暂停它们的自动刷新。 只要被聚焦,令牌就不会更新。 需要启用“轻按突出显示令牌”或“轻按显示”。 请输入您的密码以启用 PIN 键盘。请注意,只有当您的密码仅由数字构成时才能使用 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 103e4ca6f8..b471112387 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -250,8 +250,6 @@ 清除 強調選取的憑證 輕觸後暫時凸顯該驗證碼以與它者區分 - 輕觸以複製驗證碼 - 輕觸以將驗證碼複製至剪貼簿 被觸碰時凍結驗證碼 輕觸以暫停驗證碼的自動更新機制:只要驗證碼還在焦點上,它們就不會被自動更新。需要啟用「輕觸以顯示」或「強調選取的憑證」功能。 請輸入您的密碼以啟用 PIN 鍵盤。請注意,只有當您的密碼僅由數字構成時才能使用 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 9e8ce27d09..e01112f8a2 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -155,4 +155,10 @@ @string/pref_account_name_position_end @string/pref_account_name_position_below + + + @string/pref_copy_behavior_never + @string/pref_copy_behavior_single_tap + @string/pref_copy_behavior_double_tap + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e9d65adbe1..58a6a87f18 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -245,6 +245,7 @@ Select your desired theme Select your desired account name position Select your desired view mode + Select your desired copy behavior An error occurred while trying to parse the file Error: File not found An error occurred while trying to read the file @@ -309,8 +310,7 @@ Make tokens easier to distinguish from each other by temporarily highlighting them when tapped Minimize on copy Minimize the app after copying a token - Copy tokens when tapped - Copy tokens to the clipboard by tapping them + Copy tokens to the clipboard Freeze tokens when tapped Pause automatic refresh of tokens by tapping them. Tokens will not update as long as they are focused. Requires \"Highlight tokens when tapped\" or \"Tap to reveal\". @@ -496,6 +496,10 @@ Groups of 3 Groups of 4 + Never + Single tap + Double tap + Hidden Next to the issuer Below the issuer diff --git a/app/src/main/res/xml/preferences_behavior.xml b/app/src/main/res/xml/preferences_behavior.xml index 4eece1bac2..f5fd35355f 100644 --- a/app/src/main/res/xml/preferences_behavior.xml +++ b/app/src/main/res/xml/preferences_behavior.xml @@ -14,12 +14,13 @@ android:title="@string/pref_minimize_on_copy_title" android:summary="@string/pref_minimize_on_copy_summary" app:iconSpaceReserved="false"/> - +