aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-03-02 15:44:34 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-03-02 15:44:34 +0100
commit69865a6d574e2a81b6ba4fbd11254d90629c14aa (patch)
treefb80d3940621a65531553fb629f30a35b1445941 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java
parent0557e0680e3cdedc32f8ebe35105b772c7b3935b (diff)
downloadopen-keychain-69865a6d574e2a81b6ba4fbd11254d90629c14aa.tar.gz
open-keychain-69865a6d574e2a81b6ba4fbd11254d90629c14aa.tar.bz2
open-keychain-69865a6d574e2a81b6ba4fbd11254d90629c14aa.zip
Use index constants in ContactHelper
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java27
1 files changed, 20 insertions, 7 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java
index 60bc846b2..3cf201ed7 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ContactHelper.java
@@ -57,10 +57,20 @@ public class ContactHelper {
KeychainContract.KeyRings.MASTER_KEY_ID,
KeychainContract.KeyRings.EXPIRY,
KeychainContract.KeyRings.IS_REVOKED};
+
+ public static final int INDEX_USER_ID = 0;
+ public static final int INDEX_FINGERPRINT = 1;
+ public static final int INDEX_KEY_ID = 2;
+ public static final int INDEX_MASTER_KEY_ID = 3;
+ public static final int INDEX_EXPIRY = 4;
+ public static final int INDEX_IS_REVOKED = 5;
+
public static final String[] USER_IDS_PROJECTION = new String[]{
UserPackets.USER_ID
};
+ public static final int INDEX_USER_IDS_USER_ID = 0;
+
public static final String NON_REVOKED_SELECTION = UserPackets.IS_REVOKED + "=0";
public static final String[] ID_PROJECTION = new String[]{ContactsContract.RawContacts._ID};
@@ -301,23 +311,26 @@ public class ContactHelper {
null, null, null);
if (cursor != null) {
while (cursor.moveToNext()) {
- String[] primaryUserId = KeyRing.splitUserId(cursor.getString(0));
- String fingerprint = KeyFormattingUtils.convertFingerprintToHex(cursor.getBlob(1));
+ String[] primaryUserId = KeyRing.splitUserId(cursor.getString(INDEX_USER_ID));
+ String fingerprint = KeyFormattingUtils.convertFingerprintToHex(cursor.getBlob(INDEX_FINGERPRINT));
contactFingerprints.remove(fingerprint);
- String keyIdShort = KeyFormattingUtils.convertKeyIdToHexShort(cursor.getLong(2));
- long masterKeyId = cursor.getLong(3);
- boolean isExpired = !cursor.isNull(4) && new Date(cursor.getLong(4) * 1000).before(new Date());
- boolean isRevoked = cursor.getInt(5) > 0;
+ String keyIdShort = KeyFormattingUtils.convertKeyIdToHexShort(cursor.getLong(INDEX_KEY_ID));
+ long masterKeyId = cursor.getLong(INDEX_MASTER_KEY_ID);
+ boolean isExpired = !cursor.isNull(INDEX_EXPIRY)
+ && new Date(cursor.getLong(INDEX_EXPIRY) * 1000).before(new Date());
+ boolean isRevoked = cursor.getInt(INDEX_IS_REVOKED) > 0;
int rawContactId = findRawContactId(resolver, fingerprint);
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
+ Log.d(Constants.TAG, "raw contact id: "+rawContactId);
+
// Do not store expired or revoked keys in contact db - and remove them if they already exist
if (isExpired || isRevoked) {
if (rawContactId != -1) {
resolver.delete(ContactsContract.RawContacts.CONTENT_URI, ID_SELECTION,
new String[]{Integer.toString(rawContactId)});
}
- } else {
+ } else if (primaryUserId[0] != null) {
// Create a new rawcontact with corresponding key if it does not exist yet
if (rawContactId == -1) {