diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-03-12 02:11:16 +0100 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-03-12 02:25:48 +0100 |
commit | 84598dd66575a767f1061c03807eae741ce5199f (patch) | |
tree | a2abf20118f3f88f4beef271b9f4f57eb170f3a4 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider | |
parent | 57873650b1b0ccdfb949a5e20a6ac039504a2461 (diff) | |
download | open-keychain-84598dd66575a767f1061c03807eae741ce5199f.tar.gz open-keychain-84598dd66575a767f1061c03807eae741ce5199f.tar.bz2 open-keychain-84598dd66575a767f1061c03807eae741ce5199f.zip |
add view cert activity
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider')
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java index 765bd1c44..171aa9912 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java @@ -558,6 +558,7 @@ public class KeychainProvider extends ContentProvider { return c; } + boolean all = false; switch (match) { case PUBLIC_KEY_RING: case SECRET_KEY_RING: @@ -719,8 +720,10 @@ public class KeychainProvider extends ContentProvider { break; - case CERTS_BY_KEY_ROW_ID: + case CERTS_BY_ROW_ID: case CERTS_BY_KEY_ROW_ID_ALL: + all = true; + case CERTS_BY_KEY_ROW_ID: qb.setTables(Tables.CERTS + " JOIN " + Tables.USER_IDS + " ON (" + Tables.CERTS + "." + Certs.KEY_RING_ROW_ID + " = " @@ -729,7 +732,7 @@ public class KeychainProvider extends ContentProvider { + Tables.CERTS + "." + Certs.RANK + " = " + Tables.USER_IDS + "." + UserIds.RANK // noooooooot sure about this~ database design - + ")" + (match == CERTS_BY_KEY_ROW_ID_ALL ? " LEFT" : "") + + ")" + (all ? " LEFT" : "") + " JOIN " + Tables.KEYS + " ON (" + Tables.CERTS + "." + Certs.KEY_ID_CERTIFIER + " = " + Tables.KEYS + "." + Keys.KEY_ID @@ -745,8 +748,11 @@ public class KeychainProvider extends ContentProvider { HashMap<String, String> pmap2 = new HashMap<String, String>(); pmap2.put(Certs._ID, Tables.CERTS + "." + Certs._ID); + pmap2.put(Certs.KEY_ID, Tables.CERTS + "." + Certs.KEY_ID); pmap2.put(Certs.RANK, Tables.CERTS + "." + Certs.RANK); + pmap2.put(Certs.CREATION, Tables.CERTS + "." + Certs.CREATION); pmap2.put(Certs.KEY_ID_CERTIFIER, Tables.CERTS + "." + Certs.KEY_ID_CERTIFIER); + pmap2.put(Certs.KEY_DATA, Tables.CERTS + "." + Certs.KEY_DATA); pmap2.put(Certs.VERIFIED, Tables.CERTS + "." + Certs.VERIFIED); // verified key data pmap2.put(UserIds.USER_ID, Tables.USER_IDS + "." + UserIds.USER_ID); @@ -754,8 +760,13 @@ public class KeychainProvider extends ContentProvider { pmap2.put("signer_uid", "signer." + UserIds.USER_ID + " AS signer_uid"); qb.setProjectionMap(pmap2); - qb.appendWhere(Tables.CERTS + "." + Certs.KEY_RING_ROW_ID + " = "); - qb.appendWhereEscapeString(uri.getPathSegments().get(2)); + if(match == CERTS_BY_ROW_ID) { + qb.appendWhere(Tables.CERTS + "." + Certs._ID + " = "); + qb.appendWhereEscapeString(uri.getPathSegments().get(1)); + } else { + qb.appendWhere(Tables.CERTS + "." + Certs.KEY_RING_ROW_ID + " = "); + qb.appendWhereEscapeString(uri.getPathSegments().get(2)); + } break; |