From b9c05044655358c8eebd822030d68c76f754d6cb Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Sat, 25 Oct 2014 22:20:43 +0200 Subject: remove unnecessary (and buggy) BufferedInputStream wrapping --- .../keychain/ui/adapter/ImportKeysAdapter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java index a9795cdd1..08a0c524b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java @@ -70,6 +70,7 @@ public class ImportKeysAdapter extends ArrayAdapter { @TargetApi(Build.VERSION_CODES.HONEYCOMB) public void setData(List data) { + clear(); if (data != null) { this.mData = data; @@ -89,16 +90,24 @@ public class ImportKeysAdapter extends ArrayAdapter { return mData; } + /** This method returns a list of all selected entries, with public keys sorted + * before secret keys, see ImportExportOperation for specifics. + * @see org.sufficientlysecure.keychain.operations.ImportExportOperation + */ public ArrayList getSelectedEntries() { ArrayList result = new ArrayList(); + ArrayList secrets = new ArrayList(); if (mData == null) { return result; } for (ImportKeysListEntry entry : mData) { if (entry.isSelected()) { - result.add(entry); + // add this entry to either the secret or the public list + (entry.isSecretKey() ? secrets : result).add(entry); } } + // add secret keys at the end of the list + result.addAll(secrets); return result; } -- cgit v1.2.3