This way it will go back to the exact original version. Our Note loading
and saving sometimes changes the yaml metadata order.
Also, this allows us to autosave the note file.
This changes the way the SSH keys are managed, they are no longer
managed by the git_bindings plugin and are instead just passed as
parameters. They are now saved in shared_prefs. This allows us to easily
have multiple ssh keys.
It also allows us to store the ssh keys in a more secure storage
location in the future.
This doesn't seem to move it to the SD card, but it does move it to a
public location. This is an Android specific feature.
Not sure if this is allowed with Android 11
Related to #99Fixes#154
We now infer this by checking if the directory exists, and by reading
the git config. It's a bit slower, but it's a far better method. I can
add a cache later, if it turns out to be too slow.
Earlier we had one folder 'journal_local', when the remote would be
setup a new folder called 'journal' would be created, and each all the
files would be copied over. This meant the local history was being
destroyed.
Now, we only have 1 folder 'journal', and on 'cloning', we add the url
as a remote, and do a git fetch + merge.
This simplifies everything drastically, and opens the door for multiple
remotes.
Stop it being a singleton. This means it needs to be passed around a
lot. This sucks, but it's how it should be. I shouldn't be using a
global variable to get around this.
This is needed as Settings will soon become repo specific when we
support multiple repos.
This breaks saving the settings in a file, that feature was toggled off
anyway. It needs to be thought over again.
We now show how the bottom menu bar will look inside the settings. This
is so much nicer. Later, I can add more options to configure exactly
what icons are visible and what they do.
Configuring how the metadata should be saved really seems like more of a
basic feature as it allows you test GitJournal's compatibility with your
favorite desktop client or for static website generation.
It makes the entire code base far more complicated and the round trip to
get the directory really isn't that much. This is a massive
micro-optimization for very little benefit.