aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java64
1 files changed, 23 insertions, 41 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java b/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
index 94589ed1..a1ca9519 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
+++ b/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
@@ -401,62 +401,45 @@ public class GitActivity extends AppCompatActivity {
}
/**
- * Prepends the proper protocol to the hostname expected by jGit addRemote().
+ * Saves the configuration found in the form
*/
- private void prependProtocol() {
+ private boolean saveConfiguration() {
+ // remember the settings
+ SharedPreferences.Editor editor = settings.edit();
+
+ editor.putString("git_remote_server", ((EditText) findViewById(R.id.server_url)).getText().toString());
+ editor.putString("git_remote_location", ((EditText) findViewById(R.id.server_path)).getText().toString());
+ editor.putString("git_remote_username", ((EditText) findViewById(R.id.server_user)).getText().toString());
+ editor.putString("git_remote_protocol", protocol);
+ editor.putString("git_remote_auth", connectionMode);
+ editor.putString("git_remote_port", ((EditText) findViewById(R.id.server_port)).getText().toString());
+ editor.putString("git_remote_uri", ((EditText) findViewById(R.id.clone_uri)).getText().toString());
+
+ // 'save' hostname variable for use by addRemote() either here or later
+ // in syncRepository()
hostname = ((EditText) findViewById(R.id.clone_uri)).getText().toString();
port = ((EditText) findViewById(R.id.server_port)).getText().toString();
// don't ask the user, take off the protocol that he puts in
hostname = hostname.replaceFirst("^.+://", "");
((TextView) findViewById(R.id.clone_uri)).setText(hostname);
- // now cheat a little and prepend the real protocol
- // jGit does not accept a ssh:// but requires https://
if (!protocol.equals("ssh://")) {
hostname = protocol + hostname;
} else {
+
// if the port is explicitly given, jgit requires the ssh://
if (!port.isEmpty())
hostname = protocol + hostname;
- }
- }
- private boolean forgotUsername() {
- if (protocol.equals("ssh://")) {
// did he forget the username?
if (!hostname.matches("^.+@.+")) {
new AlertDialog.Builder(this).
setMessage(activity.getResources().getString(R.string.forget_username_dialog_text)).
- setPositiveButton(activity.getResources().getString(R.string.dialog_oops), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
-
- }
- }).
+ setPositiveButton(activity.getResources().getString(R.string.dialog_oops), null).
show();
- return true;
+ return false;
}
}
- return false;
- }
- /**
- * Saves the configuration found in the form
- */
- private void saveConfiguration() {
- // remember the settings
- SharedPreferences.Editor editor = settings.edit();
-
- editor.putString("git_remote_server", ((EditText) findViewById(R.id.server_url)).getText().toString());
- editor.putString("git_remote_location", ((EditText) findViewById(R.id.server_path)).getText().toString());
- editor.putString("git_remote_username", ((EditText) findViewById(R.id.server_user)).getText().toString());
- editor.putString("git_remote_protocol", protocol);
- editor.putString("git_remote_auth", connectionMode);
- editor.putString("git_remote_port", ((EditText) findViewById(R.id.server_port)).getText().toString());
- editor.putString("git_remote_uri", ((EditText) findViewById(R.id.clone_uri)).getText().toString());
-
- // update hostname variable for use by addRemote() either here or later
- // in syncRepository()
- prependProtocol();
if (PasswordRepository.isInitialized()) {
// don't just use the clone_uri text, need to use hostname which has
// had the proper protocol prepended
@@ -464,6 +447,7 @@ public class GitActivity extends AppCompatActivity {
}
editor.apply();
+ return true;
}
/**
@@ -472,9 +456,8 @@ public class GitActivity extends AppCompatActivity {
* @param view
*/
public void saveConfiguration(View view) {
- if (forgotUsername()) return;
-
- saveConfiguration();
+ if (!saveConfiguration())
+ return;
finish();
}
@@ -489,9 +472,8 @@ public class GitActivity extends AppCompatActivity {
}
localDir = PasswordRepository.getWorkTree();
- if (forgotUsername()) return;
-
- saveConfiguration();
+ if (!saveConfiguration())
+ return;
if (localDir.exists() && localDir.listFiles().length != 0) {
new AlertDialog.Builder(this).