aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-03-12 02:11:16 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2014-03-12 02:25:48 +0100
commit84598dd66575a767f1061c03807eae741ce5199f (patch)
treea2abf20118f3f88f4beef271b9f4f57eb170f3a4 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider
parent57873650b1b0ccdfb949a5e20a6ac039504a2461 (diff)
downloadopen-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.java19
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;