diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index 9151722534..7406035e93 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -532,7 +532,7 @@ public class Log { if (element instanceof Long) elements[i] = element.toString() + " (0x" + Long.toHexString((Long) element) + ")"; else - elements[i] = (element == null ? null : element.toString()); + elements[i] = (element == null ? null : printableString(element.toString())); } value = TextUtils.join(",", elements); } else @@ -550,6 +550,22 @@ public class Log { return result; } + private static String printableString(String value) { + StringBuilder result = new StringBuilder(); + for (int i = 0; i < value.length(); i++) { + char kar = value.charAt(i); + if (kar == '\n') + result.append('|'); + else if (kar == ' ') + result.append('_'); + else if (!Helper.isPrintableChar(kar)) + result.append('{').append(Integer.toHexString(kar)).append('}'); + else + result.append(kar); + } + return result.toString(); + } + static void logMemory(Context context, String message) { ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);