aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-08-05 17:59:05 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-08-05 17:59:05 +0200
commitd377d1f23d75ad78982419e9ca9633cd5b6813e1 (patch)
tree0646bf994fd38c2595102c74f9b362d142832ff9 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java
parent160e6972d8366e4b0b8d72fa838434629588c930 (diff)
downloadopen-keychain-d377d1f23d75ad78982419e9ca9633cd5b6813e1.tar.gz
open-keychain-d377d1f23d75ad78982419e9ca9633cd5b6813e1.tar.bz2
open-keychain-d377d1f23d75ad78982419e9ca9633cd5b6813e1.zip
Better handling of user id revocation in UI code
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java64
1 files changed, 47 insertions, 17 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java
index 5eba3a463..8a31b7f64 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditUserIdDialogFragment.java
@@ -29,9 +29,14 @@ import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.util.Log;
+import java.util.Arrays;
+
public class EditUserIdDialogFragment extends DialogFragment {
private static final String ARG_MESSENGER = "messenger";
+ private static final String ARG_IS_REVOKED = "is_revoked";
+ private static final String ARG_IS_REVOKED_PENDING = "is_revoked_pending";
+
public static final int MESSAGE_CHANGE_PRIMARY_USER_ID = 1;
public static final int MESSAGE_REVOKE = 2;
@@ -40,10 +45,13 @@ public class EditUserIdDialogFragment extends DialogFragment {
/**
* Creates new instance of this dialog fragment
*/
- public static EditUserIdDialogFragment newInstance(Messenger messenger) {
+ public static EditUserIdDialogFragment newInstance(Messenger messenger, boolean isRevoked,
+ boolean isRevokedPending) {
EditUserIdDialogFragment frag = new EditUserIdDialogFragment();
Bundle args = new Bundle();
args.putParcelable(ARG_MESSENGER, messenger);
+ args.putBoolean(ARG_IS_REVOKED, isRevoked);
+ args.putBoolean(ARG_IS_REVOKED_PENDING, isRevokedPending);
frag.setArguments(args);
@@ -56,27 +64,49 @@ public class EditUserIdDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mMessenger = getArguments().getParcelable(ARG_MESSENGER);
+ boolean isRevoked = getArguments().getBoolean(ARG_IS_REVOKED);
+ boolean isRevokedPending = getArguments().getBoolean(ARG_IS_REVOKED_PENDING);
CustomAlertDialogBuilder builder = new CustomAlertDialogBuilder(getActivity());
- CharSequence[] array = getResources().getStringArray(R.array.edit_key_edit_user_id);
-
builder.setTitle(R.string.edit_key_edit_user_id_title);
- builder.setItems(array, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- switch (which) {
- case 0:
- sendMessageToHandler(MESSAGE_CHANGE_PRIMARY_USER_ID, null);
- break;
- case 1:
- sendMessageToHandler(MESSAGE_REVOKE, null);
- break;
- default:
- break;
+ if (isRevokedPending) {
+ CharSequence[] array = getResources().getStringArray(R.array.edit_key_edit_user_id_revert_revocation);
+
+ builder.setItems(array, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ switch (which) {
+ case 0:
+ sendMessageToHandler(MESSAGE_REVOKE, null);
+ break;
+ default:
+ break;
+ }
}
- }
- });
+ });
+ } else if (isRevoked) {
+ builder.setMessage(R.string.edit_key_edit_user_id_revoked);
+ } else {
+ CharSequence[] array = getResources().getStringArray(R.array.edit_key_edit_user_id);
+
+ builder.setItems(array, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ switch (which) {
+ case 0:
+ sendMessageToHandler(MESSAGE_CHANGE_PRIMARY_USER_ID, null);
+ break;
+ case 1:
+ sendMessageToHandler(MESSAGE_REVOKE, null);
+ break;
+ default:
+ break;
+ }
+ }
+ });
+ }
+
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {