aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/thialfihar/android/apg/KeyListActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/thialfihar/android/apg/KeyListActivity.java')
-rw-r--r--src/org/thialfihar/android/apg/KeyListActivity.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/org/thialfihar/android/apg/KeyListActivity.java b/src/org/thialfihar/android/apg/KeyListActivity.java
index 2f9d15326..57a7f5de1 100644
--- a/src/org/thialfihar/android/apg/KeyListActivity.java
+++ b/src/org/thialfihar/android/apg/KeyListActivity.java
@@ -479,6 +479,7 @@ public class KeyListActivity extends BaseActivity {
private class KeyChild {
public static final int KEY = 0;
public static final int USER_ID = 1;
+ public static final int FINGER_PRINT = 2;
public int type;
public String userId;
@@ -488,9 +489,11 @@ public class KeyListActivity extends BaseActivity {
public int keySize;
public boolean canSign;
public boolean canEncrypt;
+ public String fingerPrint;
public KeyChild(long keyId, boolean isMasterKey, int algorithm, int keySize,
boolean canSign, boolean canEncrypt) {
+ this.type = KEY;
this.keyId = keyId;
this.isMasterKey = isMasterKey;
this.algorithm = algorithm;
@@ -503,6 +506,11 @@ public class KeyListActivity extends BaseActivity {
type = USER_ID;
this.userId = userId;
}
+
+ public KeyChild(String fingerPrint, boolean isFingerPrint) {
+ type = FINGER_PRINT;
+ this.fingerPrint = fingerPrint;
+ }
}
public KeyListAdapter(Context context, String searchString) {
@@ -604,18 +612,21 @@ public class KeyListActivity extends BaseActivity {
new String[] { mCursor.getString(0) },
null, null, Keys.RANK + " ASC");
- long masterKeyId = -1;
+ int masterKeyId = -1;
+ long fingerPrintId = -1;
for (int i = 0; i < c.getCount(); ++i) {
c.moveToPosition(i);
children.add(new KeyChild(c.getLong(1), c.getInt(2) == 1, c.getInt(3), c.getInt(4),
c.getInt(5) == 1, c.getInt(6) == 1));
if (i == 0) {
masterKeyId = c.getInt(0);
+ fingerPrintId = c.getLong(1);
}
}
c.close();
if (masterKeyId != -1) {
+ children.insertElementAt(new KeyChild(Apg.getFingerPrint(fingerPrintId), true), 0);
c = mDatabase.query(UserIds.TABLE_NAME,
new String[] {
UserIds.USER_ID, // 0
@@ -725,7 +736,7 @@ public class KeyListActivity extends BaseActivity {
}
TextView keyId = (TextView) view.findViewById(R.id.keyId);
- String keyIdStr = Apg.getFingerPrint(child.keyId);
+ String keyIdStr = Apg.getSmallFingerPrint(child.keyId);
keyId.setText(keyIdStr);
TextView keyDetails = (TextView) view.findViewById(R.id.keyDetails);
String algorithmStr = Apg.getAlgorithmInfo(child.algorithm, child.keySize);
@@ -749,6 +760,14 @@ public class KeyListActivity extends BaseActivity {
userId.setText(child.userId);
break;
}
+
+ case KeyChild.FINGER_PRINT: {
+ view = mInflater.inflate(R.layout.key_list_child_item_user_id, null);
+ TextView userId = (TextView) view.findViewById(R.id.userId);
+ userId.setText(getString(R.string.fingerprint) + ":\n" +
+ child.fingerPrint.replace(" ", "\n"));
+ break;
+ }
}
return view;
}