diff --git a/app/src/main/java/eu/faircode/email/EditTextCompose.java b/app/src/main/java/eu/faircode/email/EditTextCompose.java
index f369c5680b..92090617d0 100644
--- a/app/src/main/java/eu/faircode/email/EditTextCompose.java
+++ b/app/src/main/java/eu/faircode/email/EditTextCompose.java
@@ -33,7 +33,6 @@ import android.os.Parcelable;
import android.text.Html;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
-import android.text.style.ImageSpan;
import android.text.style.QuoteSpan;
import android.text.style.StyleSpan;
import android.util.AttributeSet;
@@ -228,7 +227,7 @@ public class EditTextCompose extends FixedEditText {
if (raw)
html = text.toString();
else
- html = "
" + HtmlHelper.formatPre(text.toString(), false) + "
";
+ html = "" + HtmlHelper.formatPlainText(text.toString(), false) + "
";
} else
html = h;
diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java
index 5c4b8b183a..f5239d44aa 100644
--- a/app/src/main/java/eu/faircode/email/FragmentMessages.java
+++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java
@@ -35,7 +35,6 @@ import static me.everything.android.ui.overscroll.OverScrollBounceEffectDecorato
import static me.everything.android.ui.overscroll.OverScrollBounceEffectDecoratorBase.DEFAULT_TOUCH_DRAG_MOVE_RATIO_FWD;
import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
import android.app.Activity;
import android.app.Dialog;
import android.app.NotificationManager;
@@ -184,7 +183,6 @@ import org.openintents.openpgp.AutocryptPeerUpdate;
import org.openintents.openpgp.OpenPgpError;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.openintents.openpgp.util.OpenPgpApi;
-import org.openintents.openpgp.util.OpenPgpServiceConnection;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -240,7 +238,6 @@ import javax.mail.MessageRemovedException;
import javax.mail.MessagingException;
import javax.mail.Part;
import javax.mail.Session;
-import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
@@ -7248,7 +7245,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
// Write decrypted body
String text = Helper.readText(plain);
- String html = "" + HtmlHelper.formatPre(text) + "
";
+ String html = "" + HtmlHelper.formatPlainText(text) + "
";
Helper.writeText(message.getFile(context), html);
db.message().setMessageStored(message.id, new Date().getTime());
db.message().setMessageFts(message.id, false);
diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java
index 50f7fc1d2c..72c7355352 100644
--- a/app/src/main/java/eu/faircode/email/HtmlHelper.java
+++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java
@@ -1880,14 +1880,16 @@ public class HtmlHelper {
return flowed.toString();
}
- static String formatPre(String text) {
- return formatPre(text, true);
+ static String formatPlainText(String text) {
+ return formatPlainText(text, true);
}
- static String formatPre(String text, boolean view) {
+ static String formatPlainText(String text, boolean view) {
int level = 0;
StringBuilder sb = new StringBuilder();
- String[] lines = text.split("\\r?\\n");
+ String[] lines = text
+ .replaceAll("\\r(?!\\n)", "\n")
+ .split("\\r?\\n");
for (int l = 0; l < lines.length; l++) {
String line = lines[l];
lines[l] = null;
diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java
index 8e0ce2a092..0584be685a 100644
--- a/app/src/main/java/eu/faircode/email/MessageHelper.java
+++ b/app/src/main/java/eu/faircode/email/MessageHelper.java
@@ -24,7 +24,6 @@ import static android.system.OsConstants.ENOSPC;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri;
-import android.os.SystemClock;
import android.system.ErrnoException;
import android.text.TextUtils;
@@ -2834,7 +2833,7 @@ public class MessageHelper {
result.substring(e - HTML_END.length(), e).equalsIgnoreCase(HTML_END))
return result;
- result = "" + HtmlHelper.formatPre(result) + "
";
+ result = "" + HtmlHelper.formatPlainText(result) + "
";
} else if (h.isHtml()) {
// Conditionally upgrade to UTF8
if ((cs == null ||