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