From 14a8586e8c132aa1c217225e1d78b7185af3b7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 15 Apr 2014 22:37:36 +0200 Subject: Improve verification result display, close #568 --- .../keychain/ui/DecryptFragment.java | 42 ++++++++++++++++------ 1 file changed, 31 insertions(+), 11 deletions(-) (limited to 'OpenKeychain/src/main/java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java index 2254029df..71a5f3ad5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java @@ -31,7 +31,6 @@ import android.widget.RelativeLayout; import android.widget.TextView; import com.beardedhen.androidbootstrap.BootstrapButton; -import com.devspark.appmsg.AppMsg; import org.openintents.openpgp.OpenPgpSignatureResult; import org.sufficientlysecure.keychain.R; @@ -73,11 +72,6 @@ public class DecryptFragment extends Fragment { } }); mResultLayout.setVisibility(View.GONE); - mResultLayout.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - lookupUnknownKey(mSignatureKeyId); - } - }); } private void lookupUnknownKey(long unknownKeyId) { @@ -119,7 +113,7 @@ public class DecryptFragment extends Fragment { String userId = signatureResult.getUserId(); String[] userIdSplit = PgpKeyHelper.splitUserId(userId); if (userIdSplit[0] != null) { - mUserId.setText(userId); + mUserId.setText(userIdSplit[0]); } else { mUserId.setText(R.string.user_id_no_name); } @@ -132,37 +126,63 @@ public class DecryptFragment extends Fragment { switch (signatureResult.getStatus()) { case OpenPgpSignatureResult.SIGNATURE_SUCCESS_CERTIFIED: { - mResultText.setText(R.string.decrypt_verified_successful); + if (signatureResult.isSignatureOnly()) { + mResultText.setText(R.string.decrypt_result_signature_certified); + } else { + mResultText.setText(R.string.decrypt_result_decrypted_and_signature_certified); + } mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_green)); mSignatureStatusImage.setImageResource(R.drawable.overlay_ok); + mSignatureLayout.setVisibility(View.VISIBLE); mLookupKey.setVisibility(View.GONE); break; } case OpenPgpSignatureResult.SIGNATURE_SUCCESS_UNCERTIFIED: { - mResultText.setText(R.string.decrypt_verified_successful); + if (signatureResult.isSignatureOnly()) { + mResultText.setText(R.string.decrypt_result_signature_uncertified); + } else { + mResultText.setText(R.string.decrypt_result_decrypted_and_signature_uncertified); + } mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_orange)); mSignatureStatusImage.setImageResource(R.drawable.overlay_ok); + mSignatureLayout.setVisibility(View.VISIBLE); mLookupKey.setVisibility(View.GONE); break; } case OpenPgpSignatureResult.SIGNATURE_UNKNOWN_PUB_KEY: { - mResultText.setText(R.string.unknown_signature); + if (signatureResult.isSignatureOnly()) { + mResultText.setText(R.string.decrypt_result_signature_unknown_pub_key); + } else { + mResultText.setText(R.string.decrypt_result_decrypted_unknown_pub_key); + } mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_orange)); mSignatureStatusImage.setImageResource(R.drawable.overlay_error); + mSignatureLayout.setVisibility(View.VISIBLE); mLookupKey.setVisibility(View.VISIBLE); break; } + case OpenPgpSignatureResult.SIGNATURE_ERROR: { + mResultText.setText(R.string.decrypt_result_invalid_signature); + + mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_red)); + mSignatureStatusImage.setImageResource(R.drawable.overlay_error); + mSignatureLayout.setVisibility(View.GONE); + mLookupKey.setVisibility(View.GONE); + break; + } + default: { mResultText.setText(R.string.error); mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_red)); mSignatureStatusImage.setImageResource(R.drawable.overlay_error); + mSignatureLayout.setVisibility(View.GONE); mLookupKey.setVisibility(View.GONE); break; } @@ -172,7 +192,7 @@ public class DecryptFragment extends Fragment { // only successful decryption mResultLayout.setBackgroundColor(getResources().getColor(R.color.result_blue)); - mResultText.setText(R.string.decrypt_successful); + mResultText.setText(R.string.decrypt_result_decrypted); } } -- cgit v1.2.3