Revert "NotesFolder: Add a notification for when a note changes"

This reverts commit f583d181c6c21f2e332a2468b19de47bca72b848.

This causes way too many rebuilds.
This commit is contained in:
Vishesh Handa
2020-02-14 08:26:51 +01:00
parent 6a527893f5
commit a98df20c77
2 changed files with 0 additions and 69 deletions

View File

@ -11,11 +11,9 @@ typedef NoteNotificationCallback = void Function(int index, Note note);
class NotesFolderNotifier implements ChangeNotifier { class NotesFolderNotifier implements ChangeNotifier {
var _folderAddedListeners = ObserverList<FolderNotificationCallback>(); var _folderAddedListeners = ObserverList<FolderNotificationCallback>();
var _folderRemovedListeners = ObserverList<FolderNotificationCallback>(); var _folderRemovedListeners = ObserverList<FolderNotificationCallback>();
var _folderModifiedListeners = ObserverList<FolderNotificationCallback>();
var _noteAddedListeners = ObserverList<NoteNotificationCallback>(); var _noteAddedListeners = ObserverList<NoteNotificationCallback>();
var _noteRemovedListeners = ObserverList<NoteNotificationCallback>(); var _noteRemovedListeners = ObserverList<NoteNotificationCallback>();
var _noteModifiedListeners = ObserverList<NoteNotificationCallback>();
void addFolderRemovedListener(FolderNotificationCallback listener) { void addFolderRemovedListener(FolderNotificationCallback listener) {
_folderRemovedListeners.add(listener); _folderRemovedListeners.add(listener);
@ -33,14 +31,6 @@ class NotesFolderNotifier implements ChangeNotifier {
_folderAddedListeners.remove(listener); _folderAddedListeners.remove(listener);
} }
void addFolderModifiedListener(FolderNotificationCallback listener) {
_folderModifiedListeners.add(listener);
}
void removeFolderModifiedListener(FolderNotificationCallback listener) {
_folderModifiedListeners.remove(listener);
}
void addNoteAddedListener(NoteNotificationCallback listener) { void addNoteAddedListener(NoteNotificationCallback listener) {
_noteAddedListeners.add(listener); _noteAddedListeners.add(listener);
} }
@ -57,23 +47,13 @@ class NotesFolderNotifier implements ChangeNotifier {
_noteRemovedListeners.remove(listener); _noteRemovedListeners.remove(listener);
} }
void addNoteModifiedListener(NoteNotificationCallback listener) {
_noteModifiedListeners.add(listener);
}
void removeNoteModifiedListener(NoteNotificationCallback listener) {
_noteModifiedListeners.remove(listener);
}
@mustCallSuper @mustCallSuper
@override @override
void dispose() { void dispose() {
_folderAddedListeners = null; _folderAddedListeners = null;
_folderRemovedListeners = null; _folderRemovedListeners = null;
_folderModifiedListeners = null;
_noteAddedListeners = null; _noteAddedListeners = null;
_noteRemovedListeners = null; _noteRemovedListeners = null;
_noteModifiedListeners = null;
assert(_debugAssertNotDisposed()); assert(_debugAssertNotDisposed());
_listeners = null; _listeners = null;
@ -163,10 +143,6 @@ class NotesFolderNotifier implements ChangeNotifier {
_notifyNoteCallback(_noteRemovedListeners, index, note); _notifyNoteCallback(_noteRemovedListeners, index, note);
} }
void notifyNoteModified(int index, Note note) {
_notifyNoteCallback(_noteModifiedListeners, index, note);
}
// //
// ChangeNotifier implementation - How to not duplicate this? // ChangeNotifier implementation - How to not duplicate this?
// //

View File

@ -12,7 +12,6 @@ class SortedNotesFolder
SortingMode sortingMode; SortingMode sortingMode;
List<Note> _notes = []; List<Note> _notes = [];
var noteListeners = <Note, Function>{};
SortedNotesFolder({ SortedNotesFolder({
@required this.folder, @required this.folder,
@ -20,13 +19,6 @@ class SortedNotesFolder
}) { }) {
_notes = List<Note>.from(folder.notes); _notes = List<Note>.from(folder.notes);
_notes.sort(_compare); _notes.sort(_compare);
_notes.forEach((note) {
var listener = () {
_noteModified(note);
};
note.addListener(listener);
noteListeners[note] = listener;
});
folder.addFolderAddedListener(_folderAddedListener); folder.addFolderAddedListener(_folderAddedListener);
folder.addFolderRemovedListener(_folderRemovedListener); folder.addFolderRemovedListener(_folderRemovedListener);
@ -39,11 +31,6 @@ class SortedNotesFolder
@override @override
void dispose() { void dispose() {
_notes.forEach((note) {
var listener = noteListeners[note];
note.removeListener(listener);
});
folder.removeFolderAddedListener(_folderAddedListener); folder.removeFolderAddedListener(_folderAddedListener);
folder.removeFolderRemovedListener(_folderRemovedListener); folder.removeFolderRemovedListener(_folderRemovedListener);
@ -74,13 +61,6 @@ class SortedNotesFolder
} }
} }
_notes.insert(i, note); _notes.insert(i, note);
var listener = () {
_noteModified(note);
};
note.addListener(listener);
noteListeners[note] = listener;
notifyNoteAdded(i, note); notifyNoteAdded(i, note);
} }
@ -91,34 +71,9 @@ class SortedNotesFolder
assert(index != -1); assert(index != -1);
_notes.removeAt(index); _notes.removeAt(index);
var listener = noteListeners[note];
note.removeListener(listener);
notifyNoteRemoved(index, note); 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() { void _entityChanged() {
_notes.sort(_compare); _notes.sort(_compare);
notifyListeners(); notifyListeners();