From a98df20c771fc77ab89992c9f275d7545c1a8cc9 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Fri, 14 Feb 2020 08:26:51 +0100 Subject: [PATCH] Revert "NotesFolder: Add a notification for when a note changes" This reverts commit f583d181c6c21f2e332a2468b19de47bca72b848. This causes way too many rebuilds. --- lib/core/notes_folder_notifier.dart | 24 --------------- lib/core/sorted_notes_folder.dart | 45 ----------------------------- 2 files changed, 69 deletions(-) diff --git a/lib/core/notes_folder_notifier.dart b/lib/core/notes_folder_notifier.dart index 17ab041b..936a0f18 100644 --- a/lib/core/notes_folder_notifier.dart +++ b/lib/core/notes_folder_notifier.dart @@ -11,11 +11,9 @@ typedef NoteNotificationCallback = void Function(int index, Note note); class NotesFolderNotifier implements ChangeNotifier { var _folderAddedListeners = ObserverList(); var _folderRemovedListeners = ObserverList(); - var _folderModifiedListeners = ObserverList(); var _noteAddedListeners = ObserverList(); var _noteRemovedListeners = ObserverList(); - var _noteModifiedListeners = ObserverList(); void addFolderRemovedListener(FolderNotificationCallback listener) { _folderRemovedListeners.add(listener); @@ -33,14 +31,6 @@ class NotesFolderNotifier implements ChangeNotifier { _folderAddedListeners.remove(listener); } - void addFolderModifiedListener(FolderNotificationCallback listener) { - _folderModifiedListeners.add(listener); - } - - void removeFolderModifiedListener(FolderNotificationCallback listener) { - _folderModifiedListeners.remove(listener); - } - void addNoteAddedListener(NoteNotificationCallback listener) { _noteAddedListeners.add(listener); } @@ -57,23 +47,13 @@ class NotesFolderNotifier implements ChangeNotifier { _noteRemovedListeners.remove(listener); } - void addNoteModifiedListener(NoteNotificationCallback listener) { - _noteModifiedListeners.add(listener); - } - - void removeNoteModifiedListener(NoteNotificationCallback listener) { - _noteModifiedListeners.remove(listener); - } - @mustCallSuper @override void dispose() { _folderAddedListeners = null; _folderRemovedListeners = null; - _folderModifiedListeners = null; _noteAddedListeners = null; _noteRemovedListeners = null; - _noteModifiedListeners = null; assert(_debugAssertNotDisposed()); _listeners = null; @@ -163,10 +143,6 @@ class NotesFolderNotifier implements ChangeNotifier { _notifyNoteCallback(_noteRemovedListeners, index, note); } - void notifyNoteModified(int index, Note note) { - _notifyNoteCallback(_noteModifiedListeners, index, note); - } - // // ChangeNotifier implementation - How to not duplicate this? // diff --git a/lib/core/sorted_notes_folder.dart b/lib/core/sorted_notes_folder.dart index 7f05781a..ca8fffd8 100644 --- a/lib/core/sorted_notes_folder.dart +++ b/lib/core/sorted_notes_folder.dart @@ -12,7 +12,6 @@ class SortedNotesFolder SortingMode sortingMode; List _notes = []; - var noteListeners = {}; SortedNotesFolder({ @required this.folder, @@ -20,13 +19,6 @@ class SortedNotesFolder }) { _notes = List.from(folder.notes); _notes.sort(_compare); - _notes.forEach((note) { - var listener = () { - _noteModified(note); - }; - note.addListener(listener); - noteListeners[note] = listener; - }); folder.addFolderAddedListener(_folderAddedListener); folder.addFolderRemovedListener(_folderRemovedListener); @@ -39,11 +31,6 @@ class SortedNotesFolder @override void dispose() { - _notes.forEach((note) { - var listener = noteListeners[note]; - note.removeListener(listener); - }); - folder.removeFolderAddedListener(_folderAddedListener); folder.removeFolderRemovedListener(_folderRemovedListener); @@ -74,13 +61,6 @@ class SortedNotesFolder } } _notes.insert(i, note); - - var listener = () { - _noteModified(note); - }; - note.addListener(listener); - noteListeners[note] = listener; - notifyNoteAdded(i, note); } @@ -91,34 +71,9 @@ class SortedNotesFolder assert(index != -1); _notes.removeAt(index); - var listener = noteListeners[note]; - note.removeListener(listener); - notifyNoteRemoved(index, note); } - void _noteModified(Note note) { - notifyNoteModified(-1, note); - - // And insert it in the right location - var index = _notes.indexWhere((n) => n.filePath == note.filePath); - assert(index != -1); - _notes.removeAt(index); - - notifyNoteRemoved(index, note); - - var i = 0; - for (; i < _notes.length; i++) { - var n = _notes[i]; - if (_compare(n, note) > 0) { - break; - } - } - _notes.insert(i, note); - - notifyNoteAdded(i, note); - } - void _entityChanged() { _notes.sort(_compare); notifyListeners();