diff --git a/lib/app.dart b/lib/app.dart index 0e8d843f..8a20d8f7 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -54,25 +54,14 @@ class JournalApp extends StatefulWidget { _enableAnalyticsIfPossible(settings); } - if (appSettings.gitBaseDirectory.isEmpty) { - var dir = await getApplicationDocumentsDirectory(); - appSettings.gitBaseDirectory = dir.path; - appSettings.save(); - } - - if (!Directory(appSettings.gitBaseDirectory).existsSync()) { - Log.w("Applications Documents Directory no longer exists"); - var dir = await getApplicationDocumentsDirectory(); - appSettings.gitBaseDirectory = dir.path; - appSettings.save(); - Log.i("New Documents Directory Path ${dir.path}"); - } + var dir = await getApplicationDocumentsDirectory(); + appState.gitBaseDirectory = dir.path; if (settings.localGitRepoConfigured == false) { // FIXME: What about exceptions! settings.localGitRepoFolderName = "journal_local"; var repoPath = p.join( - appSettings.gitBaseDirectory, + appState.gitBaseDirectory, settings.localGitRepoFolderName, ); await GitRepository.init(repoPath); @@ -88,7 +77,7 @@ class JournalApp extends StatefulWidget { return StateContainer( appState: appState, settings: settings, - gitBaseDirectory: appSettings.gitBaseDirectory, + gitBaseDirectory: appState.gitBaseDirectory, ); }, child: ChangeNotifierProvider( diff --git a/lib/app_settings.dart b/lib/app_settings.dart index caed1912..1ede52d4 100644 --- a/lib/app_settings.dart +++ b/lib/app_settings.dart @@ -34,8 +34,6 @@ class AppSettings extends ChangeNotifier { var experimentalMarkdownToolbar = false; var experimentalGraphView = false; - var gitBaseDirectory = ""; - void load(SharedPreferences pref) { onBoardingCompleted = pref.getBool("onBoardingCompleted") ?? false; @@ -63,8 +61,6 @@ class AppSettings extends ChangeNotifier { experimentalMarkdownToolbar; experimentalGraphView = pref.getBool("experimentalGraphView") ?? experimentalGraphView; - - gitBaseDirectory = pref.getString("gitBaseDirectory") ?? ""; } Future save() async { @@ -91,7 +87,6 @@ class AppSettings extends ChangeNotifier { defaultSet.experimentalGraphView); pref.setInt("appSettingsVersion", version); - pref.setString("gitBaseDirectory", gitBaseDirectory); notifyListeners(); } @@ -110,7 +105,6 @@ class AppSettings extends ChangeNotifier { 'experimentalFs': experimentalFs.toString(), 'experimentalMarkdownToolbar': experimentalMarkdownToolbar.toString(), 'experimentalGraphView': experimentalGraphView.toString(), - 'gitBaseDirectory': gitBaseDirectory.toString(), }; } diff --git a/lib/appstate.dart b/lib/appstate.dart index be1a5ae9..a5c93de8 100644 --- a/lib/appstate.dart +++ b/lib/appstate.dart @@ -17,4 +17,5 @@ class AppState { } NotesFolderFS notesFolder; + var gitBaseDirectory = ""; } diff --git a/lib/screens/settings_git_remote.dart b/lib/screens/settings_git_remote.dart index 50f6d507..a4a69752 100644 --- a/lib/screens/settings_git_remote.dart +++ b/lib/screens/settings_git_remote.dart @@ -8,7 +8,6 @@ import 'package:git_bindings/git_bindings.dart'; import 'package:path/path.dart' as p; import 'package:provider/provider.dart'; -import 'package:gitjournal/app_settings.dart'; import 'package:gitjournal/screens/settings_widgets.dart'; import 'package:gitjournal/settings.dart'; import 'package:gitjournal/setup/screens.dart'; @@ -133,8 +132,7 @@ class _GitRemoteSettingsScreenState extends State { } var stateContainer = Provider.of(context); - var appSettings = Provider.of(context); - var gitDir = appSettings.gitBaseDirectory; + var gitDir = stateContainer.appState.gitBaseDirectory; // Figure out the next available folder String repoFolderName = "journal_"; diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index 9603f003..a30a4e5a 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -13,7 +13,6 @@ import 'package:url_launcher/url_launcher.dart'; import 'package:gitjournal/analytics.dart'; import 'package:gitjournal/apis/githost_factory.dart'; -import 'package:gitjournal/app_settings.dart'; import 'package:gitjournal/error_reporting.dart'; import 'package:gitjournal/settings.dart'; import 'package:gitjournal/setup/autoconfigure.dart'; @@ -22,6 +21,7 @@ import 'package:gitjournal/setup/clone_url.dart'; import 'package:gitjournal/setup/loading_error.dart'; import 'package:gitjournal/setup/repo_selector.dart'; import 'package:gitjournal/setup/sshkey.dart'; +import 'package:gitjournal/state_container.dart'; import 'package:gitjournal/utils.dart'; import 'package:gitjournal/utils/logger.dart'; @@ -468,8 +468,8 @@ class GitHostSetupScreenState extends State { gitCloneErrorMessage = ""; }); - final appSettings = Provider.of(context); - var basePath = appSettings.gitBaseDirectory; + var stateContainer = Provider.of(context); + var basePath = stateContainer.appState.gitBaseDirectory; // Just in case it was half cloned because of an error String repoPath = p.join(basePath, widget.repoFolderName); diff --git a/test_driver/main.dart b/test_driver/main.dart index 55b7c610..522a1ae5 100644 --- a/test_driver/main.dart +++ b/test_driver/main.dart @@ -27,9 +27,6 @@ void main() async { Future populateWithData(SharedPreferences pref) async { var dir = await getApplicationDocumentsDirectory(); - var appSettings = AppSettings.instance; - appSettings.gitBaseDirectory = dir.path; - var settings = Settings.instance; settings.localGitRepoConfigured = true; settings.localGitRepoFolderName = "journal_local";