aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain
diff options
context:
space:
mode:
authorJessica Yuen <jyuen@ualberta.ca>2014-03-02 17:33:21 -0500
committerJessica Yuen <jyuen@ualberta.ca>2014-03-02 17:33:21 -0500
commit91a2ecb15ce5acd720c8f23c3a09e60aad2baa1a (patch)
treebcb7b527b4e3233889b94b715abfc551241e7a31 /OpenPGP-Keychain
parent1baae3775e9fe60b39dc30463b0a33bd8d2d14df (diff)
downloadopen-keychain-91a2ecb15ce5acd720c8f23c3a09e60aad2baa1a.tar.gz
open-keychain-91a2ecb15ce5acd720c8f23c3a09e60aad2baa1a.tar.bz2
open-keychain-91a2ecb15ce5acd720c8f23c3a09e60aad2baa1a.zip
#226: Activity no longer closes if progress is canceled for key creation in EditKeyActivity
Diffstat (limited to 'OpenPGP-Keychain')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentServiceHandler.java7
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java2
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java2
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java14
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java2
5 files changed, 17 insertions, 10 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentServiceHandler.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentServiceHandler.java
index 530bbc7ac..5711be596 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentServiceHandler.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentServiceHandler.java
@@ -57,14 +57,15 @@ public class KeychainIntentServiceHandler extends Handler {
}
public KeychainIntentServiceHandler(Activity activity, int progressDialogMessageId, int progressDialogStyle) {
- this(activity, progressDialogMessageId, progressDialogStyle, false);
+ this(activity, progressDialogMessageId, progressDialogStyle, false, false);
}
public KeychainIntentServiceHandler(Activity activity, int progressDialogMessageId,
- int progressDialogStyle, boolean cancelable) {
+ int progressDialogStyle, boolean cancelable,
+ boolean finishActivityOnCancel) {
this.mActivity = activity;
this.mProgressDialogFragment = ProgressDialogFragment.newInstance(progressDialogMessageId,
- progressDialogStyle, cancelable);
+ progressDialogStyle, cancelable, finishActivityOnCancel);
}
public void showProgressDialog(FragmentActivity activity) {
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index cb76e37c6..09b258fcb 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -185,7 +185,7 @@ public class EditKeyActivity extends ActionBarActivity {
// Message is received after generating is done in ApgService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(
- this, R.string.progress_generating, ProgressDialog.STYLE_SPINNER, true) {
+ this, R.string.progress_generating, ProgressDialog.STYLE_SPINNER, true, true) {
@Override
public void handleMessage(Message message) {
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java
index 8d428edd6..dc4384886 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteFileDialogFragment.java
@@ -83,7 +83,7 @@ public class DeleteFileDialogFragment extends DialogFragment {
intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
ProgressDialogFragment deletingDialog = ProgressDialogFragment.newInstance(
- R.string.progress_deleting_securely, ProgressDialog.STYLE_HORIZONTAL, false);
+ R.string.progress_deleting_securely, ProgressDialog.STYLE_HORIZONTAL, false, false);
// Message is received after deleting is done in ApgService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(activity, deletingDialog) {
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java
index cac257c85..0bfd4185e 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java
@@ -32,6 +32,7 @@ public class ProgressDialogFragment extends DialogFragment {
private static final String ARG_MESSAGE_ID = "message_id";
private static final String ARG_STYLE = "style";
private static final String ARG_CANCELABLE = "cancelable";
+ private static final String ARG_FINISH_ON_CANCEL = "finish_activity_on_cancel";
/**
* Creates new instance of this fragment
@@ -41,13 +42,14 @@ public class ProgressDialogFragment extends DialogFragment {
* @param cancelable
* @return
*/
- public static ProgressDialogFragment newInstance(int messageId, int style,
- boolean cancelable) {
+ public static ProgressDialogFragment newInstance(int messageId, int style, boolean cancelable,
+ boolean finishActivityOnCancel) {
ProgressDialogFragment frag = new ProgressDialogFragment();
Bundle args = new Bundle();
args.putInt(ARG_MESSAGE_ID, messageId);
args.putInt(ARG_STYLE, style);
args.putBoolean(ARG_CANCELABLE, cancelable);
+ args.putBoolean(ARG_FINISH_ON_CANCEL, finishActivityOnCancel);
frag.setArguments(args);
return frag;
@@ -118,8 +120,12 @@ public class ProgressDialogFragment extends DialogFragment {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
- activity.setResult(Activity.RESULT_CANCELED);
- activity.finish();
+
+ boolean finishActivity = getArguments().getBoolean(ARG_FINISH_ON_CANCEL);
+ if (finishActivity) {
+ activity.setResult(Activity.RESULT_CANCELED);
+ activity.finish();
+ }
}
});
}
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
index 038b8a613..89d1e187c 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/SectionView.java
@@ -238,7 +238,7 @@ public class SectionView extends LinearLayout implements OnClickListener, Editor
// show progress dialog
mGeneratingDialog = ProgressDialogFragment.newInstance(R.string.progress_generating,
- ProgressDialog.STYLE_SPINNER, true);
+ ProgressDialog.STYLE_SPINNER, true, false);
// Message is received after generating is done in ApgService
KeychainIntentServiceHandler saveHandler = new KeychainIntentServiceHandler(mActivity,