aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java31
1 files changed, 20 insertions, 11 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java
index d457e75bd..489cbcefb 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/SubkeysAdapter.java
@@ -35,7 +35,9 @@ import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;
import org.sufficientlysecure.keychain.provider.KeychainContract.Keys;
import org.sufficientlysecure.keychain.service.SaveKeyringParcel;
+import java.util.Calendar;
import java.util.Date;
+import java.util.TimeZone;
public class SubkeysAdapter extends CursorAdapter {
private LayoutInflater mInflater;
@@ -50,6 +52,7 @@ public class SubkeysAdapter extends CursorAdapter {
Keys.RANK,
Keys.ALGORITHM,
Keys.KEY_SIZE,
+ Keys.KEY_CURVE_OID,
Keys.HAS_SECRET,
Keys.CAN_CERTIFY,
Keys.CAN_ENCRYPT,
@@ -64,14 +67,15 @@ public class SubkeysAdapter extends CursorAdapter {
private static final int INDEX_RANK = 2;
private static final int INDEX_ALGORITHM = 3;
private static final int INDEX_KEY_SIZE = 4;
- private static final int INDEX_HAS_SECRET = 5;
- private static final int INDEX_CAN_CERTIFY = 6;
- private static final int INDEX_CAN_ENCRYPT = 7;
- private static final int INDEX_CAN_SIGN = 8;
- private static final int INDEX_IS_REVOKED = 9;
- private static final int INDEX_CREATION = 10;
- private static final int INDEX_EXPIRY = 11;
- private static final int INDEX_FINGERPRINT = 12;
+ private static final int INDEX_KEY_CURVE_OID = 5;
+ private static final int INDEX_HAS_SECRET = 6;
+ private static final int INDEX_CAN_CERTIFY = 7;
+ private static final int INDEX_CAN_ENCRYPT = 8;
+ private static final int INDEX_CAN_SIGN = 9;
+ private static final int INDEX_IS_REVOKED = 10;
+ private static final int INDEX_CREATION = 11;
+ private static final int INDEX_EXPIRY = 12;
+ private static final int INDEX_FINGERPRINT = 13;
public SubkeysAdapter(Context context, Cursor c, int flags,
SaveKeyringParcel saveKeyringParcel) {
@@ -139,7 +143,8 @@ public class SubkeysAdapter extends CursorAdapter {
String algorithmStr = PgpKeyHelper.getAlgorithmInfo(
context,
cursor.getInt(INDEX_ALGORITHM),
- cursor.getInt(INDEX_KEY_SIZE)
+ cursor.getInt(INDEX_KEY_SIZE),
+ cursor.getString(INDEX_KEY_CURVE_OID)
);
vKeyId.setText(keyIdStr);
@@ -183,7 +188,7 @@ public class SubkeysAdapter extends CursorAdapter {
SaveKeyringParcel.SubkeyChange subkeyChange = mSaveKeyringParcel.getSubkeyChange(keyId);
if (subkeyChange != null) {
- if (subkeyChange.mExpiry == null) {
+ if (subkeyChange.mExpiry == null || subkeyChange.mExpiry == 0L) {
expiryDate = null;
} else {
expiryDate = new Date(subkeyChange.mExpiry * 1000);
@@ -198,9 +203,13 @@ public class SubkeysAdapter extends CursorAdapter {
boolean isExpired;
if (expiryDate != null) {
isExpired = expiryDate.before(new Date());
+ Calendar expiryCal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
+ expiryCal.setTime(expiryDate);
+ // convert from UTC to time zone of device
+ expiryCal.setTimeZone(TimeZone.getDefault());
vKeyExpiry.setText(context.getString(R.string.label_expiry) + ": "
- + DateFormat.getDateFormat(context).format(expiryDate));
+ + DateFormat.getDateFormat(context).format(expiryCal.getTime()));
} else {
isExpired = false;