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 3fea9cec44..1800ffd49c 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java @@ -1149,6 +1149,10 @@ public boolean onActionItemClicked(ActionMode mode, MenuItem item) { _entryListView.setGroups(_vaultManager.getVault().getUsedGroups()); mode.finish(); }); + } else if (itemId == R.id.action_select_all) { + _selectedEntries = _entryListView.selectAllEntries(); + setFavoriteMenuItemVisiblity(); + setIsMultipleSelected(_selectedEntries.size() > 1); } else if (itemId == R.id.action_assign_icons) { startAssignIconsActivity(CODE_ASSIGN_ICONS, _selectedEntries); mode.finish(); 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 5697a295ac..d672b4c3cb 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 @@ -693,6 +693,23 @@ public void addSelectedEntry(VaultEntry entry) { updateDraggableStatus(); } + public List selectAllEntries() { + _selectedEntries.clear(); + + for (VaultEntry entry: _shownEntries) { + for (EntryHolder holder: _holders) { + if (holder.getEntry() == entry) { + holder.setFocused(true); + } + } + + _selectedEntries.add(entry); + updateDraggableStatus(); + } + + return new ArrayList<>(_selectedEntries); + } + public void deselectAllEntries() { for (VaultEntry entry: _selectedEntries) { for (EntryHolder holder : _holders) { 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 5298f2eb4f..d67448eca6 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 @@ -191,6 +191,10 @@ public void setCopyBehavior(CopyBehavior copyBehavior) { _adapter.setCopyBehavior(copyBehavior); } + public List selectAllEntries() { + return _adapter.selectAllEntries(); + } + public void setActionModeState(boolean enabled, VaultEntry entry) { _touchCallback.setSelectedEntry(entry); _touchCallback.setIsLongPressDragEnabled(enabled && _adapter.isDragAndDropAllowed()); diff --git a/app/src/main/res/menu/menu_action_mode.xml b/app/src/main/res/menu/menu_action_mode.xml index 057988ab15..41896a1e01 100644 --- a/app/src/main/res/menu/menu_action_mode.xml +++ b/app/src/main/res/menu/menu_action_mode.xml @@ -21,6 +21,13 @@ android:title="@string/edit" app:showAsAction="always" /> + + Set up biometric unlock Copy Edit + Select all Assign icons Favorite Unfavorite