The flow between all the wizards is now complex enough that having it
all in one class is becoming quite complex. I've eventually managed to
get all the workflows to work, but there is a decent amount of code
duplication.
This really needs to be simplified.
https://github.com/flutter/flutter/issues/23811
This bug has been fixed but 1.1.3 has still not been promoted to the
beta branch. I'm not sure when that will happen, and I'm not comfortable
using the 'dev' branch of Flutter. The month of Feb is almost here, so
maybe then there will be a new release.
Jgit relies on java.nio.file which was only added in API Level 26.
https://developer.android.com/reference/java/nio/file/package-summary
This sucks because we're greately limiting the number of Android Devices
we can target. I don't get what is so special about nio, that it cannot
be treated like any other API.
It's so awesome that I don't need to store the client secret with
GitLab. The GitHub APIs are so much easier to use + documentation, but
at least GitLab supports more OAuth methods.
In this mode the user doesn't need to do anything but give the
GitJournal app permissions, and then it will go and create the repo, add
the ssh key and everything.
This currently does not work for Gitlab.
This just models the basic API that we need for GitJournal. The API
isn't great and could use improvement.
Also, yes, I know I'm committing the secret key, but I don't see any
other way of managing this. GitHub doesn't allow the implicit oauth flow
or dynamic clients registration or anything. So there isn't really any
other way.
I've registered GitJournal as an app on Github and tried to get the
access_token within the app. This seems to work. Though, I need to
provide the client secret as well. It's quite sad that GitHub does not
even support the Implicit Grant auth type.
Credit: https://stackoverflow.com/questions/46196240/oauth2-flow-in-flutter-app
This way it properly aligns up with the hamburger menu.
I also discovered this 'debugShowMaterialGrid' option which makes
working with padding issues much much easier.
It's annoying, and does not allow us to easily take screenshots.
Specially since the apps built in release mode cannot be run in an x86
android emulator.