aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThialfihar <thialfihar@gmail.com>2010-05-04 14:27:31 +0000
committerThialfihar <thialfihar@gmail.com>2010-05-04 14:27:31 +0000
commit6b528780566a4f1c46326fabda4eccc5ebbf29a3 (patch)
tree024f1b9df638277fb7bb9638ef9cc510a0e2edc9 /src
parente542c37eb3a673e72775f4eab26ca093281e5656 (diff)
downloadopen-keychain-6b528780566a4f1c46326fabda4eccc5ebbf29a3.tar.gz
open-keychain-6b528780566a4f1c46326fabda4eccc5ebbf29a3.tar.bz2
open-keychain-6b528780566a4f1c46326fabda4eccc5ebbf29a3.zip
close streams more consistently (outside of encrypt/decrypt), force a new output filename guess if the ASCII armour checkbox state changes
Diffstat (limited to 'src')
-rw-r--r--src/org/thialfihar/android/apg/Apg.java6
-rw-r--r--src/org/thialfihar/android/apg/DecryptFileActivity.java2
-rw-r--r--src/org/thialfihar/android/apg/EncryptFileActivity.java20
-rw-r--r--src/org/thialfihar/android/apg/EncryptMessageActivity.java2
4 files changed, 22 insertions, 8 deletions
diff --git a/src/org/thialfihar/android/apg/Apg.java b/src/org/thialfihar/android/apg/Apg.java
index ea19c1cbe..1346689ce 100644
--- a/src/org/thialfihar/android/apg/Apg.java
+++ b/src/org/thialfihar/android/apg/Apg.java
@@ -1314,7 +1314,9 @@ public class Apg {
}
compressGen.close();
encryptOut.close();
- out.close();
+ if (armored) {
+ armorOut.close();
+ }
progress.setProgress("done.", 100, 100);
}
@@ -1625,8 +1627,6 @@ public class Apg {
}
}
- out.close();
-
if (signature != null) {
progress.setProgress("verifying signature...", 80, 100);
PGPSignatureList signatureList = (PGPSignatureList) plainFact.nextObject();
diff --git a/src/org/thialfihar/android/apg/DecryptFileActivity.java b/src/org/thialfihar/android/apg/DecryptFileActivity.java
index 369d623d2..e8c8397eb 100644
--- a/src/org/thialfihar/android/apg/DecryptFileActivity.java
+++ b/src/org/thialfihar/android/apg/DecryptFileActivity.java
@@ -186,6 +186,8 @@ public class DecryptFileActivity extends BaseActivity {
OutputStream out = new FileOutputStream(mOutputFilename);
data = Apg.decrypt(in, out, Apg.getPassPhrase(), this, mAssumeSymmetricEncryption);
+
+ out.close();
} catch (PGPException e) {
error = e.getMessage();
} catch (IOException e) {
diff --git a/src/org/thialfihar/android/apg/EncryptFileActivity.java b/src/org/thialfihar/android/apg/EncryptFileActivity.java
index a4974c263..14b342d7e 100644
--- a/src/org/thialfihar/android/apg/EncryptFileActivity.java
+++ b/src/org/thialfihar/android/apg/EncryptFileActivity.java
@@ -16,7 +16,6 @@
package org.thialfihar.android.apg;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -85,6 +84,13 @@ public class EncryptFileActivity extends BaseActivity {
mAsciiArmour = (CheckBox) findViewById(R.id.ascii_armour);
mAsciiArmour.setChecked(getDefaultAsciiArmour());
+ mAsciiArmour.setOnClickListener(new OnClickListener() {
+
+ @Override
+ public void onClick(View view) {
+ guessOutputFilename();
+ }
+ });
// asymmetric tab
mSelectKeysButton = (Button) findViewById(R.id.btn_selectEncryptKeys);
@@ -254,13 +260,17 @@ public class EncryptFileActivity extends BaseActivity {
startActivityForResult(intent, Id.request.public_keys);
}
+ private void guessOutputFilename() {
+ mInputFilename = mFilename.getText().toString();
+ File file = new File(mInputFilename);
+ String ending = (mAsciiArmour.isChecked() ? ".asc" : ".gpg");
+ mOutputFilename = Constants.path.app_dir + "/" + file.getName() + ending;
+ }
+
private void encryptClicked() {
String currentFilename = mFilename.getText().toString();
if (mInputFilename == null || !mInputFilename.equals(currentFilename)) {
- mInputFilename = mFilename.getText().toString();
- File file = new File(mInputFilename);
- String ending = (mAsciiArmour.isChecked() ? ".asc" : ".gpg");
- mOutputFilename = Constants.path.app_dir + "/" + file.getName() + ending;
+ guessOutputFilename();
}
if (mInputFilename.equals("")) {
diff --git a/src/org/thialfihar/android/apg/EncryptMessageActivity.java b/src/org/thialfihar/android/apg/EncryptMessageActivity.java
index 028a928f6..6e88253a1 100644
--- a/src/org/thialfihar/android/apg/EncryptMessageActivity.java
+++ b/src/org/thialfihar/android/apg/EncryptMessageActivity.java
@@ -206,6 +206,8 @@ public class EncryptMessageActivity extends BaseActivity {
Apg.signText(in, out, getSecretKeyId(),
Apg.getPassPhrase(), getDefaultHashAlgorithm(), this);
}
+
+ out.close();
data.putString("message", new String(out.toByteArray()));
} catch (IOException e) {
error = e.getMessage();