diff --git a/src/org/thialfihar/android/apg/Apg.java b/src/org/thialfihar/android/apg/Apg.java index cf71185e1..34c2acc6b 100644 --- a/src/org/thialfihar/android/apg/Apg.java +++ b/src/org/thialfihar/android/apg/Apg.java @@ -400,8 +400,7 @@ public class Apg { throws Apg.GeneralException, NoSuchProviderException, PGPException, NoSuchAlgorithmException, SignatureException, IOException, Database.GeneralException { - if( progress != null ) - progress.setProgress(R.string.progress_buildingKey, 0, 100); + progress.setProgress(R.string.progress_buildingKey, 0, 100); Security.addProvider(new BouncyCastleProvider()); @@ -462,8 +461,7 @@ public class Apg { keys.add(editor.getValue()); } - if( progress != null ) - progress.setProgress(R.string.progress_preparingMasterKey, 10, 100); + progress.setProgress(R.string.progress_preparingMasterKey, 10, 100); KeyEditor keyEditor = (KeyEditor) keyEditors.getChildAt(0); int usageId = keyEditor.getUsage(); boolean canSign = (usageId == Id.choice.usage.sign_only || @@ -483,8 +481,7 @@ public class Apg { masterKey.extractPrivateKey(oldPassPhrase.toCharArray(), new BouncyCastleProvider()); - if( progress != null ) - progress.setProgress(R.string.progress_certifyingMasterKey, 20, 100); + progress.setProgress(R.string.progress_certifyingMasterKey, 20, 100); for (int i = 0; i < userIds.size(); ++i) { String userId = userIds.get(i); @@ -528,8 +525,7 @@ public class Apg { hashedPacketsGen.setKeyExpirationTime(true, numDays * 86400); } - if( progress != null ) - progress.setProgress(R.string.progress_buildingMasterKeyRing, 30, 100); + progress.setProgress(R.string.progress_buildingMasterKeyRing, 30, 100); PGPKeyRingGenerator keyGen = new PGPKeyRingGenerator(PGPSignature.POSITIVE_CERTIFICATION, masterKeyPair, mainUserId, @@ -537,11 +533,9 @@ public class Apg { hashedPacketsGen.generate(), unhashedPacketsGen.generate(), new SecureRandom(), new BouncyCastleProvider().getName()); - if( progress != null ) - progress.setProgress(R.string.progress_addingSubKeys, 40, 100); + progress.setProgress(R.string.progress_addingSubKeys, 40, 100); for (int i = 1; i < keys.size(); ++i) { - if( progress != null ) - progress.setProgress(40 + 50 * (i - 1)/ (keys.size() - 1), 100); + progress.setProgress(40 + 50 * (i - 1)/ (keys.size() - 1), 100); PGPSecretKey subKey = keys.get(i); keyEditor = (KeyEditor) keyEditors.getChildAt(i); PGPPublicKey subPublicKey = subKey.getPublicKey(); @@ -590,13 +584,11 @@ public class Apg { PGPSecretKeyRing secretKeyRing = keyGen.generateSecretKeyRing(); PGPPublicKeyRing publicKeyRing = keyGen.generatePublicKeyRing(); - if( progress != null ) - progress.setProgress(R.string.progress_savingKeyRing, 90, 100); + progress.setProgress(R.string.progress_savingKeyRing, 90, 100); mDatabase.saveKeyRing(secretKeyRing); mDatabase.saveKeyRing(publicKeyRing); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); } public static Bundle importKeyRings(Activity context, int type, @@ -606,11 +598,9 @@ public class Apg { Bundle returnData = new Bundle(); if (type == Id.type.secret_key) { - if( progress != null ) - progress.setProgress(R.string.progress_importingSecretKeys, 0, 100); + progress.setProgress(R.string.progress_importingSecretKeys, 0, 100); } else { - if( progress != null ) - progress.setProgress(R.string.progress_importingPublicKeys, 0, 100); + progress.setProgress(R.string.progress_importingPublicKeys, 0, 100); } if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { @@ -681,8 +671,7 @@ public class Apg { } else if (retValue == Id.return_value.bad) { ++badKeys; } - if( progress != null ) - progress.setProgress((int)(100 * progressIn.position() / data.getSize()), 100); + progress.setProgress((int)(100 * progressIn.position() / data.getSize()), 100); obj = objectFactory.nextObject(); } } @@ -694,8 +683,7 @@ public class Apg { returnData.putInt("updated", oldKeys); returnData.putInt("bad", badKeys); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); return returnData; } @@ -707,11 +695,9 @@ public class Apg { Bundle returnData = new Bundle(); if (keyRingIds.size() == 1) { - if( progress != null ) - progress.setProgress(R.string.progress_exportingKey, 0, 100); + progress.setProgress(R.string.progress_exportingKey, 0, 100); } else { - if( progress != null ) - progress.setProgress(R.string.progress_exportingKeys, 0, 100); + progress.setProgress(R.string.progress_exportingKeys, 0, 100); } if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { @@ -721,8 +707,7 @@ public class Apg { int numKeys = 0; for (int i = 0; i < keyRingIds.size(); ++i) { - if( progress != null ) - progress.setProgress(i * 100 / keyRingIds.size(), 100); + progress.setProgress(i * 100 / keyRingIds.size(), 100); Object obj = mDatabase.getKeyRing(keyRingIds.get(i)); PGPPublicKeyRing publicKeyRing; PGPSecretKeyRing secretKeyRing; @@ -741,8 +726,7 @@ public class Apg { out.close(); returnData.putInt("exported", numKeys); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); return returnData; } @@ -1252,16 +1236,14 @@ public class Apg { if (signaturePassPhrase == null) { throw new GeneralException(context.getString(R.string.error_noSignaturePassPhrase)); } - if( progress != null ) - progress.setProgress(R.string.progress_extractingSignatureKey, 0, 100); + progress.setProgress(R.string.progress_extractingSignatureKey, 0, 100); signaturePrivateKey = signingKey.extractPrivateKey(signaturePassPhrase.toCharArray(), new BouncyCastleProvider()); if (signaturePrivateKey == null) { throw new GeneralException(context.getString(R.string.error_couldNotExtractPrivateKey)); } } - if( progress != null ) - progress.setProgress(R.string.progress_preparingStreams, 5, 100); + progress.setProgress(R.string.progress_preparingStreams, 5, 100); // encrypt and compress input file content PGPEncryptedDataGenerator cPk = new PGPEncryptedDataGenerator(symmetricAlgorithm, true, new SecureRandom(), @@ -1283,8 +1265,7 @@ public class Apg { PGPV3SignatureGenerator signatureV3Generator = null; if (signatureKeyId != 0) { - if( progress != null ) - progress.setProgress(R.string.progress_preparingSignature, 10, 100); + progress.setProgress(R.string.progress_preparingSignature, 10, 100); if (forceV3Signature) { signatureV3Generator = new PGPV3SignatureGenerator(signingKey.getPublicKey().getAlgorithm(), @@ -1325,8 +1306,7 @@ public class Apg { // file name not needed, so empty string OutputStream pOut = literalGen.open(bcpgOut, PGPLiteralData.BINARY, "", new Date(), new byte[1 << 16]); - if( progress != null ) - progress.setProgress(R.string.progress_encrypting, 20, 100); + progress.setProgress(R.string.progress_encrypting, 20, 100); long done = 0; int n = 0; byte[] buffer = new byte[1 << 16]; @@ -1342,16 +1322,14 @@ public class Apg { } done += n; if (data.getSize() != 0) { - if( progress != null ) - progress.setProgress((int) (20 + (95 - 20) * done / data.getSize()), 100); + progress.setProgress((int) (20 + (95 - 20) * done / data.getSize()), 100); } } literalGen.close(); if (signatureKeyId != 0) { - if( progress != null ) - progress.setProgress(R.string.progress_generatingSignature, 95, 100); + progress.setProgress(R.string.progress_generatingSignature, 95, 100); if (forceV3Signature) { signatureV3Generator.generate().encode(pOut); } else { @@ -1366,8 +1344,7 @@ public class Apg { armorOut.close(); } - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); } public static void signText(Context context, @@ -1406,11 +1383,9 @@ public class Apg { if (signaturePrivateKey == null) { throw new GeneralException(context.getString(R.string.error_couldNotExtractPrivateKey)); } - if( progress != null ) - progress.setProgress(R.string.progress_preparingStreams, 0, 100); + progress.setProgress(R.string.progress_preparingStreams, 0, 100); - if( progress != null ) - progress.setProgress(R.string.progress_preparingSignature, 30, 100); + progress.setProgress(R.string.progress_preparingSignature, 30, 100); PGPSignatureGenerator signatureGenerator = null; PGPV3SignatureGenerator signatureV3Generator = null; @@ -1434,8 +1409,7 @@ public class Apg { signatureGenerator.setHashedSubpackets(spGen.generate()); } - if( progress != null ) - progress.setProgress(R.string.progress_signing, 40, 100); + progress.setProgress(R.string.progress_signing, 40, 100); armorOut.beginClearText(hashAlgorithm); @@ -1478,8 +1452,7 @@ public class Apg { } armorOut.close(); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); } public static void generateSignature(Context context, @@ -1526,11 +1499,9 @@ public class Apg { if (signaturePrivateKey == null) { throw new GeneralException(context.getString(R.string.error_couldNotExtractPrivateKey)); } - if( progress != null ) - progress.setProgress(R.string.progress_preparingStreams, 0, 100); + progress.setProgress(R.string.progress_preparingStreams, 0, 100); - if( progress != null ) - progress.setProgress(R.string.progress_preparingSignature, 30, 100); + progress.setProgress(R.string.progress_preparingSignature, 30, 100); PGPSignatureGenerator signatureGenerator = null; PGPV3SignatureGenerator signatureV3Generator = null; @@ -1559,8 +1530,7 @@ public class Apg { signatureGenerator.setHashedSubpackets(spGen.generate()); } - if( progress != null ) - progress.setProgress(R.string.progress_signing, 40, 100); + progress.setProgress(R.string.progress_signing, 40, 100); InputStream inStream = data.getInputStream(); if (binary) { @@ -1603,8 +1573,7 @@ public class Apg { out.close(); outStream.close(); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); } public static long getDecryptionKeyId(Context context, InputData data) @@ -1698,8 +1667,7 @@ public class Apg { long signatureKeyId = 0; int currentProgress = 0; - if( progress != null ) - progress.setProgress(R.string.progress_readingData, currentProgress, 100); + progress.setProgress(R.string.progress_readingData, currentProgress, 100); if (o instanceof PGPEncryptedDataList) { enc = (PGPEncryptedDataList) o; @@ -1734,14 +1702,12 @@ public class Apg { throw new GeneralException(context.getString(R.string.error_noSymmetricEncryptionPacket)); } - if( progress != null ) - progress.setProgress(R.string.progress_preparingStreams, currentProgress, 100); + progress.setProgress(R.string.progress_preparingStreams, currentProgress, 100); clear = pbe.getDataStream(passPhrase.toCharArray(), new BouncyCastleProvider()); encryptedData = pbe; currentProgress += 5; } else { - if( progress != null ) - progress.setProgress(R.string.progress_findingKey, currentProgress, 100); + progress.setProgress(R.string.progress_findingKey, currentProgress, 100); PGPPublicKeyEncryptedData pbe = null; PGPSecretKey secretKey = null; Iterator it = enc.getEncryptedDataObjects(); @@ -1763,8 +1729,7 @@ public class Apg { } currentProgress += 5; - if( progress != null ) - progress.setProgress(R.string.progress_extractingKey, currentProgress, 100); + progress.setProgress(R.string.progress_extractingKey, currentProgress, 100); PGPPrivateKey privateKey = null; try { privateKey = secretKey.extractPrivateKey(passPhrase.toCharArray(), @@ -1776,8 +1741,7 @@ public class Apg { throw new GeneralException(context.getString(R.string.error_couldNotExtractPrivateKey)); } currentProgress += 5; - if( progress != null ) - progress.setProgress(R.string.progress_preparingStreams, currentProgress, 100); + progress.setProgress(R.string.progress_preparingStreams, currentProgress, 100); clear = pbe.getDataStream(privateKey, new BouncyCastleProvider()); encryptedData = pbe; currentProgress += 5; @@ -1790,8 +1754,7 @@ public class Apg { int signatureIndex = -1; if (dataChunk instanceof PGPCompressedData) { - if( progress != null ) - progress.setProgress(R.string.progress_decompressingData, currentProgress, 100); + progress.setProgress(R.string.progress_decompressingData, currentProgress, 100); PGPObjectFactory fact = new PGPObjectFactory(((PGPCompressedData) dataChunk).getDataStream()); dataChunk = fact.nextObject(); @@ -1800,8 +1763,7 @@ public class Apg { } if (dataChunk instanceof PGPOnePassSignatureList) { - if( progress != null ) - progress.setProgress(R.string.progress_processingSignature, currentProgress, 100); + progress.setProgress(R.string.progress_processingSignature, currentProgress, 100); returnData.putBoolean(EXTRA_SIGNATURE, true); PGPOnePassSignatureList sigList = (PGPOnePassSignatureList) dataChunk; for (int i = 0; i < sigList.size(); ++i) { @@ -1838,8 +1800,7 @@ public class Apg { } if (dataChunk instanceof PGPLiteralData) { - if( progress != null ) - progress.setProgress(R.string.progress_decrypting, currentProgress, 100); + progress.setProgress(R.string.progress_decrypting, currentProgress, 100); PGPLiteralData literalData = (PGPLiteralData) dataChunk; OutputStream out = outStream; @@ -1875,13 +1836,11 @@ public class Apg { currentProgress = (int)(startProgress + (endProgress - startProgress) * (data.getStreamPosition() - startPos) / (data.getSize() - startPos)); } - if( progress != null ) - progress.setProgress(currentProgress, 100); + progress.setProgress(currentProgress, 100); } if (signature != null) { - if( progress != null ) - progress.setProgress(R.string.progress_verifyingSignature, 90, 100); + progress.setProgress(R.string.progress_verifyingSignature, 90, 100); PGPSignatureList signatureList = (PGPSignatureList) plainFact.nextObject(); PGPSignature messageSignature = (PGPSignature) signatureList.get(signatureIndex); if (signature.verify(messageSignature)) { @@ -1894,8 +1853,7 @@ public class Apg { // TODO: add integrity somewhere if (encryptedData.isIntegrityProtected()) { - if( progress != null ) - progress.setProgress(R.string.progress_verifyingIntegrity, 95, 100); + progress.setProgress(R.string.progress_verifyingIntegrity, 95, 100); if (encryptedData.verify()) { // passed } else { @@ -1905,8 +1863,7 @@ public class Apg { // no integrity check } - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); return returnData; } @@ -1919,8 +1876,7 @@ public class Apg { ByteArrayOutputStream out = new ByteArrayOutputStream(); ArmoredInputStream aIn = new ArmoredInputStream(data.getInputStream()); - if( progress != null ) - progress.setProgress(R.string.progress_done, 0, 100); + progress.setProgress(R.string.progress_done, 0, 100); // mostly taken from ClearSignedFileProcessor ByteArrayOutputStream lineOut = new ByteArrayOutputStream(); @@ -1945,8 +1901,7 @@ public class Apg { returnData.putBoolean(EXTRA_SIGNATURE, true); - if( progress != null ) - progress.setProgress(R.string.progress_processingSignature, 60, 100); + progress.setProgress(R.string.progress_processingSignature, 60, 100); PGPObjectFactory pgpFact = new PGPObjectFactory(aIn); PGPSignatureList sigList = (PGPSignatureList) pgpFact.nextObject(); @@ -1993,8 +1948,7 @@ public class Apg { if (signature == null) { returnData.putBoolean(EXTRA_SIGNATURE_UNKNOWN, true); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); return returnData; } @@ -2020,8 +1974,7 @@ public class Apg { returnData.putBoolean(EXTRA_SIGNATURE_SUCCESS, signature.verify()); - if( progress != null ) - progress.setProgress(R.string.progress_done, 100, 100); + progress.setProgress(R.string.progress_done, 100, 100); return returnData; } @@ -2279,8 +2232,7 @@ public class Apg { int pos = 0; String msg = context.getString(R.string.progress_deletingSecurely, file.getName()); while (pos < length) { - if( progress != null ) - progress.setProgress(msg, (int)(100 * pos / length), 100); + progress.setProgress(msg, (int)(100 * pos / length), 100); random.nextBytes(data); raf.write(data); pos += data.length;