From 542a8c6f8c4e4d0146065e1f2f2cb2d7eeec1212 Mon Sep 17 00:00:00 2001 From: elena Date: Wed, 2 Nov 2022 20:45:28 +0000 Subject: [PATCH] Only copy code if not hidden --- .../aegis/ui/views/EntryAdapter.java | 13 +++++++++++-- .../beemdevelopment/aegis/ui/views/EntryHolder.java | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) 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 1ff94e7d..4bf0484c 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 @@ -43,6 +43,7 @@ public class EntryAdapter extends RecyclerView.Adapter private List _selectedEntries; private Map _usageCounts; private VaultEntry _focusedEntry; + private VaultEntry _copiedEntry; private Preferences.CodeGrouping _codeGroupSize; private boolean _showAccountName; private boolean _showIcon; @@ -420,18 +421,26 @@ public class EntryAdapter extends RecyclerView.Adapter boolean handled = false; if (_selectedEntries.isEmpty()) { - if (_copyOnTap) { + 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) { + if (_focusedEntry == entry && !copiedThisClick) { resetFocus(); + _copiedEntry = null; handled = true; } else { focusEntry(entry, _tapToRevealTime); } + } else { + _copiedEntry = null; } incrementUsageCount(entry); diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java index 0ec10a65..03e1910f 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java @@ -308,6 +308,10 @@ public class EntryHolder extends RecyclerView.ViewHolder { } } + public boolean isHidden() { + return _hidden; + } + public void setPaused(boolean paused) { _paused = paused;