From a7f71f632f45c1b45b10ac43789ebe2437185914 Mon Sep 17 00:00:00 2001
From: Vishesh Handa <me@vhanda.in>
Date: Wed, 19 May 2021 11:52:37 +0200
Subject: [PATCH] null safety++

---
 lib/core/notes_folder_notifier.dart | 90 +++++++++++++++--------------
 lib/core/transformers/base.dart     |  2 -
 lib/screens/home_screen.dart        |  2 -
 3 files changed, 48 insertions(+), 46 deletions(-)

diff --git a/lib/core/notes_folder_notifier.dart b/lib/core/notes_folder_notifier.dart
index 6bcabc01..d3b5f501 100644
--- a/lib/core/notes_folder_notifier.dart
+++ b/lib/core/notes_folder_notifier.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 
@@ -16,76 +14,83 @@ typedef NoteRenamedCallback = void Function(
     int index, Note note, String oldPath);
 
 class NotesFolderNotifier implements ChangeNotifier {
-  var _folderAddedListeners = ObserverList<FolderNotificationCallback>();
-  var _folderRemovedListeners = ObserverList<FolderNotificationCallback>();
-  var _thisFolderRenamedListeners = ObserverList<FolderRenamedCallback>();
+  ObserverList<void Function(int, NotesFolder)>? _folderAddedListeners =
+      ObserverList<FolderNotificationCallback>();
+  ObserverList<void Function(int, NotesFolder)>? _folderRemovedListeners =
+      ObserverList<FolderNotificationCallback>();
+  ObserverList<void Function(NotesFolderFS, String)>?
+      _thisFolderRenamedListeners = ObserverList<FolderRenamedCallback>();
 
-  var _noteAddedListeners = ObserverList<NoteNotificationCallback>();
-  var _noteRemovedListeners = ObserverList<NoteNotificationCallback>();
-  var _noteModifiedListeners = ObserverList<NoteNotificationCallback>();
-  var _noteRenameListeners = ObserverList<NoteRenamedCallback>();
+  ObserverList<void Function(int, Note)>? _noteAddedListeners =
+      ObserverList<NoteNotificationCallback>();
+  ObserverList<void Function(int, Note)>? _noteRemovedListeners =
+      ObserverList<NoteNotificationCallback>();
+  ObserverList<void Function(int, Note)>? _noteModifiedListeners =
+      ObserverList<NoteNotificationCallback>();
+  ObserverList<void Function(int, Note, String)>? _noteRenameListeners =
+      ObserverList<NoteRenamedCallback>();
 
   void addFolderRemovedListener(FolderNotificationCallback listener) {
-    _folderRemovedListeners.add(listener);
+    _folderRemovedListeners!.add(listener);
   }
 
   void removeFolderRemovedListener(FolderNotificationCallback listener) {
-    assert(_folderRemovedListeners.contains(listener));
-    _folderRemovedListeners.remove(listener);
+    assert(_folderRemovedListeners!.contains(listener));
+    _folderRemovedListeners!.remove(listener);
   }
 
   void addFolderAddedListener(FolderNotificationCallback listener) {
-    _folderAddedListeners.add(listener);
+    _folderAddedListeners!.add(listener);
   }
 
   void removeFolderAddedListener(FolderNotificationCallback listener) {
-    assert(_folderAddedListeners.contains(listener));
-    _folderAddedListeners.remove(listener);
+    assert(_folderAddedListeners!.contains(listener));
+    _folderAddedListeners!.remove(listener);
   }
 
   void addThisFolderRenamedListener(FolderRenamedCallback listener) {
-    _thisFolderRenamedListeners.add(listener);
+    _thisFolderRenamedListeners!.add(listener);
   }
 
   void removeThisFolderRenamedListener(FolderRenamedCallback listener) {
-    assert(_thisFolderRenamedListeners.contains(listener));
-    _thisFolderRenamedListeners.remove(listener);
+    assert(_thisFolderRenamedListeners!.contains(listener));
+    _thisFolderRenamedListeners!.remove(listener);
   }
 
   void addNoteAddedListener(NoteNotificationCallback listener) {
-    _noteAddedListeners.add(listener);
+    _noteAddedListeners!.add(listener);
   }
 
   void removeNoteAddedListener(NoteNotificationCallback listener) {
-    assert(_noteAddedListeners.contains(listener));
-    _noteAddedListeners.remove(listener);
+    assert(_noteAddedListeners!.contains(listener));
+    _noteAddedListeners!.remove(listener);
   }
 
   void addNoteRemovedListener(NoteNotificationCallback listener) {
-    _noteRemovedListeners.add(listener);
+    _noteRemovedListeners!.add(listener);
   }
 
   void removeNoteRemovedListener(NoteNotificationCallback listener) {
-    assert(_noteRemovedListeners.contains(listener));
-    _noteRemovedListeners.remove(listener);
+    assert(_noteRemovedListeners!.contains(listener));
+    _noteRemovedListeners!.remove(listener);
   }
 
   void addNoteModifiedListener(NoteNotificationCallback listener) {
-    _noteModifiedListeners.add(listener);
+    _noteModifiedListeners!.add(listener);
   }
 
   void removeNoteModifiedListener(NoteNotificationCallback listener) {
-    assert(_noteModifiedListeners.contains(listener));
-    _noteModifiedListeners.remove(listener);
+    assert(_noteModifiedListeners!.contains(listener));
+    _noteModifiedListeners!.remove(listener);
   }
 
   void addNoteRenameListener(NoteRenamedCallback listener) {
-    _noteRenameListeners.add(listener);
+    _noteRenameListeners!.add(listener);
   }
 
   void removeNoteRenameListener(NoteRenamedCallback listener) {
-    assert(_noteRenameListeners.contains(listener));
-    _noteRenameListeners.remove(listener);
+    assert(_noteRenameListeners!.contains(listener));
+    _noteRenameListeners!.remove(listener);
   }
 
   @mustCallSuper
@@ -104,7 +109,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   }
 
   void _notifyFolderCallback(
-    ObserverList<FolderNotificationCallback> _listeners,
+    ObserverList<FolderNotificationCallback>? _listeners,
     int index,
     NotesFolder folder,
   ) {
@@ -147,10 +152,10 @@ class NotesFolderNotifier implements ChangeNotifier {
 
   void notifyThisFolderRenamed(NotesFolderFS folder, String oldPath) {
     final localListeners =
-        List<FolderRenamedCallback>.from(_thisFolderRenamedListeners);
+        List<FolderRenamedCallback>.from(_thisFolderRenamedListeners!);
     for (var listener in localListeners) {
       try {
-        if (_thisFolderRenamedListeners.contains(listener)) {
+        if (_thisFolderRenamedListeners!.contains(listener)) {
           listener(folder, oldPath);
         }
       } catch (exception, stack) {
@@ -174,7 +179,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   }
 
   void _notifyNoteCallback(
-    ObserverList<NoteNotificationCallback> _listeners,
+    ObserverList<NoteNotificationCallback>? _listeners,
     int index,
     Note note,
   ) {
@@ -220,10 +225,11 @@ class NotesFolderNotifier implements ChangeNotifier {
   }
 
   void notifyNoteRenamed(int index, Note note, String oldPath) {
-    final localListeners = List<NoteRenamedCallback>.from(_noteRenameListeners);
+    final localListeners =
+        List<NoteRenamedCallback>.from(_noteRenameListeners!);
     for (var listener in localListeners) {
       try {
-        if (_noteRenameListeners.contains(listener)) {
+        if (_noteRenameListeners!.contains(listener)) {
           listener(index, note, oldPath);
         }
       } catch (exception, stack) {
@@ -249,7 +255,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   //
   // ChangeNotifier implementation - How to not duplicate this?
   //
-  ObserverList<VoidCallback> _listeners = ObserverList<VoidCallback>();
+  ObserverList<VoidCallback>? _listeners = ObserverList<VoidCallback>();
 
   bool _debugAssertNotDisposed() {
     assert(() {
@@ -284,7 +290,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   @override
   bool get hasListeners {
     assert(_debugAssertNotDisposed());
-    return _listeners.isNotEmpty;
+    return _listeners!.isNotEmpty;
   }
 
   /// Register a closure to be called when the object changes.
@@ -293,7 +299,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   @override
   void addListener(VoidCallback listener) {
     assert(_debugAssertNotDisposed());
-    _listeners.add(listener);
+    _listeners!.add(listener);
   }
 
   /// Remove a previously registered closure from the list of closures that are
@@ -318,7 +324,7 @@ class NotesFolderNotifier implements ChangeNotifier {
   @override
   void removeListener(VoidCallback listener) {
     assert(_debugAssertNotDisposed());
-    _listeners.remove(listener);
+    _listeners!.remove(listener);
   }
 
   /// Call all the registered listeners.
@@ -343,10 +349,10 @@ class NotesFolderNotifier implements ChangeNotifier {
     assert(_debugAssertNotDisposed());
     if (_listeners != null) {
       final List<VoidCallback> localListeners =
-          List<VoidCallback>.from(_listeners);
+          List<VoidCallback>.from(_listeners!);
       for (VoidCallback listener in localListeners) {
         try {
-          if (_listeners.contains(listener)) {
+          if (_listeners!.contains(listener)) {
             listener();
           }
         } catch (exception, stack) {
diff --git a/lib/core/transformers/base.dart b/lib/core/transformers/base.dart
index ed3cd284..ebd639e7 100644
--- a/lib/core/transformers/base.dart
+++ b/lib/core/transformers/base.dart
@@ -1,5 +1,3 @@
-// @dart=2.9
-
 import 'package:gitjournal/core/note.dart';
 
 export 'package:gitjournal/core/note.dart';
diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart
index 6788bdec..d86bf000 100644
--- a/lib/screens/home_screen.dart
+++ b/lib/screens/home_screen.dart
@@ -1,5 +1,3 @@
-
-
 import 'package:flutter/material.dart';
 
 import 'package:easy_localization/easy_localization.dart';