diff options
| author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-06-22 13:32:07 +0200 | 
|---|---|---|
| committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-06-22 13:32:07 +0200 | 
| commit | 857b15cbd5e84dc94350b4b2b1317c5ac411af38 (patch) | |
| tree | 448ad792002202628ec482d71fc46eaf16122ff5 /OpenKeychain/src/main/java | |
| parent | a1525bffe23fd0f86e77250f894eacbc481aed77 (diff) | |
| download | open-keychain-857b15cbd5e84dc94350b4b2b1317c5ac411af38.tar.gz open-keychain-857b15cbd5e84dc94350b4b2b1317c5ac411af38.tar.bz2 open-keychain-857b15cbd5e84dc94350b4b2b1317c5ac411af38.zip | |
use hashcode instead of keyid in import list (keyids may not be unique!)
Diffstat (limited to 'OpenKeychain/src/main/java')
3 files changed, 12 insertions, 2 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 47265c3aa..0a49cb629 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/keyimport/ImportKeysListEntry.java @@ -46,6 +46,7 @@ public class ImportKeysListEntry implements Serializable, Parcelable {      private String mExtraData;      private String mQuery;      private String mOrigin; +    private Integer mHashCode = null;      private boolean mSelected; @@ -98,6 +99,13 @@ public class ImportKeysListEntry implements Serializable, Parcelable {          }      }; +    public int hashCode() { +        if (mHashCode != null) { +            return mHashCode; +        } +        return super.hashCode(); +    } +      public String getKeyIdHex() {          return mKeyIdHex;      } @@ -240,6 +248,8 @@ public class ImportKeysListEntry implements Serializable, Parcelable {          mSecretKey = ring.isSecret();          UncachedPublicKey key = ring.getPublicKey(); +        mHashCode = key.hashCode(); +          mPrimaryUserId = key.getPrimaryUserId();          mUserIds = key.getUnorderedUserIds(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysListFragment.java index d77e3a452..84fd513a0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysListFragment.java @@ -79,7 +79,7 @@ public class ImportKeysListFragment extends ListFragment implements      public ArrayList<ParcelableKeyRing> getSelectedData() {          ArrayList<ParcelableKeyRing> result = new ArrayList<ParcelableKeyRing>();          for (ImportKeysListEntry entry : getSelectedEntries()) { -            result.add(mCachedKeyData.get(entry.getKeyId())); +            result.add(mCachedKeyData.get(entry.hashCode()));          }          return result;      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListLoader.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListLoader.java index c2712e89e..99f959035 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListLoader.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListLoader.java @@ -138,7 +138,7 @@ public class ImportKeysListLoader                  for(UncachedKeyRing key : rings) {                      ImportKeysListEntry item = new ImportKeysListEntry(getContext(), key);                      mData.add(item); -                    mParcelableRings.put(key.getMasterKeyId(), new ParcelableKeyRing(key.getEncoded())); +                    mParcelableRings.put(item.hashCode(), new ParcelableKeyRing(key.getEncoded()));                      isEmpty = false;                  }              } | 
