aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-08-01 09:31:17 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-08-01 09:31:17 +0200
commit13a85e570242b3b320b976f037c877ccd2b225f8 (patch)
tree357b692fd1f27824c89782412d193c2224fa328b /OpenKeychain
parentd03d57417791fed267b78625e12303c6f018e3e9 (diff)
parent3a97c36d4afed3628e02234c7dcc9ffba6560a5f (diff)
downloadopen-keychain-13a85e570242b3b320b976f037c877ccd2b225f8.tar.gz
open-keychain-13a85e570242b3b320b976f037c877ccd2b225f8.tar.bz2
open-keychain-13a85e570242b3b320b976f037c877ccd2b225f8.zip
Merge pull request #726 from mar-v-in/fix-import-from-server
Fix import from server
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
index 0ebf84241..bcc042146 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
@@ -135,6 +135,9 @@ public class KeychainIntentService extends IntentService
// delete file securely
public static final String DELETE_FILE = "deleteFile";
+ // import key
+ public static final String IMPORT_KEY_LIST = "import_key_list";
+
// export key
public static final String EXPORT_OUTPUT_STREAM = "export_output_stream";
public static final String EXPORT_FILENAME = "export_filename";
@@ -384,9 +387,15 @@ public class KeychainIntentService extends IntentService
}
} else if (ACTION_IMPORT_KEYRING.equals(action)) {
try {
- // get entries from cached file
- FileImportCache cache = new FileImportCache(this);
- List<ParcelableKeyRing> entries = cache.readCache();
+ List<ParcelableKeyRing> entries;
+ if (data.containsKey(IMPORT_KEY_LIST)) {
+ // get entries from intent
+ entries = data.getParcelableArrayList(IMPORT_KEY_LIST);
+ } else {
+ // get entries from cached file
+ FileImportCache cache = new FileImportCache(this);
+ entries = cache.readCache();
+ }
PgpImportExport pgpImportExport = new PgpImportExport(this, this);
ImportKeyResult result = pgpImportExport.importKeyRings(entries);
@@ -520,6 +529,8 @@ public class KeychainIntentService extends IntentService
FileImportCache cache = new FileImportCache(this);
cache.writeCache(keyRings);
Bundle importData = new Bundle();
+ // This is not going through binder, nothing to fear of
+ importData.putParcelableArrayList(IMPORT_KEY_LIST, keyRings);
importIntent.putExtra(EXTRA_DATA, importData);
importIntent.putExtra(EXTRA_MESSENGER, mMessenger);