From 6fab0ae0a452e1aed394b00f77e4f507ec108019 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Fri, 10 Apr 2020 13:54:03 +0200 Subject: [PATCH] FlattenedNotesFolder: Stop maintaining the index This makes it slower, but since remove operations are much less frequent it's okay to have them at O(n) --- lib/core/flattened_notes_folder.dart | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/core/flattened_notes_folder.dart b/lib/core/flattened_notes_folder.dart index 9303702a..874be6c6 100644 --- a/lib/core/flattened_notes_folder.dart +++ b/lib/core/flattened_notes_folder.dart @@ -6,8 +6,6 @@ class FlattenedNotesFolder with NotesFolderNotifier implements NotesFolder { final NotesFolder _parentFolder; var _notes = []; - var _noteExtraInfo = {}; - var _folders = []; FlattenedNotesFolder(this._parentFolder) { @@ -60,17 +58,14 @@ class FlattenedNotesFolder with NotesFolderNotifier implements NotesFolder { void _noteAdded(int _, Note note) { _notes.add(note); - _noteExtraInfo[note] = _notes.length - 1; - notifyNoteAdded(-1, note); } void _noteRemoved(int _, Note note) { - assert(_noteExtraInfo.containsKey(note)); + var i = _notes.indexWhere((n) => n.filePath == note.filePath); + assert(i != -1); - var i = _noteExtraInfo[note]; _notes.removeAt(i); - notifyNoteRemoved(-1, note); }