diff options
| author | zeapo <mohamed@zenadi.com> | 2014-12-06 01:19:56 +0100 |
|---|---|---|
| committer | zeapo <mohamed@zenadi.com> | 2014-12-06 01:19:56 +0100 |
| commit | 112d71588c929509c8cb683548ee538466b99f9a (patch) | |
| tree | be2b241e6fcb625220720be9057c8800947a2b43 /app/src/main/java/com/zeapo/pwdstore/UserPreference.java | |
| parent | 1b520cff549db8bac3f2904e45dfb2f4961994ae (diff) | |
| download | HardenedPass-112d71588c929509c8cb683548ee538466b99f9a.tar.gz HardenedPass-112d71588c929509c8cb683548ee538466b99f9a.zip | |
enable the users to delete the repositoryv1.2.0.8
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/UserPreference.java')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/UserPreference.java | 32 |
1 files changed, 32 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 efd2f6a7..ff81632c 100644 --- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java +++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java @@ -22,6 +22,7 @@ import com.zeapo.pwdstore.utils.PasswordRepository; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.eclipse.jgit.api.CloneCommand; +import org.eclipse.jgit.lib.Repository; import java.io.File; import java.io.FileNotFoundException; @@ -44,6 +45,7 @@ public class UserPreference extends ActionBarActivity implements Preference.OnPr findPreference("openpgp_key_id").setOnPreferenceClickListener((UserPreference) getActivity()); findPreference("ssh_key").setOnPreferenceClickListener((UserPreference) getActivity()); findPreference("git_server_info").setOnPreferenceClickListener((UserPreference) getActivity()); + findPreference("git_delete_repo").setOnPreferenceClickListener((UserPreference) getActivity()); } } @@ -117,6 +119,36 @@ public class UserPreference extends ActionBarActivity implements Preference.OnPr startActivityForResult(intent, EDIT_GIT_INFO); } break; + case "git_delete_repo": + { + new AlertDialog.Builder(this). + setTitle(R.string.pref_dialog_delete_title). + setMessage(R.string.pref_dialog_delete_msg). + setCancelable(false). + setPositiveButton(R.string.dialog_delete, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + try { + FileUtils.deleteDirectory(PasswordRepository.getWorkTree()); + } catch (Exception e) { + //This is what happens when jgit fails :( + //TODO Handle the diffent cases of exceptions + } + + dialog.cancel(); + finish(); + } + } + ). + setNegativeButton(R.string.dialog_do_not_delete, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + } + ). + show(); + } } return true; } |
