Merge pull request #910 from CristianAUnisa/sort-on-replace

Sort list after editing entry
This commit is contained in:
Alexander Bakker 2022-05-22 13:36:42 +02:00 committed by GitHub
commit 98de86b53e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -192,15 +192,21 @@ public class EntryAdapter extends RecyclerView.Adapter<EntryHolder> implements I
} else { } else {
_shownEntries.set(position, newEntry); _shownEntries.set(position, newEntry);
notifyItemChanged(position); notifyItemChanged(position);
if (_sortCategory != null) {
Comparator<VaultEntry> comparator = _sortCategory.getComparator();
Collections.sort(_shownEntries, comparator);
int newPosition = Collections.binarySearch(_shownEntries, newEntry, comparator);
if (position != newPosition) {
notifyItemMoved(position, newPosition);
}
}
} }
} else if (!isEntryFiltered(newEntry)) { } else if (!isEntryFiltered(newEntry)) {
// TODO: preserve order
_shownEntries.add(newEntry); _shownEntries.add(newEntry);
int position = getItemCount() - 1; int position = getItemCount() - 1;
notifyItemInserted(position); notifyItemInserted(position);
} }
checkPeriodUniformity(); checkPeriodUniformity();
} }