From 43269bbe534f9b2436211a79f9849e8d65f30244 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Mon, 28 Sep 2020 00:09:14 +0200 Subject: [PATCH] Add lots of listen: false when using Provider Provider version 4 has an assert which fires if used incorrectly. --- lib/editors/scaffold.dart | 6 +++--- lib/screens/folder_listing.dart | 3 ++- lib/screens/folder_view.dart | 6 +++--- lib/screens/home_screen.dart | 2 +- lib/screens/note_editor.dart | 2 +- lib/screens/onboarding_screens.dart | 2 +- lib/screens/settings_git_remote.dart | 6 +++--- lib/screens/tag_listing.dart | 2 +- lib/setup/screens.dart | 2 +- lib/widgets/purchase_widget.dart | 2 +- 10 files changed, 17 insertions(+), 16 deletions(-) diff --git a/lib/editors/scaffold.dart b/lib/editors/scaffold.dart index 68131d44..add1cc10 100644 --- a/lib/editors/scaffold.dart +++ b/lib/editors/scaffold.dart @@ -48,7 +48,7 @@ class _EditorScaffoldState extends State { void _initStateWithContext() { if (!mounted) return; - var settings = Provider.of(context); + var settings = Provider.of(context, listen: false); setState(() { hideUIElements = settings.zenMode; @@ -79,7 +79,7 @@ class _EditorScaffoldState extends State { } void _editorChanged() { - var settings = Provider.of(context); + var settings = Provider.of(context, listen: false); if (settings.zenMode && !hideUIElements) { setState(() { @@ -89,7 +89,7 @@ class _EditorScaffoldState extends State { } void _switchMode() { - var settings = Provider.of(context); + var settings = Provider.of(context, listen: false); setState(() { editingMode = !editingMode; diff --git a/lib/screens/folder_listing.dart b/lib/screens/folder_listing.dart index 8c92bbf4..782a5bc3 100644 --- a/lib/screens/folder_listing.dart +++ b/lib/screens/folder_listing.dart @@ -157,7 +157,8 @@ class CreateFolderButton extends StatelessWidget { ); if (folderName is String) { var container = Provider.of(context, listen: false); - final notesFolder = Provider.of(context); + final notesFolder = + Provider.of(context, listen: false); container.createFolder(notesFolder, folderName); } diff --git a/lib/screens/folder_view.dart b/lib/screens/folder_view.dart index 50fd4ee8..e00b2467 100644 --- a/lib/screens/folder_view.dart +++ b/lib/screens/folder_view.dart @@ -163,13 +163,13 @@ class _FolderViewState extends State { NotesFolderFS fsFolder = folder.fsFolder; var isVirtualFolder = folder.name != folder.fsFolder.name; if (isVirtualFolder) { - var rootFolder = Provider.of(context); - var settings = Provider.of(context); + var rootFolder = Provider.of(context, listen: false); + var settings = Provider.of(context, listen: false); fsFolder = getFolderForEditor(settings, rootFolder, editorType); } - var settings = Provider.of(context); + var settings = Provider.of(context, listen: false); if (editorType == EditorType.Journal && settings.journalEditorSingleNote) { var note = await getTodayJournalEntry(fsFolder.rootFolder); diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index ae7dc4bd..d6e4c2b9 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -28,7 +28,7 @@ class _HomeScreenState extends State { void _initFolder() async { if (!mounted) return; - final rootFolder = Provider.of(context); + final rootFolder = Provider.of(context, listen: false); setState(() { notesFolder = FlattenedNotesFolder( rootFolder, diff --git a/lib/screens/note_editor.dart b/lib/screens/note_editor.dart index c60a2fce..8d02e5df 100644 --- a/lib/screens/note_editor.dart +++ b/lib/screens/note_editor.dart @@ -384,7 +384,7 @@ class NoteEditorState extends State { void _editTagsSelected(Note _note) async { Log.i("Note Tags: ${_note.tags}"); - final rootFolder = Provider.of(context); + final rootFolder = Provider.of(context, listen: false); var allTags = rootFolder.getNoteTagsRecursively(); Log.i("All Tags: $allTags"); diff --git a/lib/screens/onboarding_screens.dart b/lib/screens/onboarding_screens.dart index a85f8a7f..0492381f 100644 --- a/lib/screens/onboarding_screens.dart +++ b/lib/screens/onboarding_screens.dart @@ -111,7 +111,7 @@ class OnBoardingScreenState extends State { } void _finish() { - var appSettings = Provider.of(context); + var appSettings = Provider.of(context, listen: false); appSettings.onBoardingCompleted = true; appSettings.save(); diff --git a/lib/screens/settings_git_remote.dart b/lib/screens/settings_git_remote.dart index a4a69752..cf0c2a09 100644 --- a/lib/screens/settings_git_remote.dart +++ b/lib/screens/settings_git_remote.dart @@ -79,7 +79,7 @@ class _GitRemoteSettingsScreenState extends State { ), RedButton( text: tr('settings.ssh.reset'), - onPressed: () => _resetGitHost(context), + onPressed: () => _resetGitHost(), ), ], crossAxisAlignment: CrossAxisAlignment.start, @@ -122,7 +122,7 @@ class _GitRemoteSettingsScreenState extends State { }); } - void _resetGitHost(BuildContext context) async { + void _resetGitHost() async { var ok = await showDialog( context: context, builder: (_) => HostChangeConfirmationDialog(), @@ -131,7 +131,7 @@ class _GitRemoteSettingsScreenState extends State { return; } - var stateContainer = Provider.of(context); + var stateContainer = Provider.of(context, listen: false); var gitDir = stateContainer.appState.gitBaseDirectory; // Figure out the next available folder diff --git a/lib/screens/tag_listing.dart b/lib/screens/tag_listing.dart index 932ec757..03e785f0 100644 --- a/lib/screens/tag_listing.dart +++ b/lib/screens/tag_listing.dart @@ -69,7 +69,7 @@ class TagListingScreen extends StatelessWidget { onTap: () { var route = MaterialPageRoute( builder: (context) { - var rootFolder = Provider.of(context); + var rootFolder = Provider.of(context, listen: false); var folder = FlattenedNotesFolder( rootFolder, filter: (Note n) => diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index a30a4e5a..b70a8e1f 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -468,7 +468,7 @@ class GitHostSetupScreenState extends State { gitCloneErrorMessage = ""; }); - var stateContainer = Provider.of(context); + var stateContainer = Provider.of(context, listen: false); var basePath = stateContainer.appState.gitBaseDirectory; // Just in case it was half cloned because of an error diff --git a/lib/widgets/purchase_widget.dart b/lib/widgets/purchase_widget.dart index 38480e4e..1c627af1 100644 --- a/lib/widgets/purchase_widget.dart +++ b/lib/widgets/purchase_widget.dart @@ -223,7 +223,7 @@ class _PurchaseWidgetState extends State { } void _deliverProduct(SubscriptionStatus status) { - var appSettings = Provider.of(context); + var appSettings = Provider.of(context, listen: false); appSettings.proMode = status.isPro; appSettings.proExpirationDate = status.expiryDate.toIso8601String(); appSettings.save();