From 873b1be75dc7296ce60b6f11cd63e6707080db49 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 7 May 2014 02:27:51 +0200 Subject: display AppMsg warning when no encryption subkey is available --- .../sufficientlysecure/keychain/ui/ViewKeyMainFragment.java | 12 ++++++++++++ OpenKeychain/src/main/res/values/strings.xml | 1 + 2 files changed, 13 insertions(+) (limited to 'OpenKeychain/src') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java index 389455a9a..b30c9aaec 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyMainFragment.java @@ -32,6 +32,8 @@ import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.ListView; +import com.devspark.appmsg.AppMsg; + import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R;import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; @@ -60,6 +62,9 @@ public class ViewKeyMainFragment extends Fragment implements private static final int LOADER_ID_UNIFIED = 0; private static final int LOADER_ID_USER_IDS = 1; + // conservative attitude + private boolean mHasEncrypt = true; + private ViewKeyUserIdsAdapter mUserIdsAdapter; private Uri mDataUri; @@ -203,6 +208,8 @@ public class ViewKeyMainFragment extends Fragment implements } } + mHasEncrypt = data.getInt(INDEX_UNIFIED_HAS_ENCRYPT) != 0; + break; } } @@ -229,6 +236,11 @@ public class ViewKeyMainFragment extends Fragment implements } private void encrypt(Uri dataUri) { + // If there is no encryption key, don't bother. + if (!mHasEncrypt) { + AppMsg.makeText(getActivity(), R.string.error_no_encrypt_subkey, AppMsg.STYLE_ALERT).show(); + return; + } try { long keyId = new ProviderHelper(getActivity()).extractOrGetMasterKeyId(dataUri); long[] encryptionKeyIds = new long[]{keyId}; diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 2109476c3..2277261ee 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -513,5 +513,6 @@ View Certificate Details unknown cannot sign + No encryption subkey available! -- cgit v1.2.3