Fix FilteredFlattenedNotesFolder

I'm not sure how this ever worked. The 'contains' function matches all
parts of the note.
This commit is contained in:
Vishesh Handa
2021-10-16 12:17:45 +02:00
parent 88a8b77704
commit 5366c77ab3
2 changed files with 14 additions and 5 deletions

View File

@ -96,7 +96,8 @@ class FlattenedFilteredNotesFolder
await _lock.synchronized(() {
// The filtering is async so we need to check again
if (_notes.contains(note)) {
var contain = _notes.indexWhere((n) => n.filePath == note.filePath) != -1;
if (contain) {
notifyNoteModified(-1, note);
return;
}
@ -108,19 +109,20 @@ class FlattenedFilteredNotesFolder
Future<void> _noteRemoved(int _, Note note) async {
await _lock.synchronized(() {
var i = _notes.indexWhere((n) => n.filePath == note.filePath);
// assert(i != -1);
if (i == -1) {
return;
}
assert(i != -1);
var _ = _notes.removeAt(i);
notifyNoteRemoved(i, note);
notifyNoteRemoved(-1, note);
});
}
Future<void> _noteModified(int _, Note note) async {
return await _lock.synchronized(() async {
if (_notes.contains(note)) {
var contain = _notes.indexWhere((n) => n.filePath == note.filePath) != -1;
if (contain) {
if (await filter(note)) {
notifyNoteModified(-1, note);
} else {
@ -128,7 +130,8 @@ class FlattenedFilteredNotesFolder
}
} else {
if (await filter(note)) {
_noteAdded(-1, note);
_notes.add(note);
notifyNoteAdded(-1, note);
}
}
});

View File

@ -36,6 +36,7 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
folder.addNoteAddedListener(_noteAddedListener);
folder.addNoteRemovedListener(_noteRemovedListener);
folder.addNoteModifiedListener(_noteModifiedListener);
folder.addNoteRenameListener(_noteRenamedListener);
}
@override
@ -46,6 +47,7 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
folder.removeNoteAddedListener(_noteAddedListener);
folder.removeNoteRemovedListener(_noteRemovedListener);
folder.removeNoteModifiedListener(_noteModifiedListener);
folder.removeNoteRenameListener(_noteRenamedListener);
super.dispose();
}
@ -90,6 +92,10 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
notifyNoteModified(-1, note);
}
void _noteRenamedListener(int _, Note note, String oldPath) {
notifyNoteRenamed(-1, note, oldPath);
}
int _insertInCorrectPos(Note note) {
if (_notes.isEmpty) {
_notes.add(note);