diff options
-rw-r--r-- | res/layout/mailbox_message_item.xml | 2 | ||||
-rw-r--r-- | src/org/thialfihar/android/apg/Apg.java | 16 | ||||
-rw-r--r-- | src/org/thialfihar/android/apg/DecryptMessageActivity.java | 7 | ||||
-rw-r--r-- | src/org/thialfihar/android/apg/EncryptMessageActivity.java | 3 |
4 files changed, 19 insertions, 9 deletions
diff --git a/res/layout/mailbox_message_item.xml b/res/layout/mailbox_message_item.xml index b2b5e91d4..a5858fba3 100644 --- a/res/layout/mailbox_message_item.xml +++ b/res/layout/mailbox_message_item.xml @@ -29,7 +29,7 @@ android:src="@drawable/encrypted" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_centerVertical="true"/> + android:layout_gravity="center_vertical"/> <LinearLayout android:orientation="vertical" diff --git a/src/org/thialfihar/android/apg/Apg.java b/src/org/thialfihar/android/apg/Apg.java index bf32fc1eb..affc78cd7 100644 --- a/src/org/thialfihar/android/apg/Apg.java +++ b/src/org/thialfihar/android/apg/Apg.java @@ -122,7 +122,7 @@ public class Apg { protected static Vector<PGPSecretKeyRing> mSecretKeyRings;
public static Pattern PGP_MESSAGE =
- Pattern.compile(".*?(-----BEGIN PGP MESSAGE-----\n.*?-----END PGP MESSAGE-----).*",
+ Pattern.compile(".*?(-----BEGIN PGP MESSAGE-----.*?-----END PGP MESSAGE-----).*",
Pattern.DOTALL);
protected static boolean mInitialized = false;
@@ -1135,6 +1135,7 @@ public class Apg { }
public static void encrypt(InputStream inStream, OutputStream outStream,
+ boolean armored,
long encryptionKeyIds[], long signatureKeyId,
String signaturePassPhrase,
ProgressDialogUpdater progress)
@@ -1142,11 +1143,16 @@ public class Apg { NoSuchAlgorithmException, SignatureException {
Security.addProvider(new BouncyCastleProvider());
- ArmoredOutputStream armorOut = new ArmoredOutputStream(outStream);
- armorOut.setHeader("Version", FULL_VERSION);
- OutputStream out = armorOut;
+ ArmoredOutputStream armorOut = null;
+ OutputStream out = null;
OutputStream encryptOut = null;
-
+ if (armored) {
+ armorOut = new ArmoredOutputStream(outStream);
+ armorOut.setHeader("Version", FULL_VERSION);
+ out = armorOut;
+ } else {
+ out = outStream;
+ }
PGPSecretKey signingKey = null;
PGPSecretKeyRing signingKeyRing = null;
PGPPrivateKey signaturePrivateKey = null;
diff --git a/src/org/thialfihar/android/apg/DecryptMessageActivity.java b/src/org/thialfihar/android/apg/DecryptMessageActivity.java index 179d5be55..055c8256c 100644 --- a/src/org/thialfihar/android/apg/DecryptMessageActivity.java +++ b/src/org/thialfihar/android/apg/DecryptMessageActivity.java @@ -190,6 +190,8 @@ public class DecryptMessageActivity extends Activity Matcher matcher = Apg.PGP_MESSAGE.matcher(data); if (matcher.matches()) { data = matcher.group(1); + // replace non breakable spaces + data = data.replaceAll("\\xa0", " "); mMessage.setText(data); } } @@ -312,8 +314,9 @@ public class DecryptMessageActivity extends Activity Bundle data = new Bundle(); Message msg = new Message(); - ByteArrayInputStream in = - new ByteArrayInputStream(mMessage.getText().toString().getBytes()); + String messageData = mMessage.getText().toString(); + + ByteArrayInputStream in = new ByteArrayInputStream(messageData.getBytes()); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { diff --git a/src/org/thialfihar/android/apg/EncryptMessageActivity.java b/src/org/thialfihar/android/apg/EncryptMessageActivity.java index 27e4c29be..af2eac82d 100644 --- a/src/org/thialfihar/android/apg/EncryptMessageActivity.java +++ b/src/org/thialfihar/android/apg/EncryptMessageActivity.java @@ -312,7 +312,8 @@ public class EncryptMessageActivity extends Activity try { if (mEncryptionKeyIds != null && mEncryptionKeyIds.length > 0) { - Apg.encrypt(in, out, mEncryptionKeyIds, mSignatureKeyId, Apg.getPassPhrase(), this); + Apg.encrypt(in, out, true, mEncryptionKeyIds, mSignatureKeyId, + Apg.getPassPhrase(), this); data.putString("message", new String(out.toByteArray())); } else { Apg.sign(in, out, mSignatureKeyId, Apg.getPassPhrase(), this); |