aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-10-05 04:09:55 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-10-05 04:09:55 +0200
commit0b9308753d7339251f9051316b00f6f0c9b0efbc (patch)
treedb1811306fa10eaffaf5366b153b9c1f26ef970c /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java
parentd38b200b0107e8eab937aa94b8f74d23603c23cc (diff)
downloadopen-keychain-0b9308753d7339251f9051316b00f6f0c9b0efbc.tar.gz
open-keychain-0b9308753d7339251f9051316b00f6f0c9b0efbc.tar.bz2
open-keychain-0b9308753d7339251f9051316b00f6f0c9b0efbc.zip
use status icons in public key selection
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java34
1 files changed, 18 insertions, 16 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java
index 6947fc1ff..c864c7138 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SelectKeyCursorAdapter.java
@@ -24,6 +24,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
+import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@@ -33,8 +34,6 @@ import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
import org.sufficientlysecure.keychain.ui.util.Highlighter;
-import java.util.Date;
-
/**
* Yes this class is abstract!
@@ -44,7 +43,7 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
private String mQuery;
private LayoutInflater mInflater;
- protected int mIndexUserId, mIndexMasterKeyId, mIndexRevoked, mIndexExpiry;
+ protected int mIndexUserId, mIndexMasterKeyId, mIndexIsExpiry, mIndexIsRevoked;
public SelectKeyCursorAdapter(Context context, Cursor c, int flags, ListView listView) {
super(context, c, flags);
@@ -73,8 +72,8 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
if (cursor != null) {
mIndexUserId = cursor.getColumnIndexOrThrow(KeyRings.USER_ID);
mIndexMasterKeyId = cursor.getColumnIndexOrThrow(KeyRings.MASTER_KEY_ID);
- mIndexExpiry = cursor.getColumnIndexOrThrow(KeyRings.EXPIRY);
- mIndexRevoked = cursor.getColumnIndexOrThrow(KeyRings.IS_REVOKED);
+ mIndexIsExpiry = cursor.getColumnIndexOrThrow(KeyRings.IS_EXPIRED);
+ mIndexIsRevoked = cursor.getColumnIndexOrThrow(KeyRings.IS_REVOKED);
}
}
@@ -90,7 +89,8 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
public static class ViewHolderItem {
public View view;
- public TextView mainUserId, mainUserIdRest, keyId, status;
+ public TextView mainUserId, mainUserIdRest, keyId;
+ public ImageView statusIcon;
public CheckBox selected;
public void setEnabled(boolean enabled) {
@@ -99,7 +99,7 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
mainUserId.setEnabled(enabled);
mainUserIdRest.setEnabled(enabled);
keyId.setEnabled(enabled);
- status.setEnabled(enabled);
+ statusIcon.setEnabled(enabled);
// Sorta special: We set an item as clickable to disable it in the ListView. This works
// because the list item will handle the clicks itself (which is a nop)
@@ -130,19 +130,21 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
long masterKeyId = cursor.getLong(mIndexMasterKeyId);
h.keyId.setText(KeyFormattingUtils.beautifyKeyIdWithPrefix(mContext, masterKeyId));
- boolean enabled = true;
- if (cursor.getInt(mIndexRevoked) != 0) {
- h.status.setText(R.string.revoked);
+ boolean enabled;
+ if (cursor.getInt(mIndexIsRevoked) != 0) {
+ h.statusIcon.setVisibility(View.VISIBLE);
+ KeyFormattingUtils.setStatusImage(mContext, h.statusIcon, KeyFormattingUtils.STATE_REVOKED);
enabled = false;
- } else if (!cursor.isNull(mIndexExpiry)
- && new Date(cursor.getLong(mIndexExpiry) * 1000).before(new Date())) {
- h.status.setText(R.string.expired);
+ } else if (cursor.getInt(mIndexIsExpiry) != 0) {
+ h.statusIcon.setVisibility(View.VISIBLE);
+ KeyFormattingUtils.setStatusImage(mContext, h.statusIcon, KeyFormattingUtils.STATE_EXPIRED);
enabled = false;
} else {
- h.status.setText("");
+ h.statusIcon.setVisibility(View.GONE);
+ enabled = true;
}
- h.status.setTag(enabled);
+ h.statusIcon.setTag(enabled);
}
@Override
@@ -153,7 +155,7 @@ abstract public class SelectKeyCursorAdapter extends CursorAdapter {
holder.mainUserId = (TextView) view.findViewById(R.id.mainUserId);
holder.mainUserIdRest = (TextView) view.findViewById(R.id.mainUserIdRest);
holder.keyId = (TextView) view.findViewById(R.id.subkey_item_key_id);
- holder.status = (TextView) view.findViewById(R.id.status);
+ holder.statusIcon = (ImageView) view.findViewById(R.id.status_icon);
holder.selected = (CheckBox) view.findViewById(R.id.selected);
view.setTag(holder);
return view;