aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-05-27 13:49:39 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-05-27 13:49:39 +0200
commit4a6aaf1e836bd3833c67418a3b77f647b2d8b782 (patch)
tree21082d6011068e85e172cecb435ac9664109fb29 /OpenKeychain/src/main/java
parent97af8b2a01af74069d72ca25539cb7465a6440f0 (diff)
downloadopen-keychain-4a6aaf1e836bd3833c67418a3b77f647b2d8b782.tar.gz
open-keychain-4a6aaf1e836bd3833c67418a3b77f647b2d8b782.tar.bz2
open-keychain-4a6aaf1e836bd3833c67418a3b77f647b2d8b782.zip
fix missing userIds in ImportKeysListEntry
Diffstat (limited to 'OpenKeychain/src/main/java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java3
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java10
2 files changed, 9 insertions, 4 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java
index 2d8a97809..0187fe52a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java
@@ -229,8 +229,6 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
*/
@SuppressWarnings("unchecked")
public ImportKeysListEntry(Context context, UncachedKeyRing ring) {
- // TODO less bouncy castle objects!
-
// save actual key object into entry, used to import it later
try {
this.mBytes = ring.getEncoded();
@@ -245,6 +243,7 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
UncachedPublicKey key = ring.getPublicKey();
mPrimaryUserId = key.getPrimaryUserId();
+ userIds = key.getUnorderedUserIds();
// if there was no user id flagged as primary, use the first one
if (mPrimaryUserId == null) {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java
index 7f6fae4a6..5dbe4b316 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedPublicKey.java
@@ -71,9 +71,7 @@ public class UncachedPublicKey {
}
public String getPrimaryUserId() {
- List<String> userIds = new ArrayList<String>();
for (String userId : new IterableIterator<String>(mPublicKey.getUserIDs())) {
- userIds.add(userId);
for (PGPSignature sig : new IterableIterator<PGPSignature>(mPublicKey.getSignaturesForID(userId))) {
if (sig.getHashedSubPackets() != null
&& sig.getHashedSubPackets().hasSubpacket(SignatureSubpacketTags.PRIMARY_USER_ID)) {
@@ -94,6 +92,14 @@ public class UncachedPublicKey {
return null;
}
+ public ArrayList<String> getUnorderedUserIds() {
+ ArrayList<String> userIds = new ArrayList<String>();
+ for (String userId : new IterableIterator<String>(mPublicKey.getUserIDs())) {
+ userIds.add(userId);
+ }
+ return userIds;
+ }
+
public boolean isElGamalEncrypt() {
return getAlgorithm() == PGPPublicKey.ELGAMAL_ENCRYPT;
}