Fix reseting the git host

This commit is contained in:
Vishesh Handa
2020-11-10 18:11:26 +01:00
parent ebf48911e8
commit 3aaa397021
3 changed files with 58 additions and 38 deletions

View File

@ -205,7 +205,7 @@ class _GitRemoteSettingsScreenState extends State<GitRemoteSettingsScreen> {
var settings = Provider.of<Settings>(context, listen: false); var settings = Provider.of<Settings>(context, listen: false);
settings.folderName = repoFolderName; settings.folderName = repoFolderName;
settings.storeInternally = true; settings.storeInternally = true;
settings.save(); await settings.save();
var route = MaterialPageRoute( var route = MaterialPageRoute(
builder: (context) => GitHostSetupScreen( builder: (context) => GitHostSetupScreen(

View File

@ -166,87 +166,93 @@ class Settings extends ChangeNotifier {
var pref = await SharedPreferences.getInstance(); var pref = await SharedPreferences.getInstance();
var defaultSet = Settings(id); var defaultSet = Settings(id);
_setString(pref, "gitAuthor", gitAuthor, defaultSet.gitAuthor); await _setString(pref, "gitAuthor", gitAuthor, defaultSet.gitAuthor);
_setString( await _setString(
pref, "gitAuthorEmail", gitAuthorEmail, defaultSet.gitAuthorEmail); pref, "gitAuthorEmail", gitAuthorEmail, defaultSet.gitAuthorEmail);
_setString( await _setString(
pref, pref,
"noteFileNameFormat", "noteFileNameFormat",
noteFileNameFormat.toInternalString(), noteFileNameFormat.toInternalString(),
defaultSet.noteFileNameFormat.toInternalString()); defaultSet.noteFileNameFormat.toInternalString());
_setString( await _setString(
pref, pref,
"journalNoteFileNameFormat", "journalNoteFileNameFormat",
journalNoteFileNameFormat.toInternalString(), journalNoteFileNameFormat.toInternalString(),
defaultSet.journalNoteFileNameFormat.toInternalString()); defaultSet.journalNoteFileNameFormat.toInternalString());
_setString( await _setString(
pref, "yamlModifiedKey", yamlModifiedKey, defaultSet.yamlModifiedKey); pref, "yamlModifiedKey", yamlModifiedKey, defaultSet.yamlModifiedKey);
_setString( await _setString(
pref, "yamlCreatedKey", yamlCreatedKey, defaultSet.yamlCreatedKey); pref, "yamlCreatedKey", yamlCreatedKey, defaultSet.yamlCreatedKey);
_setString(pref, "yamlTagsKey", yamlTagsKey, defaultSet.yamlTagsKey); await _setString(pref, "yamlTagsKey", yamlTagsKey, defaultSet.yamlTagsKey);
_setString( await _setString(
pref, "customMetaData", customMetaData, defaultSet.customMetaData); pref, "customMetaData", customMetaData, defaultSet.customMetaData);
_setBool(pref, "yamlHeaderEnabled", yamlHeaderEnabled, await _setBool(pref, "yamlHeaderEnabled", yamlHeaderEnabled,
defaultSet.yamlHeaderEnabled); defaultSet.yamlHeaderEnabled);
_setString(pref, "defaultNewNoteFolderSpec", defaultNewNoteFolderSpec, await _setString(pref, "defaultNewNoteFolderSpec", defaultNewNoteFolderSpec,
defaultSet.defaultNewNoteFolderSpec); defaultSet.defaultNewNoteFolderSpec);
_setString( await _setString(
pref, pref,
"journalEditordefaultNewNoteFolderSpec", "journalEditordefaultNewNoteFolderSpec",
journalEditordefaultNewNoteFolderSpec, journalEditordefaultNewNoteFolderSpec,
defaultSet.journalEditordefaultNewNoteFolderSpec); defaultSet.journalEditordefaultNewNoteFolderSpec);
_setBool(pref, "journalEditorSingleNote", journalEditorSingleNote, await _setBool(pref, "journalEditorSingleNote", journalEditorSingleNote,
defaultSet.journalEditorSingleNote); defaultSet.journalEditorSingleNote);
_setString( await _setString(
pref, pref,
"remoteSyncFrequency", "remoteSyncFrequency",
remoteSyncFrequency.toInternalString(), remoteSyncFrequency.toInternalString(),
defaultSet.remoteSyncFrequency.toInternalString()); defaultSet.remoteSyncFrequency.toInternalString());
_setString(pref, "sortingField", sortingField.toInternalString(), await _setString(pref, "sortingField", sortingField.toInternalString(),
defaultSet.sortingField.toInternalString()); defaultSet.sortingField.toInternalString());
_setString(pref, "sortingOrder", sortingOrder.toInternalString(), await _setString(pref, "sortingOrder", sortingOrder.toInternalString(),
defaultSet.sortingOrder.toInternalString()); defaultSet.sortingOrder.toInternalString());
_setString(pref, "defaultEditor", defaultEditor.toInternalString(), await _setString(pref, "defaultEditor", defaultEditor.toInternalString(),
defaultSet.defaultEditor.toInternalString()); defaultSet.defaultEditor.toInternalString());
_setString(pref, "defaultView", defaultView.toInternalString(), await _setString(pref, "defaultView", defaultView.toInternalString(),
defaultSet.defaultView.toInternalString()); defaultSet.defaultView.toInternalString());
_setString( await _setString(
pref, pref,
"markdownDefaultView", "markdownDefaultView",
markdownDefaultView.toInternalString(), markdownDefaultView.toInternalString(),
defaultSet.markdownDefaultView.toInternalString()); defaultSet.markdownDefaultView.toInternalString());
_setString( await _setString(
pref, pref,
"markdownLastUsedView", "markdownLastUsedView",
markdownLastUsedView.toInternalString(), markdownLastUsedView.toInternalString(),
defaultSet.markdownLastUsedView.toInternalString()); defaultSet.markdownLastUsedView.toInternalString());
_setBool( await _setBool(
pref, "showNoteSummary", showNoteSummary, defaultSet.showNoteSummary); pref, "showNoteSummary", showNoteSummary, defaultSet.showNoteSummary);
_setString(pref, "folderViewHeaderType", folderViewHeaderType, await _setString(pref, "folderViewHeaderType", folderViewHeaderType,
defaultSet.folderViewHeaderType); defaultSet.folderViewHeaderType);
_setBool(pref, "emojiParser", emojiParser, defaultSet.emojiParser); await _setBool(pref, "emojiParser", emojiParser, defaultSet.emojiParser);
_setString(pref, "homeScreen", homeScreen.toInternalString(), await _setString(pref, "homeScreen", homeScreen.toInternalString(),
defaultSet.homeScreen.toInternalString()); defaultSet.homeScreen.toInternalString());
_setString(pref, "imageLocationSpec", imageLocationSpec, await _setString(pref, "imageLocationSpec", imageLocationSpec,
defaultSet.imageLocationSpec); defaultSet.imageLocationSpec);
_setBool(pref, "zenMode", zenMode, defaultSet.zenMode); await _setBool(pref, "zenMode", zenMode, defaultSet.zenMode);
_setBool(pref, "saveTitleInH1", saveTitleInH1, defaultSet.saveTitleInH1); await _setBool(
_setBool(pref, "swipeToDelete", swipeToDelete, defaultSet.swipeToDelete); pref, "saveTitleInH1", saveTitleInH1, defaultSet.saveTitleInH1);
_setStringSet(pref, "inlineTagPrefixes", inlineTagPrefixes, await _setBool(
pref, "swipeToDelete", swipeToDelete, defaultSet.swipeToDelete);
await _setStringSet(pref, "inlineTagPrefixes", inlineTagPrefixes,
defaultSet.inlineTagPrefixes); defaultSet.inlineTagPrefixes);
_setBool(pref, "bottomMenuBar", bottomMenuBar, defaultSet.bottomMenuBar); await _setBool(
_setBool( pref, "bottomMenuBar", bottomMenuBar, defaultSet.bottomMenuBar);
await _setBool(
pref, "storeInternally", storeInternally, defaultSet.storeInternally); pref, "storeInternally", storeInternally, defaultSet.storeInternally);
_setString( await _setString(
pref, "storageLocation", storageLocation, defaultSet.storageLocation); pref, "storageLocation", storageLocation, defaultSet.storageLocation);
_setString(pref, "sshPublicKey", sshPublicKey, defaultSet.sshPublicKey); await _setString(
_setString(pref, "sshPrivateKey", sshPrivateKey, defaultSet.sshPrivateKey); pref, "sshPublicKey", sshPublicKey, defaultSet.sshPublicKey);
_setString(pref, "sshPassword", sshPassword, defaultSet.sshPassword); await _setString(
pref, "sshPrivateKey", sshPrivateKey, defaultSet.sshPrivateKey);
await _setString(pref, "sshPassword", sshPassword, defaultSet.sshPassword);
pref.setInt("settingsVersion", version); await _setInt(pref, "settingsVersion", version, defaultSet.version);
pref.setString("remoteGitRepoPath", folderName); await _setString(
pref, "remoteGitRepoPath", folderName, defaultSet.folderName);
notifyListeners(); notifyListeners();
} }
@ -279,6 +285,20 @@ class Settings extends ChangeNotifier {
} }
} }
Future<void> _setInt(
SharedPreferences pref,
String key,
int value,
int defaultValue,
) async {
key = id + '_' + key;
if (value == defaultValue) {
await pref.remove(key);
} else {
await pref.setInt(key, value);
}
}
Future<void> _setStringSet( Future<void> _setStringSet(
SharedPreferences pref, SharedPreferences pref,
String key, String key,

View File

@ -181,7 +181,7 @@ packages:
description: description:
path: "." path: "."
ref: HEAD ref: HEAD
resolved-ref: "52c0358eadd2e320c845a6e5af39a84b89220a58" resolved-ref: ec54c9d45a1c3247dc2b41db7d07205d9e661290
url: "https://github.com/GitJournal/dart-git.git" url: "https://github.com/GitJournal/dart-git.git"
source: git source: git
version: "0.0.2" version: "0.0.2"