diff options
Diffstat (limited to 'OpenKeychain/src/main')
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java | 16 | ||||
| -rw-r--r-- | OpenKeychain/src/main/res/values/strings.xml | 3 | 
2 files changed, 14 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index 5024a17ed..ebc21a926 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -55,6 +55,7 @@ import android.widget.ListView;  import android.widget.TextView;  import com.beardedhen.androidbootstrap.BootstrapButton; +import com.devspark.appmsg.AppMsg;  import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R; @@ -186,7 +187,7 @@ public class KeyListFragment extends Fragment                          }                          case R.id.menu_key_list_multi_delete: {                              ids = mAdapter.getCurrentSelectedMasterKeyIds(); -                            showDeleteKeyDialog(mode, ids); +                            showDeleteKeyDialog(mode, ids, mAdapter.isAnySecretSelected());                              break;                          }                          case R.id.menu_key_list_multi_export: { @@ -263,7 +264,7 @@ public class KeyListFragment extends Fragment      static final int INDEX_VERIFIED = 5;      static final int INDEX_HAS_ANY_SECRET = 6; -    static final String ORDER = // IN THE COURT +    static final String ORDER =              KeyRings.HAS_ANY_SECRET + " DESC, " + KeyRings.USER_ID + " ASC"; @@ -339,10 +340,17 @@ public class KeyListFragment extends Fragment       * Show dialog to delete key       *       * @param masterKeyIds +     * @param hasSecret must contain whether the list of masterKeyIds contains a secret key or not       */      @TargetApi(11) -    // TODO: this method needs an overhaul to handle both public and secret keys gracefully! -    public void showDeleteKeyDialog(final ActionMode mode, long[] masterKeyIds) { +    public void showDeleteKeyDialog(final ActionMode mode, long[] masterKeyIds, boolean hasSecret) { +        // Can only work on singular secret keys +        if(hasSecret && masterKeyIds.length > 1) { +            AppMsg.makeText(getActivity(), R.string.secret_cannot_multiple, +                    AppMsg.STYLE_ALERT).show(); +            return; +        } +          // Message is received after key is deleted          Handler returnHandler = new Handler() {              @Override diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 0a855ae70..4ea5d7adc 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -219,7 +219,7 @@      <string name="specify_file_to_export_to">Please specify which file to export to.\nWARNING: File will be overwritten if it exists.</string>      <string name="specify_file_to_export_secret_keys_to">Please specify which file to export to.\nWARNING: You are about to export SECRET keys.\nWARNING: File will be overwritten if it exists.</string>      <string name="key_deletion_confirmation">Do you really want to delete the key \'%s\'?\nYou can\'t undo this!</string> -    <string name="key_deletion_confirmation_multi">Do you really want to delete all selected keys (including secret keys)?\nYou can\'t undo this!</string> +    <string name="key_deletion_confirmation_multi">Do you really want to delete all selected public keys?\nYou can\'t undo this!</string>      <string name="secret_key_deletion_confirmation">Do you really want to delete the SECRET key \'%s\'?\nYou can\'t undo this!</string>      <string name="ask_save_changed_key">You have made changes to the keyring, would you like to save it?</string>      <string name="ask_empty_id_ok">"You have added an empty user ID, are you sure you want to continue?"</string> @@ -537,5 +537,6 @@      <string name="error_key_processing">Error processing key!</string>      <string name="no_subkey">subkey unavailable</string>      <string name="key_stripped">stripped</string> +    <string name="secret_cannot_multiple">Secret keys can only be deleted individually!</string>  </resources>  | 
