null safety++

This commit is contained in:
Vishesh Handa
2021-05-25 10:10:14 +02:00
parent 3b5ff6c9df
commit d4a5467e23
8 changed files with 43 additions and 50 deletions

View File

@ -1,4 +1,3 @@
import 'dart:io';
import 'dart:isolate'; import 'dart:isolate';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -33,17 +31,17 @@ class EditorBottomBar extends StatelessWidget {
final Func0<void> onRedoSelected; final Func0<void> onRedoSelected;
EditorBottomBar({ EditorBottomBar({
@required this.editor, required this.editor,
@required this.editorState, required this.editorState,
@required this.parentFolder, required this.parentFolder,
@required this.allowEdits, required this.allowEdits,
@required this.zenMode, required this.zenMode,
@required this.onZenModeChanged, required this.onZenModeChanged,
@required this.metaDataEditable, required this.metaDataEditable,
@required this.onUndoSelected, required this.onUndoSelected,
@required this.onRedoSelected, required this.onRedoSelected,
@required this.undoAllowed, required this.undoAllowed,
@required this.redoAllowed, required this.redoAllowed,
}); });
@override @override
@ -92,7 +90,7 @@ class EditorBottomBar extends StatelessWidget {
maintainInteractivity: false, maintainInteractivity: false,
), ),
const Spacer(), const Spacer(),
if (undoAllowed != null) if (undoAllowed)
IconButton( IconButton(
icon: const Icon(Icons.undo), icon: const Icon(Icons.undo),
onPressed: undoAllowed ? onUndoSelected : null, onPressed: undoAllowed ? onUndoSelected : null,
@ -105,7 +103,7 @@ class EditorBottomBar extends StatelessWidget {
editor.moveNoteToFolderSelected(note); editor.moveNoteToFolderSelected(note);
}, },
), ),
if (redoAllowed != null) if (redoAllowed)
IconButton( IconButton(
icon: const Icon(Icons.redo), icon: const Icon(Icons.redo),
onPressed: redoAllowed ? onRedoSelected : null, onPressed: redoAllowed ? onRedoSelected : null,

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@ -91,9 +89,9 @@ class FileSystemView extends StatelessWidget {
FileSystemView( FileSystemView(
this.folder, { this.folder, {
@required this.onFolderSelected, required this.onFolderSelected,
@required this.onNoteSelected, required this.onNoteSelected,
@required this.onIgnoredFileSelected, required this.onIgnoredFileSelected,
}); });
@override @override

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.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/app_settings.dart';
import 'package:gitjournal/repository.dart'; import 'package:gitjournal/repository.dart';
import 'package:gitjournal/settings.dart'; import 'package:gitjournal/settings.dart';
import 'package:gitjournal/utils/logger.dart';
class AppDrawerHeader extends StatelessWidget { class AppDrawerHeader extends StatelessWidget {
final Func0<void> repoListToggled; final Func0<void> repoListToggled;
AppDrawerHeader({ AppDrawerHeader({
@required this.repoListToggled, required this.repoListToggled,
}); });
@override @override
@ -78,8 +77,8 @@ class AppDrawerHeader extends StatelessWidget {
class _CurrentRepo extends StatefulWidget { class _CurrentRepo extends StatefulWidget {
const _CurrentRepo({ const _CurrentRepo({
Key key, Key? key,
@required this.repoListToggled, required this.repoListToggled,
}) : super(key: key); }) : super(key: key);
final Func0<void> repoListToggled; final Func0<void> repoListToggled;
@ -90,8 +89,8 @@ class _CurrentRepo extends StatefulWidget {
class __CurrentRepoState extends State<_CurrentRepo> class __CurrentRepoState extends State<_CurrentRepo>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
Animation _animation; late Animation _animation;
AnimationController controller; late AnimationController controller;
var _gitRemoteUrl = ""; var _gitRemoteUrl = "";
var _repoFolderName = ""; var _repoFolderName = "";
@ -138,7 +137,7 @@ class __CurrentRepoState extends State<_CurrentRepo>
), ),
), ),
RotationTransition( RotationTransition(
turns: _animation, turns: _animation as Animation<double>,
child: IconButton( child: IconButton(
icon: const FaIcon(FontAwesomeIcons.angleDown), icon: const FaIcon(FontAwesomeIcons.angleDown),
onPressed: _pressed, onPressed: _pressed,
@ -172,12 +171,16 @@ class __CurrentRepoState extends State<_CurrentRepo>
var repo = context.watch<GitJournalRepo>(); var repo = context.watch<GitJournalRepo>();
var repoPath = await repo.settings.buildRepoPath(repo.gitBaseDirectory); var repoPath = await repo.settings.buildRepoPath(repo.gitBaseDirectory);
if (repoPath == null) {
Log.e("Failed to build repo path");
return;
}
_repoFolderName = p.basename(repoPath); _repoFolderName = p.basename(repoPath);
var remoteConfigs = await repo.remoteConfigs(); var remoteConfigs = await repo.remoteConfigs();
if (!mounted) return; if (!mounted) return;
if (remoteConfigs == null || remoteConfigs.isEmpty) { if (remoteConfigs.isEmpty) {
setState(() { setState(() {
_gitRemoteUrl = tr("drawer.remote"); _gitRemoteUrl = tr("drawer.remote");
}); });

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
/// A Scroll view which occupies the full height of the parent, and doesn't /// 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; final EdgeInsetsGeometry padding;
EditorScrollView({ EditorScrollView({
@required this.child, required this.child,
this.padding = const EdgeInsets.all(16.0), this.padding = const EdgeInsets.all(16.0),
}); });

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@ -38,9 +36,9 @@ class FolderTreeView extends StatelessWidget {
final FolderSelectedCallback onFolderEntered; final FolderSelectedCallback onFolderEntered;
FolderTreeView({ FolderTreeView({
Key key, Key? key,
@required this.rootFolder, required this.rootFolder,
@required this.onFolderEntered, required this.onFolderEntered,
}) : super(key: key); }) : super(key: key);
@override @override
@ -61,8 +59,8 @@ class FolderMiniTile extends StatefulWidget {
final FolderSelectedCallback onTap; final FolderSelectedCallback onTap;
FolderMiniTile({ FolderMiniTile({
@required this.folder, required this.folder,
@required this.onTap, required this.onTap,
}); });
@override @override
@ -132,7 +130,7 @@ class FolderMiniTileState extends State<FolderMiniTile> {
var children = <FolderMiniTile>[]; var children = <FolderMiniTile>[];
widget.folder.subFolders.forEach((folder) { widget.folder.subFolders.forEach((folder) {
children.add(FolderMiniTile( children.add(FolderMiniTile(
folder: folder, folder: folder as NotesFolderFS,
onTap: widget.onTap, onTap: widget.onTap,
)); ));
}); });

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -13,14 +11,15 @@ class JournalEditorHeader extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (note.created == null) { var created = note.created;
if (created == null) {
return Container(); return Container();
} }
var dateStr = DateFormat('MMMM, yyyy').format(note.created); var dateStr = DateFormat('MMMM, yyyy').format(created);
var timeStr = DateFormat('EEEE HH:mm').format(note.created); var timeStr = DateFormat('EEEE HH:mm').format(created);
var bigNum = Text( var bigNum = Text(
note.created.day.toString(), created.day.toString(),
style: const TextStyle(fontSize: 40.0), style: const TextStyle(fontSize: 40.0),
); );

View File

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.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'; import 'package:gitjournal/screens/note_editor.dart';
// FIXME: Remove note_editor import!!
class NewNoteNavBar extends StatelessWidget { class NewNoteNavBar extends StatelessWidget {
final Func1<EditorType, void> onPressed; final Func1<EditorType, void> onPressed;
NewNoteNavBar({@required this.onPressed}); NewNoteNavBar({required this.onPressed});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {