Fix SortedNotes folder and enable it again

This commit is contained in:
Vishesh Handa
2020-02-09 18:53:56 +01:00
parent 57a309a63e
commit 2bc1c0aea8
2 changed files with 9 additions and 4 deletions

View File

@ -8,6 +8,9 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
List<Note> _notes = [];
SortedNotesFolder(this.folder) {
_notes = List<Note>.from(folder.notes);
_notes.sort(_compare);
folder.addFolderAddedListener(_folderAddedListener);
folder.addFolderRemovedListener(_folderRemovedListener);
@ -15,9 +18,6 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
folder.addNoteRemovedListener(_noteRemovedListener);
folder.addListener(_entityChanged);
_notes = folder.notes;
_notes.sort(_compare);
}
@override
@ -42,6 +42,8 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
}
void _noteAddedListener(int _, Note note) {
assert(folder.notes.length == _notes.length + 1);
var i = 0;
for (; i < _notes.length; i++) {
var n = _notes[i];
@ -54,6 +56,8 @@ class SortedNotesFolder with NotesFolderNotifier implements NotesFolder {
}
void _noteRemovedListener(int _, Note note) {
assert(folder.notes.length == _notes.length - 1);
var index = _notes.indexWhere((n) => n.filePath == note.filePath);
assert(index != -1);
_notes.removeAt(index);

View File

@ -3,6 +3,7 @@ import 'package:fimber/fimber.dart';
import 'package:gitjournal/core/note.dart';
import 'package:gitjournal/core/notes_folder.dart';
import 'package:gitjournal/core/sorted_notes_folder.dart';
import 'package:gitjournal/screens/note_editor.dart';
import 'package:gitjournal/state_container.dart';
import 'package:gitjournal/utils.dart';
@ -79,7 +80,7 @@ class JournalListingScreen extends StatelessWidget {
return Builder(
builder: (context) {
return JournalList(
folder: folder,
folder: SortedNotesFolder(folder),
noteSelectedFunction: (Note note) async {
var route = MaterialPageRoute(
builder: (context) => NoteEditor.fromNote(note),