41 Commits

Author SHA1 Message Date
15cedd75f1 Fastlane: Disable building the package until 1.1.3 is released
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.
2019-01-25 13:12:29 +01:00
c7174ab2da Update minSDKVersion to 26
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.
2019-01-25 01:21:39 +01:00
c2e49bb630 Add a POC OAuth client implementation
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
2019-01-23 20:20:22 +01:00
03db7d62e7 android: Minor refactor
Reduces the level of indentation, and makes the code easier to read.
2019-01-23 20:16:48 +01:00
8b40cd2285 GitCommit: Let us specify the date time
The Timezone handling is java seems to be quite strange, so I'm going to
skip it for now and fix it later. We do seem to have proper timezone
classes in future versions of Java, but that requires me to increase the
minSDKVersion, and therefore not support very old android devices.
2019-01-23 11:03:06 +01:00
519de8fcff Remove onboarding screen
For now just create a local git repo and commit all the changes over
there, we're going to allow the user to first see the app and use it
however they want, and later connect it to a remote git repo.

This commit breaks the app, as the on-boarding screen is no longer
connected so you cannot push to a remote app.
2019-01-21 13:43:33 +01:00
c915e58273 GitCommit: Do not allow empty commits 2019-01-21 13:39:30 +01:00
7bb710d9ce Update fastlane metadata
This includes the current screenshots on the Google Play Store. These
are just the first screenshots and can improved quite a bit.
2019-01-17 17:41:32 +01:00
3d48ef7419 GitPush: Push all branches
In new repos master doesn't exist.
2019-01-17 14:54:37 +01:00
e9da9a6ae8 Android: Improve error checking 2019-01-16 23:55:16 +01:00
f74229dbc7 Fix sshkey custom comment
Custom comments had been implemented but were not working.
2019-01-16 23:37:19 +01:00
4292555286 Pull to sync: Show a snackbar with an error message
The error message is quite basic right now -
"No Connection" or the full error returned to us by the java libraries.
But it's a start!
2019-01-16 23:20:07 +01:00
4ba27e9b16 Fastlane: Publish to beta track from now on 2019-01-15 21:46:50 +01:00
6db080b5f4 GitMerge: For now just take THEIRS as the Merge Strategy
In the future, our strategy can be that we take whichever file has been
modified the latest. That's actually far more reasonable.
2019-01-15 15:39:17 +01:00
72edf6e11c Fastlane: Add a lane to build + upload to playstore
In the alpha version for now. The --build-number flag fails right now,
this seems to be a regression in flutter which has been fixed, but the
new version has yet to be released.

So, when I put this into a proper CI, it's going to fail :(
2019-01-14 19:12:21 +01:00
0dcd051028 Add fastlane for Android
Just with the defaults
2019-01-14 18:43:57 +01:00
c73bfa84e9 Android: Add release apk signing info 2019-01-14 16:20:59 +01:00
a1cf29e4a5 Add version number
New versions of flutter allow us to specify the version number in the
pubspec.yaml file.
2019-01-14 16:20:14 +01:00
361ee40868 Add crashanalytics 2019-01-14 14:35:05 +01:00
f63439f6cc Update android icon
It has a horrible white circle around it, and I cannot seem to figure
out how to fix it.
2019-01-11 17:49:16 +01:00
38f7840113 Add some basic onboarding screens
They don't really work out since I don't quite understand how PageView
and the PageController are supposed to work.
2019-01-10 11:54:39 +01:00
706f5bfacc Disable ssh logging
It's super verbose and no longer required
2019-01-09 12:52:57 +01:00
03645c298a GenerateSSHKey: Allow the comment to be customized 2019-01-09 11:54:10 +01:00
5a8217105e Android: Fix app label 2019-01-08 22:36:33 +01:00
c68d899ce4 Fix java directory structure 2019-01-08 22:30:34 +01:00
2ebe2ff59c Add basic Firebase analytics 2019-01-08 22:14:11 +01:00
e91c82fd66 Rename to io.gitjournal.gitjournal
We now own the domain gitjournal.io
2019-01-08 19:22:35 +01:00
18d9601dcd Add Git rm support 2019-01-08 18:51:43 +01:00
fb3f3bfccf Avoid using the path_provider plugin
We get the path ourselves as the 'git plugin' is using the
android 'getFilesDir()', instead of 'getDataDir()' which is what the
path_provider returns.

It's strange that it returns the latter as the Android docs clearly
state that one should not use this path and should use getFilesDir
instead.
2019-01-07 16:34:25 +01:00
3cdb454482 Git: Implement all the remaining operations
Many of these do not actually need an AsyncTask, but for now I'm just
following this pattern since I don't know if blocking on the receiever
thread will result in the app's UI being blocked.
2019-01-07 15:51:42 +01:00
9dc88455e9 Git Operations: Remove ssh code duplication 2019-01-07 15:27:09 +01:00
b7e2990e47 Add support for GitPull 2019-01-07 15:15:28 +01:00
84141b98aa GitClone: Output progress to stdout 2019-01-07 15:14:54 +01:00
0ba4bf68d1 Git Clone: Cleanup code 2019-01-07 13:39:03 +01:00
ae6158a0a8 Git: Add a method to generate the SSH keys 2019-01-07 13:15:20 +01:00
8f87c9ad32 Android JGit: Update the version
We want to use this specific version number as it is the only one that
supports `git clone` on Android. The others use a hard-link while
creating a lock file while trying to perform a 'git clone'.

The Android Internal Storage does not support hard links, and therefore
aborts. This will need to be fixed in the latest version of jgit.
2019-01-07 10:51:18 +01:00
b70da22e1c Android GitClone: Support SSH keys
Generate an SSH key if it doesn't exist and then use that one. This was
just supposed to be a PoC. Sadly, it doesn't really work. I keep
getting Auth Failures when cloning. Not really sure what the problem
is.
2018-10-18 23:31:41 +02:00
b3432ccc4f Add a GitClone async task
Also add a lot of misc code which was there from a previous spike. We
need an AsyncTask as one cannot run network operations in the main
thread.
2018-10-15 23:37:47 +02:00
451ef6e39f Try adding jgit as a dependency 2018-05-31 18:34:29 +02:00
be53a6c129 Android: Add a test MethodCall
This is just to test if the Android bridge is working correctly.
2018-05-24 14:42:36 +02:00
72712bd4de Initial import from 'flutter create' 2018-05-12 18:45:42 +02:00