diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/AnyThreadResult.java b/android/app/src/main/java/io/gitjournal/gitjournal/AnyThreadResult.java new file mode 100644 index 00000000..33031fa6 --- /dev/null +++ b/android/app/src/main/java/io/gitjournal/gitjournal/AnyThreadResult.java @@ -0,0 +1,44 @@ +package io.gitjournal.gitjournal; + +import android.os.Handler; +import android.os.Looper; + +import androidx.annotation.Nullable; + +import io.flutter.plugin.common.MethodChannel; +import io.flutter.plugin.common.MethodChannel.Result; + +public class AnyThreadResult implements MethodChannel.Result { + private Result result; + + AnyThreadResult(Result r) { + result = r; + } + + public void success(@Nullable Object var1) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + result.success(var1); + } + }); + } + + public void error(String var1, @Nullable String var2, @Nullable Object var3) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + result.error(var1, var2, var3); + } + }); + } + + public void notImplemented() { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + result.notImplemented(); + } + }); + } +} diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GenerateSSHKeysTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GenerateSSHKeysTask.java index 065c3756..f85da8e2 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GenerateSSHKeysTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GenerateSSHKeysTask.java @@ -9,13 +9,11 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; -import io.flutter.plugin.common.MethodChannel.Result; - public class GenerateSSHKeysTask extends AsyncTask { private final static String TAG = "GenerateSSHKeys"; - private Result result; + private AnyThreadResult result; - public GenerateSSHKeysTask(Result _result) { + public GenerateSSHKeysTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitAddTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitAddTask.java index 8c68d005..af1e3449 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitAddTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitAddTask.java @@ -3,13 +3,11 @@ package io.gitjournal.gitjournal; import android.os.AsyncTask; import android.util.Log; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitAddTask extends AsyncTask { private final static String TAG = "GitAdd"; - private Result result; + private AnyThreadResult result; - public GitAddTask(Result _result) { + public GitAddTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitCloneTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitCloneTask.java index 8b29914e..44a4f801 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitCloneTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitCloneTask.java @@ -5,13 +5,11 @@ import android.util.Log; import java.io.File; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitCloneTask extends AsyncTask { private final static String TAG = "GitClone"; - private Result result; + private AnyThreadResult result; - public GitCloneTask(Result _result) { + public GitCloneTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitCommitTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitCommitTask.java index f23fd771..03a93f4c 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitCommitTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitCommitTask.java @@ -5,13 +5,11 @@ import android.util.Log; import java.io.File; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitCommitTask extends AsyncTask { private final static String TAG = "GitCommit"; - private Result result; + private AnyThreadResult result; - public GitCommitTask(Result _result) { + public GitCommitTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitInitTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitInitTask.java index 3f08cab9..f1cdb7d1 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitInitTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitInitTask.java @@ -3,13 +3,11 @@ package io.gitjournal.gitjournal; import android.os.AsyncTask; import android.util.Log; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitInitTask extends AsyncTask { private final static String TAG = "GitInit"; - private Result result; + private AnyThreadResult result; - public GitInitTask(Result _result) { + public GitInitTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitPullTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitPullTask.java index 722beab3..2ec38276 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitPullTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitPullTask.java @@ -3,13 +3,11 @@ package io.gitjournal.gitjournal; import android.os.AsyncTask; import android.util.Log; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitPullTask extends AsyncTask { private final static String TAG = "GitPull"; - private Result result; + private AnyThreadResult result; - public GitPullTask(Result _result) { + public GitPullTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitPushTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitPushTask.java index 9fef2bee..ac4aeeca 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitPushTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitPushTask.java @@ -3,13 +3,11 @@ package io.gitjournal.gitjournal; import android.os.AsyncTask; import android.util.Log; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitPushTask extends AsyncTask { private final static String TAG = "GitPush"; - private Result result; + private AnyThreadResult result; - public GitPushTask(Result _result) { + public GitPushTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitResetLastTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitResetLastTask.java index ad233e0b..2045df27 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitResetLastTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitResetLastTask.java @@ -2,13 +2,11 @@ package io.gitjournal.gitjournal; import android.os.AsyncTask; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitResetLastTask extends AsyncTask { private final static String TAG = "GitResetLastTask"; - private Result result; + private AnyThreadResult result; - public GitResetLastTask(Result _result) { + public GitResetLastTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/GitRmTask.java b/android/app/src/main/java/io/gitjournal/gitjournal/GitRmTask.java index ed52cdd3..5cd6a6a1 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/GitRmTask.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/GitRmTask.java @@ -5,13 +5,11 @@ import android.util.Log; import java.io.File; -import io.flutter.plugin.common.MethodChannel.Result; - public class GitRmTask extends AsyncTask { private final static String TAG = "GitRm"; - private Result result; + private AnyThreadResult result; - public GitRmTask(Result _result) { + public GitRmTask(AnyThreadResult _result) { result = _result; } diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java b/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java index 649efc5c..cb10dc66 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java @@ -64,7 +64,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitCloneTask(result).execute(cloneUrl, cloneLocation, publicKeyPath, privateKeyPath); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitCloneTask(anyResult).execute(cloneUrl, cloneLocation, publicKeyPath, privateKeyPath); return; } else if (call.method.equals("gitPull")) { String folderName = call.argument("folderName"); @@ -86,7 +87,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitPullTask(result).execute(cloneLocation, publicKeyPath, privateKeyPath, authorName, authorEmail); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitPullTask(anyResult).execute(cloneLocation, publicKeyPath, privateKeyPath, authorName, authorEmail); return; } else if (call.method.equals("gitPush")) { String folderName = call.argument("folderName"); @@ -98,7 +100,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitPushTask(result).execute(cloneLocation, publicKeyPath, privateKeyPath); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitPushTask(anyResult).execute(cloneLocation, publicKeyPath, privateKeyPath); return; } else if (call.method.equals("gitAdd")) { String folderName = call.argument("folderName"); @@ -115,7 +118,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitAddTask(result).execute(cloneLocation, filePattern); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitAddTask(anyResult).execute(cloneLocation, filePattern); return; } else if (call.method.equals("gitRm")) { String folderName = call.argument("folderName"); @@ -132,7 +136,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitRmTask(result).execute(cloneLocation, filePattern); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitRmTask(anyResult).execute(cloneLocation, filePattern); return; } else if (call.method.equals("gitCommit")) { String folderName = call.argument("folderName"); @@ -160,7 +165,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitCommitTask(result).execute(cloneLocation, authorName, authorEmail, message, dateTimeStr); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitCommitTask(anyResult).execute(cloneLocation, authorName, authorEmail, message, dateTimeStr); return; } else if (call.method.equals("gitInit")) { String folderName = call.argument("folderName"); @@ -172,7 +178,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String initLocation = filesDir + "/" + folderName; - new GitInitTask(result).execute(initLocation); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitInitTask(anyResult).execute(initLocation); return; } else if (call.method.equals("gitResetLast")) { String folderName = call.argument("folderName"); @@ -184,7 +191,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { String cloneLocation = filesDir + "/" + folderName; - new GitResetLastTask(result).execute(cloneLocation); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GitResetLastTask(anyResult).execute(cloneLocation); return; } else if (call.method.equals("generateSSHKeys")) { String comment = call.argument("comment"); @@ -193,7 +201,8 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { comment = "Generated on Android"; } - new GenerateSSHKeysTask(result).execute(sshKeysLocation, comment); + AnyThreadResult anyResult = new AnyThreadResult(result); + new GenerateSSHKeysTask(anyResult).execute(sshKeysLocation, comment); return; } else if (call.method.equals("getSSHPublicKey")) { String publicKey = ""; diff --git a/pubspec.yaml b/pubspec.yaml index 9713735e..6930cb3c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: journal description: A Journaling App Built on top of Git -version: 1.1.9+10 +version: 1.1.10+10 dependencies: flutter: