91 Commits

Author SHA1 Message Date
860a811568 Disable crashlytics until initialized 2019-10-08 23:36:29 +02:00
73715e3417 Crashlytics: Disable in debug builds
This way no matter what, a debug build will not report to crashlytics.
As it currently did.
2019-10-08 23:35:39 +02:00
9c1b24c5b4 gj_commit: Allow the commit time to be specified
For now this has not been hooked up to android or ios.
2019-10-02 16:13:24 +02:00
e98262b5ba CI: Only publish as an Alpha Build
I no longer wish to publish apks in the beta channel as many users leave
reviews on this beta channel, which do not show up on the app's reviews
page.
2019-08-21 17:18:00 +02:00
ad3db26a5b Fix Android logging
This had broken everything!!!
2019-07-31 00:42:00 +02:00
183b0eaac7 Android: Build for arm 64 and 32 2019-07-28 12:57:03 +02:00
e80a380a5f Android: Improve logging 2019-07-28 03:01:06 +02:00
1d5ad3c67a Android: Do not call FlutterResult from any other thread
With Flutter 1.5 this is enforced and we get lots more crashes. It seems
like the docs have always said this was a bad idea, and I seem to have
missed it.
2019-07-23 18:30:54 +02:00
d05b052fe3 CI: Publish the android app bundle 2019-07-18 01:28:30 +02:00
f3b73df119 Disable analytics in firebase test lab
I'm also keeping analytics disabled by default.
2019-06-02 17:12:22 +02:00
8b8bcc70a3 Android Bridge: Never send a response twice
Sometimes after responding with an error we would not stop, and also
return with a sucess after.
2019-06-02 15:27:16 +02:00
4ade7bf18d Android: Try to setup crashlytics stack traces 2019-05-29 18:07:58 +02:00
6b79e99047 Android: Improve error handling between cLib and NDK 2019-05-29 15:00:56 +02:00
ce316d6811 Android: Stop using jsch
Instead use the c-lib for the ssh keygeneration. This should reduce our
APK size a little bit, but most importantly we'll be using the exact
same code for osx and android.
2019-05-29 14:57:55 +02:00
ecd4993b14 cLib: Enable all warnings and treat them as errors
They are useful!

missing-field-initializiers has been disabled as libgit2's standard way
of initializing the options gives this error.
2019-05-27 10:57:55 +02:00
6b518b6bf8 Fix invalid use of __android_log_print
This should fix #4
2019-05-27 10:41:05 +02:00
0bd37c6312 build.gradle: Allow debug builds for armv8
Otherwise we get a nasty libflutter.so missing error when running a
debug build on an actual armv8 device.
2019-05-27 10:40:24 +02:00
7a7ca048e3 build.gradle: Remove dead code
It's from a time of jgit
2019-05-20 18:44:14 +02:00
efa4db5109 Android: Migrate to AndroidX
The Android Support Library is not androidx

https://developer.android.com/jetpack/androidx

This also required me to update each of the dependencies, as the
androidx migrated has resulted in major version changes in most of the
libraries.
2019-05-20 15:11:39 +02:00
9051d1e7dc Add a 'Report Bug' button
This also attaches the entire 'adb logcat' in Android. This way, we can
hopefully get useful info about why something is not working.

This currently breaks the build as we need to migrate to Android X
2019-05-20 14:35:27 +02:00
3ed86fd69b Revert "Android: Allow the release build to be debuggable"
This reverts commit 87aa6f7e5088ecad2c8926855057836891786a85.

Apparently one cannot publish debuggable APKs in the PlayStore. I wanted
this to be able to ask users to send me the logs via 'logcat', but it
seems I will have to figure out some other way.
2019-05-19 14:29:16 +02:00
c1bd7a5225 Android build.gradle: Remove deprecated option
It's enabled by default
2019-05-19 14:28:32 +02:00
87aa6f7e50 Android: Allow the release build to be debuggable 2019-05-19 11:56:09 +02:00
976ce6aeba Android: Try to fix missing "libflutter.so" crash
The apparent fix seems to be to only ship an arm 32bit app, and not arm
arm64.
2019-05-18 12:36:18 +02:00
62c99db1be Remove libssh
libssh is LGPL licensed, which means I would need to re-license the
entire app since we are linking against it statically. I could
dynamically link against it, but since I was only trying to use it for
key-generation and that doesn' seem to be working, I may as well discard
it.

For now, I'm going to stick with jsch for the key generation. On ios
side, I'm not sure what I will do. One option could be to compile
openssh and call the ssh-keygen binary.
2019-05-16 17:29:56 +02:00
17e1880c37 cLib: Move keygeneration code over there
This way we can easily test it outside of Android. Strangely enough this
doesn't work on Android or osx for me. It only seems to work in an
ubuntu linux container.
2019-05-16 15:46:40 +02:00
2fa6f9338b Android: Remove the jgit dependency
Finally! We now only rely on libgit2. Unfortunately, we still rely on a
java library for the public key generation.
2019-05-16 12:27:15 +02:00
64c8ddd7b0 Android: Use the c library for git pull
It's not perfect as our implementation of git pull results in an extra
merge commit and doesn't handle conflicts properly, but it is a basic
implementation, so at least we have something.
2019-05-16 12:23:27 +02:00
f5b98ab9c6 Make the android app use our c-lib for all git operations
* Apart from gitPull which is currently broken
* And the ssh key generation which fails on Android
2019-05-15 19:12:55 +02:00
7bd9e4fa98 Android JNI GitAdd: Use the c-lib's gitAdd instead
It finally works!
2019-05-15 18:28:02 +02:00
1dbe829372 GitAdd: Use libgit2 instead of jgit
This doesn't seem to work properly, though. Not sure what I'm doing
wrong.
2019-05-14 16:38:18 +02:00
1e8f098e10 CMakeLists: Cleanup unused macro 2019-05-14 14:29:53 +02:00
5dddeed54d Add a generateKeys JNI function
It goes via Dart -> Java -> JNI -> OurLib -> LibSSH. Also, it still
doesn't seem to work, and I'm not sure why. I kinda giveup for now.
2019-05-14 14:28:43 +02:00
668eae3562 Android: Move native code to its own class 2019-05-14 13:13:44 +02:00
cd68df9303 First integration of libgit2 in the Android App
This will allow us to remove the jgit dependency. JGit is annoying
because we have to use an old version in order to support older API
versions. Additionally, there are some subtle differences in their
implementation.

Finally, for iOS and desktop we will be using libgit2, so we may as well
use the same stack on Android.
2019-05-14 13:09:25 +02:00
7fd5813f99 Update screenshots 2019-02-16 16:44:45 +01:00
06adf4c3b9 Disable Advertising ID collection
I don't care about collecting this data, all I care about is anonymized
data collection about the number of users + screens used.
2019-02-16 09:50:30 +01:00
1f7871fe12 Add a GitResetLast command
This way we can revert the last committed change.
2019-02-15 19:27:40 +01:00
8593f79445 Revert "Add proguard to shrink apk size"
This reverts commit 72b30688b482058ba628fdb163e4957f553e77ce.

The release app is crashing because of this. It's not worth the
space saved by a few megabytes.
2019-02-15 13:59:02 +01:00
72b30688b4 Add proguard to shrink apk size
Went down from 8.5 to 6.7 mb.
2019-02-15 09:39:33 +01:00
2017fb36ea Android: Add a splash screen
It just has the GitJournal icon, but it's way better than a plain white
screen.
2019-02-14 23:30:58 +01:00
dc3f31eb92 Temporarily disable PoC JNI bindings
They are causing the release build to crash.
2019-02-13 15:35:42 +01:00
8be06b5211 CircleCI: Move building to a separate step
I rather not couple the building of the APK to Fastlane.
2019-02-12 19:00:44 +01:00
b124212958 Bump TargetSDK Version 2019-02-12 18:52:47 +01:00
1845faded9 Add POC Android JNI integration
I want to stop using jgit and instead of libgit2 instead. I feel far
more confident with the latter, and I need to use it for ios anyway.

Currently I cannot use the latest version of jgit as that requires a
higher minSDKVersion, and I want to target older android devices as
well.
2019-02-09 01:36:42 +01:00
38896ef9c8 Android: Keep screen on in debug mode
It makes working with the application far far easier. There doesn't seem
to be a simple way to do this without modifying the code.
2019-02-06 15:48:52 +01:00
66cdda213a Fix gitClone from github
The test still fails, but via the app cloning seems to work. Progress!!
2019-02-06 15:34:57 +01:00
4de157e6b1 Add an automated test for testing git clone in github
It currently fails :(
2019-02-06 15:06:08 +01:00
7f31b17012 Downgradge jgit version
This way we can target older android devices. I got the exact version
from - https://github.com/zeapo/Android-Password-Store
2019-02-02 12:38:26 +01:00
c0a1c139fa Fastlane: Enable building the apk again
The newest flutter beta fixes --build-number flag, so I can use this
again.
2019-02-02 12:16:29 +01:00