Corrected an issue on kitkat when opening ssh-key
This happens when you select a file using kitkat's file manager
This commit is contained in:
parent
5c53fcb4a0
commit
3764db17c9
8 changed files with 20 additions and 17 deletions
Binary file not shown.
Binary file not shown.
|
@ -8,8 +8,8 @@ android {
|
||||||
applicationId "com.zeapo.pwdstore"
|
applicationId "com.zeapo.pwdstore"
|
||||||
minSdkVersion 15
|
minSdkVersion 15
|
||||||
targetSdkVersion 19
|
targetSdkVersion 19
|
||||||
versionCode 9
|
versionCode 11
|
||||||
versionName "1.1-b4"
|
versionName "1.1-b5"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
|
|
|
@ -51,6 +51,7 @@ public class GitAsyncTask extends AsyncTask<GitCommand, Integer, Integer> {
|
||||||
return -2;
|
return -2;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
return -98;
|
||||||
}
|
}
|
||||||
totalSize++;
|
totalSize++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,11 @@ import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
@ -27,7 +25,6 @@ import com.jcraft.jsch.JSch;
|
||||||
import com.jcraft.jsch.JSchException;
|
import com.jcraft.jsch.JSchException;
|
||||||
import com.jcraft.jsch.Session;
|
import com.jcraft.jsch.Session;
|
||||||
import com.jcraft.jsch.UserInfo;
|
import com.jcraft.jsch.UserInfo;
|
||||||
import com.zeapo.pwdstore.crypto.PgpHandler;
|
|
||||||
import com.zeapo.pwdstore.utils.PasswordRepository;
|
import com.zeapo.pwdstore.utils.PasswordRepository;
|
||||||
|
|
||||||
import org.eclipse.jgit.api.CloneCommand;
|
import org.eclipse.jgit.api.CloneCommand;
|
||||||
|
@ -39,7 +36,6 @@ import org.eclipse.jgit.api.errors.InvalidRemoteException;
|
||||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||||
import org.eclipse.jgit.api.errors.TransportException;
|
import org.eclipse.jgit.api.errors.TransportException;
|
||||||
import org.eclipse.jgit.errors.UnsupportedCredentialItem;
|
import org.eclipse.jgit.errors.UnsupportedCredentialItem;
|
||||||
import org.eclipse.jgit.merge.MergeStrategy;
|
|
||||||
import org.eclipse.jgit.transport.CredentialItem;
|
import org.eclipse.jgit.transport.CredentialItem;
|
||||||
import org.eclipse.jgit.transport.CredentialsProvider;
|
import org.eclipse.jgit.transport.CredentialsProvider;
|
||||||
import org.eclipse.jgit.transport.CredentialsProviderUserInfo;
|
import org.eclipse.jgit.transport.CredentialsProviderUserInfo;
|
||||||
|
@ -75,7 +71,7 @@ public class GitHandler extends Activity {
|
||||||
public static final int REQUEST_CLONE = 103;
|
public static final int REQUEST_CLONE = 103;
|
||||||
public static final int REQUEST_INIT = 104;
|
public static final int REQUEST_INIT = 104;
|
||||||
|
|
||||||
private static final int GET_SSH_KEY = 201;
|
private static final int GET_SSH_KEY_FROM_CLONE = 201;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -199,6 +195,7 @@ public class GitHandler extends Activity {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
@ -460,9 +457,9 @@ public class GitHandler extends Activity {
|
||||||
|
|
||||||
public void pullOperation(UsernamePasswordCredentialsProvider provider) {
|
public void pullOperation(UsernamePasswordCredentialsProvider provider) {
|
||||||
|
|
||||||
if (settings.getString("git_remote_username", "user").isEmpty() ||
|
if (settings.getString("git_remote_username", "").isEmpty() ||
|
||||||
settings.getString("git_remote_server", "server.com").isEmpty() ||
|
settings.getString("git_remote_server", "").isEmpty() ||
|
||||||
settings.getString("git_remote_location", "path/to/repository").isEmpty() )
|
settings.getString("git_remote_location", "").isEmpty() )
|
||||||
new AlertDialog.Builder(this)
|
new AlertDialog.Builder(this)
|
||||||
.setMessage("You have to set the information about the server before synchronizing with the server")
|
.setMessage("You have to set the information about the server before synchronizing with the server")
|
||||||
.setPositiveButton("On my way!", new DialogInterface.OnClickListener() {
|
.setPositiveButton("On my way!", new DialogInterface.OnClickListener() {
|
||||||
|
@ -584,7 +581,7 @@ public class GitHandler extends Activity {
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
try {
|
try {
|
||||||
Intent intent = new Intent(getApplicationContext(), UserPreference.class);
|
Intent intent = new Intent(getApplicationContext(), UserPreference.class);
|
||||||
startActivityForResult(intent, GET_SSH_KEY);
|
startActivityForResult(intent, GET_SSH_KEY_FROM_CLONE);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("Exception caught :(");
|
System.out.println("Exception caught :(");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -693,8 +690,8 @@ public class GitHandler extends Activity {
|
||||||
case REQUEST_PUSH:
|
case REQUEST_PUSH:
|
||||||
authenticateAndRun("pushOperation");
|
authenticateAndRun("pushOperation");
|
||||||
break;
|
break;
|
||||||
case GET_SSH_KEY:
|
case GET_SSH_KEY_FROM_CLONE:
|
||||||
authenticateAndRun("pullOperation");
|
authenticateAndRun("cloneOperation");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI
|
||||||
public void getClone(View view){
|
public void getClone(View view){
|
||||||
Intent intent = new Intent(this, GitHandler.class);
|
Intent intent = new Intent(this, GitHandler.class);
|
||||||
intent.putExtra("Operation", GitHandler.REQUEST_CLONE);
|
intent.putExtra("Operation", GitHandler.REQUEST_CLONE);
|
||||||
startActivity(intent);
|
startActivityForResult(intent, GitHandler.REQUEST_CLONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createRepository() {
|
private void createRepository() {
|
||||||
|
@ -358,6 +358,9 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI
|
||||||
refreshListAdapter();
|
refreshListAdapter();
|
||||||
|
|
||||||
if (resultCode == RESULT_OK) {
|
if (resultCode == RESULT_OK) {
|
||||||
|
if (requestCode == GitHandler.REQUEST_CLONE)
|
||||||
|
checkLocalRepository();
|
||||||
|
else
|
||||||
refreshListAdapter();
|
refreshListAdapter();
|
||||||
|
|
||||||
switch (requestCode) {
|
switch (requestCode) {
|
||||||
|
|
|
@ -70,8 +70,10 @@ public class UserPreference extends PreferenceActivity implements Preference.OnP
|
||||||
if (requestCode == 1) {
|
if (requestCode == 1) {
|
||||||
// Uri sshFile = data.getData();
|
// Uri sshFile = data.getData();
|
||||||
try {
|
try {
|
||||||
byte[] privateKey = IOUtils.toByteArray(this.getContentResolver().openInputStream(data.getData()));
|
InputStream sshKey = this.getContentResolver().openInputStream(data.getData());
|
||||||
|
byte[] privateKey = IOUtils.toByteArray(sshKey);
|
||||||
FileUtils.writeByteArrayToFile(new File(getFilesDir() + "/.ssh_key"), privateKey);
|
FileUtils.writeByteArrayToFile(new File(getFilesDir() + "/.ssh_key"), privateKey);
|
||||||
|
sshKey.close();
|
||||||
|
|
||||||
Log.i("PREF", "Got key");
|
Log.i("PREF", "Got key");
|
||||||
setResult(RESULT_OK);
|
setResult(RESULT_OK);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit e515a49027fc5de36b8977cf8b096afc9838a9be
|
Subproject commit 6aaf8fde5e2541a614b1b0f8633372588eaee710
|
Loading…
Reference in a new issue