aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain
diff options
context:
space:
mode:
authoruberspot <onexemailx@gmail.com>2014-03-26 14:06:40 +0200
committeruberspot <onexemailx@gmail.com>2014-03-26 14:07:41 +0200
commit8d23ba968a033cd29ac63216ad4f2179222b0cbf (patch)
tree572c21719ee163c283107d14db79464b09d91047 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain
parent438c05025054ac06e136432ff880c4f55e3d3be5 (diff)
downloadopen-keychain-8d23ba968a033cd29ac63216ad4f2179222b0cbf.tar.gz
open-keychain-8d23ba968a033cd29ac63216ad4f2179222b0cbf.tar.bz2
open-keychain-8d23ba968a033cd29ac63216ad4f2179222b0cbf.zip
add strike through text for revoked or expired keys and disable views for revoked keys as well
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/OtherHelper.java14
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyKeysAdapter.java23
2 files changed, 27 insertions, 10 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/OtherHelper.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/OtherHelper.java
index d0ba20ea6..b31a889f0 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/OtherHelper.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/OtherHelper.java
@@ -17,18 +17,14 @@
package org.sufficientlysecure.keychain.helper;
-import android.graphics.Color;
import android.os.Bundle;
-import android.text.Spannable;
import android.text.SpannableStringBuilder;
-import android.text.style.ForegroundColorSpan;
+import android.text.Spanned;
+import android.text.style.StrikethroughSpan;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.util.Log;
-import java.security.DigestException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
import java.util.Iterator;
import java.util.Set;
@@ -65,4 +61,10 @@ public class OtherHelper {
}
}
+ public static SpannableStringBuilder strikeOutText(CharSequence text) {
+ SpannableStringBuilder sb = new SpannableStringBuilder(text);
+ sb.setSpan(new StrikethroughSpan(), 0, text.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+ return sb;
+ }
+
}
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyKeysAdapter.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyKeysAdapter.java
index d925480e9..ed4113fb8 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyKeysAdapter.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ViewKeyKeysAdapter.java
@@ -29,6 +29,7 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.helper.OtherHelper;
import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
import org.sufficientlysecure.keychain.provider.KeychainContract.Keys;
@@ -126,28 +127,42 @@ public class ViewKeyKeysAdapter extends CursorAdapter {
signIcon.setVisibility(View.VISIBLE);
}
+ boolean valid = true;
if (cursor.getInt(mIndexRevokedKey) > 0) {
revokedKeyIcon.setVisibility(View.VISIBLE);
+
keyId.setTextColor(Color.RED);
keyDetails.setTextColor(Color.RED);
+ keyExpiry.setTextColor(Color.RED);
+
+ valid = false;
} else {
keyId.setTextColor(mDefaultTextColor);
keyDetails.setTextColor(mDefaultTextColor);
+ keyExpiry.setTextColor(mDefaultTextColor);
+
revokedKeyIcon.setVisibility(View.GONE);
}
- boolean valid = true;
if (!cursor.isNull(mIndexExpiry)) {
Date expiryDate = new Date(cursor.getLong(mIndexExpiry) * 1000);
- valid = expiryDate.after(new Date());
+
+ valid = valid && expiryDate.after(new Date());
keyExpiry.setText("(" +
- context.getString(R.string.label_expiry) + ": " +
- DateFormat.getDateFormat(context).format(expiryDate) + ")");
+ context.getString(R.string.label_expiry) + ": " +
+ DateFormat.getDateFormat(context).format(expiryDate) + ")");
+
keyExpiry.setVisibility(View.VISIBLE);
}
else {
keyExpiry.setVisibility(View.GONE);
}
+ // if key is expired or revoked, strike through text
+ if (!valid) {
+ keyId.setText(OtherHelper.strikeOutText(keyId.getText()));
+ keyDetails.setText(OtherHelper.strikeOutText(keyDetails.getText()));
+ keyExpiry.setText(OtherHelper.strikeOutText(keyExpiry.getText()));
+ }
keyId.setEnabled(valid);
keyDetails.setEnabled(valid);
keyExpiry.setEnabled(valid);