From 6aedcfce962f594718b916cd4159c9e7b33d869b Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Fri, 15 Feb 2019 12:28:42 +0100 Subject: [PATCH] Settings Screen: Remove minor code duplication --- lib/screens/settings_screen.dart | 35 ++++++++++++++------------------ 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index c9050695..fd75f390 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -34,6 +34,11 @@ class SettingsListState extends State { @override Widget build(BuildContext context) { + var saveGitAuthor = (String gitAuthor) { + Settings.instance.gitAuthor = gitAuthor; + Settings.instance.save(); + }; + var gitAuthorForm = Form( child: TextFormField( key: gitAuthorKey, @@ -50,24 +55,21 @@ class SettingsListState extends State { } }, textInputAction: TextInputAction.done, - onFieldSubmitted: (String gitAuthor) { - Settings.instance.gitAuthor = gitAuthor; - Settings.instance.save(); - }, - onSaved: (String gitAuthor) { - Settings.instance.gitAuthor = gitAuthor; - Settings.instance.save(); - }, + onFieldSubmitted: saveGitAuthor, + onSaved: saveGitAuthor, initialValue: Settings.instance.gitAuthor, ), onChanged: () { if (!gitAuthorKey.currentState.validate()) return; var gitAuthor = gitAuthorKey.currentState.value; - Settings.instance.gitAuthor = gitAuthor; - Settings.instance.save(); + saveGitAuthor(gitAuthor); }, ); + var saveGitAuthorEmail = (String gitAuthorEmail) { + Settings.instance.gitAuthorEmail = gitAuthorEmail; + Settings.instance.save(); + }; var gitAuthorEmailForm = Form( child: TextFormField( key: gitAuthorEmailKey, @@ -90,21 +92,14 @@ class SettingsListState extends State { } }, textInputAction: TextInputAction.done, - onFieldSubmitted: (String gitAuthorEmail) { - Settings.instance.gitAuthorEmail = gitAuthorEmail; - Settings.instance.save(); - }, - onSaved: (String gitAuthorEmail) { - Settings.instance.gitAuthorEmail = gitAuthorEmail; - Settings.instance.save(); - }, + onFieldSubmitted: saveGitAuthorEmail, + onSaved: saveGitAuthorEmail, initialValue: Settings.instance.gitAuthorEmail, ), onChanged: () { if (!gitAuthorEmailKey.currentState.validate()) return; var gitAuthorEmail = gitAuthorEmailKey.currentState.value; - Settings.instance.gitAuthorEmail = gitAuthorEmail; - Settings.instance.save(); + saveGitAuthorEmail(gitAuthorEmail); }, );