From e0954cd400aa2f8799b92b979cb98aa583938144 Mon Sep 17 00:00:00 2001 From: Matthew Wong Date: Tue, 14 Jul 2015 22:43:54 -0400 Subject: Change 'No SSH key' dialog to have options for import or generate. Also add all the strings... --- .../java/com/zeapo/pwdstore/git/GitOperation.java | 30 +++++++++++++++++----- app/src/main/res/values/strings.xml | 9 ++++++- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java b/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java index c7b70ca4..c4d7eea4 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java @@ -92,7 +92,7 @@ public abstract class GitOperation { new AlertDialog.Builder(callingActivity) .setMessage(callingActivity.getResources().getString(R.string.ssh_preferences_dialog_text)) .setTitle(callingActivity.getResources().getString(R.string.ssh_preferences_dialog_title)) - .setPositiveButton(callingActivity.getResources().getString(R.string.dialog_ok), new DialogInterface.OnClickListener() { + .setPositiveButton(callingActivity.getResources().getString(R.string.ssh_preferences_dialog_import), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { try { @@ -106,12 +106,28 @@ public abstract class GitOperation { e.printStackTrace(); } } - }).setNegativeButton(callingActivity.getResources().getString(R.string.dialog_cancel), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int id) { - // Do nothing... - } - }).show(); + }) + .setNegativeButton(callingActivity.getResources().getString(R.string.ssh_preferences_dialog_generate), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + try { + // Duplicated code + Intent intent = new Intent(callingActivity.getApplicationContext(), UserPreference.class); + intent.putExtra("operation", "make_ssh_key"); + callingActivity.startActivityForResult(intent, GET_SSH_KEY_FROM_CLONE); + } catch (Exception e) { + System.out.println("Exception caught :("); + e.printStackTrace(); + } + } + }) + .setNeutralButton(callingActivity.getResources().getString(R.string.dialog_cancel), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int id) { + // Finish the blank GitActivity so user doesn't have to press back + callingActivity.finish(); + } + }).show(); } else { final EditText passphrase = new EditText(callingActivity); passphrase.setHint("Passphrase"); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a9b03151..e746419d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,8 +47,10 @@ You are about to use a read-only repository, you will not be able to push to it Did you forget to specify a username? You have to set the information about the server before synchronizing with the server - Please import your SSH key file in the preferences + Please import or generate your SSH key file in the preferences No SSH key + Import + Generate Authenticate Please provide the passphrase for your SSH key. Leave it empty if there is no passphrase. Please provide the password for this repository @@ -95,6 +97,7 @@ username Edit git server settings Import ssh-key + Generate ssh-key Delete repository Clear repository Do you want to delete the current password store directory? This will not clear your configuration. @@ -122,6 +125,10 @@ Uppercase Ambiguous + + Copy + Provide this public key to your Git server. + OK Yes -- cgit v1.2.3