From 42f1abfa76f06ee6d0a0e3bd5cc13b4afb1922a4 Mon Sep 17 00:00:00 2001 From: Zeapo Date: Fri, 8 Aug 2014 18:46:35 +0100 Subject: more refactoring and ability to pull from server --- .../main/java/com/zeapo/pwdstore/GitAsyncTask.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/src/main/java/com/zeapo/pwdstore/GitAsyncTask.java (limited to 'app/src/main/java/com/zeapo/pwdstore/GitAsyncTask.java') diff --git a/app/src/main/java/com/zeapo/pwdstore/GitAsyncTask.java b/app/src/main/java/com/zeapo/pwdstore/GitAsyncTask.java new file mode 100644 index 00000000..cc8938fb --- /dev/null +++ b/app/src/main/java/com/zeapo/pwdstore/GitAsyncTask.java @@ -0,0 +1,52 @@ +package com.zeapo.pwdstore; + +import android.app.Activity; +import android.os.AsyncTask; +import android.util.Log; + +import org.eclipse.jgit.api.CloneCommand; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.GitCommand; +import org.eclipse.jgit.api.errors.InvalidRemoteException; +import org.eclipse.jgit.api.errors.JGitInternalException; +import org.eclipse.jgit.api.errors.TransportException; + + +public class GitAsyncTask extends AsyncTask { + private Activity activity; + private boolean finishOnEnd; + public GitAsyncTask(Activity activity, boolean finishOnEnd) { + this.activity = activity; + this.finishOnEnd = finishOnEnd; + } + @Override + protected Integer doInBackground(GitCommand... cmd) { + int count = cmd.length; + Integer totalSize = 0; + for (int i = 0; i < count; i++) { + try { + cmd[i].call(); + } catch (JGitInternalException e) { + e.printStackTrace(); + return -99; + } catch (InvalidRemoteException e) { + e.printStackTrace(); + return -1; + } catch (TransportException e) { + e.printStackTrace(); + return -2; + } catch (Exception e) { + e.printStackTrace(); + } + totalSize++; + } + return totalSize; + } + + protected void onPostExecute(Integer result) { + Log.i("GIT_ASYNC", result + ""); + if (finishOnEnd) { + this.activity.finish(); + } + } +} -- cgit v1.2.3