diff options
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/UserPreference.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java index ff6f5048..dc535990 100644 --- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java +++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java @@ -82,6 +82,14 @@ public class UserPreference extends AppCompatActivity { } }); + findPreference("ssh_keygen").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + callingActivity.makeSshKey(); + return true; + } + }); + findPreference("git_server_info").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { @@ -174,6 +182,9 @@ public class UserPreference extends AppCompatActivity { case "get_ssh_key": getSshKey(); break; + case "make_ssh_key": + makeSshKey(); + break; case "git_external": selectExternalGitRepository(); break; @@ -219,6 +230,14 @@ public class UserPreference extends AppCompatActivity { startActivityForResult(intent, IMPORT_SSH_KEY); } + /** + * Opens a key generator to generate a public/private key pair + */ + public void makeSshKey() { + Intent intent = new Intent(getApplicationContext(), SshKeyGen.class); + startActivity(intent); + } + private void copySshKey(Uri uri) throws IOException { InputStream sshKey = this.getContentResolver().openInputStream(uri); byte[] privateKey = IOUtils.toByteArray(sshKey); |