diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-01-28 16:11:39 -0800 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-01-28 16:11:39 -0800 |
commit | 2b0a7f2bf8a1b2e5ed3926c3d1f081f97e15db89 (patch) | |
tree | 6e62829f4cdea8c06ab8746f9c7f3c268f5323cf /OpenPGP-Keychain/src | |
parent | 50f06c3eb387609aecb6fd5842b5946ae54a22f9 (diff) | |
parent | 2d4b2ae0dfeaa330b1d061e9a28244b09717516a (diff) | |
download | open-keychain-2b0a7f2bf8a1b2e5ed3926c3d1f081f97e15db89.tar.gz open-keychain-2b0a7f2bf8a1b2e5ed3926c3d1f081f97e15db89.tar.bz2 open-keychain-2b0a7f2bf8a1b2e5ed3926c3d1f081f97e15db89.zip |
Merge pull request #232 from ashh87/export-with-certs
Small import/export fixes
Diffstat (limited to 'OpenPGP-Keychain/src')
2 files changed, 24 insertions, 26 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java index 0a4806239..6f3ae154a 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java @@ -206,30 +206,6 @@ public class PgpImportExport { mContext.getString(R.string.error_external_storage_not_ready)); } - // export public keyrings... - ArmoredOutputStream outPub = new ArmoredOutputStream(outStream); - outPub.setHeader("Version", PgpHelper.getFullVersion(mContext)); - - int numKeys = 0; - for (int i = 0; i < keyRingMasterKeyIds.size(); ++i) { - // double the needed time if exporting both public and secret parts - if (keyType == Id.type.secret_key) { - updateProgress(i * 100 / keyRingMasterKeyIds.size() / 2, 100); - } else { - updateProgress(i * 100 / keyRingMasterKeyIds.size(), 100); - } - - PGPPublicKeyRing publicKeyRing = ProviderHelper.getPGPPublicKeyRingByMasterKeyId( - mContext, keyRingMasterKeyIds.get(i)); - - if (publicKeyRing != null) { - publicKeyRing.encode(outPub); - } - ++numKeys; - } - outPub.close(); - - // if we export secret keyrings, append all secret parts after the public parts if (keyType == Id.type.secret_key) { ArmoredOutputStream outSec = new ArmoredOutputStream(outStream); outSec.setHeader("Version", PgpHelper.getFullVersion(mContext)); @@ -245,9 +221,30 @@ public class PgpImportExport { } } outSec.close(); + } else { + // export public keyrings... + ArmoredOutputStream outPub = new ArmoredOutputStream(outStream); + outPub.setHeader("Version", PgpHelper.getFullVersion(mContext)); + + for (int i = 0; i < keyRingMasterKeyIds.size(); ++i) { + // double the needed time if exporting both public and secret parts + if (keyType == Id.type.secret_key) { + updateProgress(i * 100 / keyRingMasterKeyIds.size() / 2, 100); + } else { + updateProgress(i * 100 / keyRingMasterKeyIds.size(), 100); + } + + PGPPublicKeyRing publicKeyRing = ProviderHelper.getPGPPublicKeyRingByMasterKeyId( + mContext, keyRingMasterKeyIds.get(i)); + + if (publicKeyRing != null) { + publicKeyRing.encode(outPub); + } + } + outPub.close(); } - returnData.putInt(KeychainIntentService.RESULT_EXPORT, numKeys); + returnData.putInt(KeychainIntentService.RESULT_EXPORT, keyRingMasterKeyIds.size()); updateProgress(R.string.progress_done, 100, 100); diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java index 41539d0f8..77d4b9a26 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java @@ -98,8 +98,9 @@ public class ImportKeysAdapter extends ArrayAdapter<ImportKeysListEntry> { if (userIdSplit[0] != null && userIdSplit[0].length() > 0) { // show red user id if it is a secret key if (entry.secretKey) { - userId = mActivity.getString(R.string.secret_key) + " " + userId; + userId = mActivity.getString(R.string.secret_key) + " " + userIdSplit[0]; mainUserId.setTextColor(Color.RED); + mainUserId.setText(userId); } else { mainUserId.setText(userIdSplit[0]); } |