diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index 9f3a2e2dc6..7a80737bdf 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -2214,6 +2214,7 @@ public class Log { try (OutputStream os = new BufferedOutputStream(new FileOutputStream(file))) { for (SimpleTask task : SimpleTask.getList()) size += write(os, String.format("%s\r\n", task.toString())); + size += write(os, "\r\n"); for (TwoStateOwner owner : TwoStateOwner.getList()) size += write(os, String.format("%s\r\n", owner.toString())); } diff --git a/app/src/main/java/eu/faircode/email/TwoStateOwner.java b/app/src/main/java/eu/faircode/email/TwoStateOwner.java index 2b38c98695..a38b53ca6d 100644 --- a/app/src/main/java/eu/faircode/email/TwoStateOwner.java +++ b/app/src/main/java/eu/faircode/email/TwoStateOwner.java @@ -45,10 +45,12 @@ public class TwoStateOwner implements LifecycleOwner { private static DateFormat DTF = SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); - private static List list = new ArrayList<>(); + private static final List list = new ArrayList<>(); static List getList() { - return list; + synchronized (list) { + return new ArrayList<>(list); + } } // https://developer.android.com/topic/libraries/architecture/lifecycle#lc @@ -91,7 +93,7 @@ public class TwoStateOwner implements LifecycleOwner { list.add(this); } } else - Log.i(this + " not owned"); + Log.e(this + " not owned"); } void start() {