diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-01 09:31:17 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-01 09:31:17 +0200 |
commit | 13a85e570242b3b320b976f037c877ccd2b225f8 (patch) | |
tree | 357b692fd1f27824c89782412d193c2224fa328b /OpenKeychain/src | |
parent | d03d57417791fed267b78625e12303c6f018e3e9 (diff) | |
parent | 3a97c36d4afed3628e02234c7dcc9ffba6560a5f (diff) | |
download | open-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/src')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java | 17 |
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); |