From d4a5467e23109ce7aa07cd9baafe97b616fe15e5 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Tue, 25 May 2021 10:10:14 +0200 Subject: [PATCH] null safety++ --- lib/core/links_loader.dart | 1 - lib/editors/bottom_bar.dart | 28 +++++++++++------------- lib/screens/filesystem_screen.dart | 8 +++---- lib/widgets/app_drawer_header.dart | 21 ++++++++++-------- lib/widgets/editor_scroll_view.dart | 4 +--- lib/widgets/folder_selection_dialog.dart | 14 +++++------- lib/widgets/journal_editor_header.dart | 11 +++++----- lib/widgets/new_note_nav_bar.dart | 6 ++--- 8 files changed, 43 insertions(+), 50 deletions(-) diff --git a/lib/core/links_loader.dart b/lib/core/links_loader.dart index b4c9e732..17fcc527 100644 --- a/lib/core/links_loader.dart +++ b/lib/core/links_loader.dart @@ -1,4 +1,3 @@ -import 'dart:io'; import 'dart:isolate'; import 'package:flutter/material.dart'; diff --git a/lib/editors/bottom_bar.dart b/lib/editors/bottom_bar.dart index 40d88658..a5aadbd5 100644 --- a/lib/editors/bottom_bar.dart +++ b/lib/editors/bottom_bar.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'dart:io'; import 'package:flutter/material.dart'; @@ -33,17 +31,17 @@ class EditorBottomBar extends StatelessWidget { final Func0 onRedoSelected; EditorBottomBar({ - @required this.editor, - @required this.editorState, - @required this.parentFolder, - @required this.allowEdits, - @required this.zenMode, - @required this.onZenModeChanged, - @required this.metaDataEditable, - @required this.onUndoSelected, - @required this.onRedoSelected, - @required this.undoAllowed, - @required this.redoAllowed, + required this.editor, + required this.editorState, + required this.parentFolder, + required this.allowEdits, + required this.zenMode, + required this.onZenModeChanged, + required this.metaDataEditable, + required this.onUndoSelected, + required this.onRedoSelected, + required this.undoAllowed, + required this.redoAllowed, }); @override @@ -92,7 +90,7 @@ class EditorBottomBar extends StatelessWidget { maintainInteractivity: false, ), const Spacer(), - if (undoAllowed != null) + if (undoAllowed) IconButton( icon: const Icon(Icons.undo), onPressed: undoAllowed ? onUndoSelected : null, @@ -105,7 +103,7 @@ class EditorBottomBar extends StatelessWidget { editor.moveNoteToFolderSelected(note); }, ), - if (redoAllowed != null) + if (redoAllowed) IconButton( icon: const Icon(Icons.redo), onPressed: redoAllowed ? onRedoSelected : null, diff --git a/lib/screens/filesystem_screen.dart b/lib/screens/filesystem_screen.dart index d69acf7b..b8b53301 100644 --- a/lib/screens/filesystem_screen.dart +++ b/lib/screens/filesystem_screen.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -91,9 +89,9 @@ class FileSystemView extends StatelessWidget { FileSystemView( this.folder, { - @required this.onFolderSelected, - @required this.onNoteSelected, - @required this.onIgnoredFileSelected, + required this.onFolderSelected, + required this.onNoteSelected, + required this.onIgnoredFileSelected, }); @override diff --git a/lib/widgets/app_drawer_header.dart b/lib/widgets/app_drawer_header.dart index 9f5c1309..f9844938 100644 --- a/lib/widgets/app_drawer_header.dart +++ b/lib/widgets/app_drawer_header.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -12,12 +10,13 @@ import 'package:time/time.dart'; import 'package:gitjournal/app_settings.dart'; import 'package:gitjournal/repository.dart'; import 'package:gitjournal/settings.dart'; +import 'package:gitjournal/utils/logger.dart'; class AppDrawerHeader extends StatelessWidget { final Func0 repoListToggled; AppDrawerHeader({ - @required this.repoListToggled, + required this.repoListToggled, }); @override @@ -78,8 +77,8 @@ class AppDrawerHeader extends StatelessWidget { class _CurrentRepo extends StatefulWidget { const _CurrentRepo({ - Key key, - @required this.repoListToggled, + Key? key, + required this.repoListToggled, }) : super(key: key); final Func0 repoListToggled; @@ -90,8 +89,8 @@ class _CurrentRepo extends StatefulWidget { class __CurrentRepoState extends State<_CurrentRepo> with SingleTickerProviderStateMixin { - Animation _animation; - AnimationController controller; + late Animation _animation; + late AnimationController controller; var _gitRemoteUrl = ""; var _repoFolderName = ""; @@ -138,7 +137,7 @@ class __CurrentRepoState extends State<_CurrentRepo> ), ), RotationTransition( - turns: _animation, + turns: _animation as Animation, child: IconButton( icon: const FaIcon(FontAwesomeIcons.angleDown), onPressed: _pressed, @@ -172,12 +171,16 @@ class __CurrentRepoState extends State<_CurrentRepo> var repo = context.watch(); var repoPath = await repo.settings.buildRepoPath(repo.gitBaseDirectory); + if (repoPath == null) { + Log.e("Failed to build repo path"); + return; + } _repoFolderName = p.basename(repoPath); var remoteConfigs = await repo.remoteConfigs(); if (!mounted) return; - if (remoteConfigs == null || remoteConfigs.isEmpty) { + if (remoteConfigs.isEmpty) { setState(() { _gitRemoteUrl = tr("drawer.remote"); }); diff --git a/lib/widgets/editor_scroll_view.dart b/lib/widgets/editor_scroll_view.dart index ba7269db..da3e9fbd 100644 --- a/lib/widgets/editor_scroll_view.dart +++ b/lib/widgets/editor_scroll_view.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; /// A Scroll view which occupies the full height of the parent, and doesn't @@ -9,7 +7,7 @@ class EditorScrollView extends StatelessWidget { final EdgeInsetsGeometry padding; EditorScrollView({ - @required this.child, + required this.child, this.padding = const EdgeInsets.all(16.0), }); diff --git a/lib/widgets/folder_selection_dialog.dart b/lib/widgets/folder_selection_dialog.dart index 1834c552..c5ce337f 100644 --- a/lib/widgets/folder_selection_dialog.dart +++ b/lib/widgets/folder_selection_dialog.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -38,9 +36,9 @@ class FolderTreeView extends StatelessWidget { final FolderSelectedCallback onFolderEntered; FolderTreeView({ - Key key, - @required this.rootFolder, - @required this.onFolderEntered, + Key? key, + required this.rootFolder, + required this.onFolderEntered, }) : super(key: key); @override @@ -61,8 +59,8 @@ class FolderMiniTile extends StatefulWidget { final FolderSelectedCallback onTap; FolderMiniTile({ - @required this.folder, - @required this.onTap, + required this.folder, + required this.onTap, }); @override @@ -132,7 +130,7 @@ class FolderMiniTileState extends State { var children = []; widget.folder.subFolders.forEach((folder) { children.add(FolderMiniTile( - folder: folder, + folder: folder as NotesFolderFS, onTap: widget.onTap, )); }); diff --git a/lib/widgets/journal_editor_header.dart b/lib/widgets/journal_editor_header.dart index bba6b2d5..5801503f 100644 --- a/lib/widgets/journal_editor_header.dart +++ b/lib/widgets/journal_editor_header.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; @@ -13,14 +11,15 @@ class JournalEditorHeader extends StatelessWidget { @override Widget build(BuildContext context) { - if (note.created == null) { + var created = note.created; + if (created == null) { return Container(); } - var dateStr = DateFormat('MMMM, yyyy').format(note.created); - var timeStr = DateFormat('EEEE HH:mm').format(note.created); + var dateStr = DateFormat('MMMM, yyyy').format(created); + var timeStr = DateFormat('EEEE HH:mm').format(created); var bigNum = Text( - note.created.day.toString(), + created.day.toString(), style: const TextStyle(fontSize: 40.0), ); diff --git a/lib/widgets/new_note_nav_bar.dart b/lib/widgets/new_note_nav_bar.dart index 54a003d8..4febf1fa 100644 --- a/lib/widgets/new_note_nav_bar.dart +++ b/lib/widgets/new_note_nav_bar.dart @@ -1,5 +1,3 @@ -// @dart=2.9 - import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; @@ -7,10 +5,12 @@ import 'package:function_types/function_types.dart'; import 'package:gitjournal/screens/note_editor.dart'; +// FIXME: Remove note_editor import!! + class NewNoteNavBar extends StatelessWidget { final Func1 onPressed; - NewNoteNavBar({@required this.onPressed}); + NewNoteNavBar({required this.onPressed}); @override Widget build(BuildContext context) {