From acc0dda646a185428ef48e849a32ef48f6e40ca5 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 13 Feb 2019 11:27:10 -0600 Subject: [PATCH] Strip CR from google task descriptions Tasks created in OneTask for Windows were only sending a CR --- .../gtasks/sync/GtasksTaskContainerTest.java | 26 +++++++++++++++++++ .../gtasks/sync/GtasksTaskContainer.java | 6 ++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 app/src/androidTestGoogleplay/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainerTest.java diff --git a/app/src/androidTestGoogleplay/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainerTest.java b/app/src/androidTestGoogleplay/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainerTest.java new file mode 100644 index 000000000..378838b88 --- /dev/null +++ b/app/src/androidTestGoogleplay/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainerTest.java @@ -0,0 +1,26 @@ +package com.todoroo.astrid.gtasks.sync; + +import static com.todoroo.astrid.gtasks.sync.GtasksTaskContainer.stripCarriageReturns; +import static org.junit.Assert.assertEquals; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +public class GtasksTaskContainerTest { + @Test + public void replaceCRLF() { + assertEquals("aaa\nbbb", stripCarriageReturns("aaa\r\nbbb")); + } + + @Test + public void replaceCR() { + assertEquals("aaa\nbbb", stripCarriageReturns("aaa\rbbb")); + } + + @Test + public void dontReplaceLF() { + assertEquals("aaa\nbbb", stripCarriageReturns("aaa\nbbb")); + } +} diff --git a/app/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainer.java b/app/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainer.java index b5bd9d394..3d27783f8 100644 --- a/app/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainer.java +++ b/app/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksTaskContainer.java @@ -38,7 +38,7 @@ public class GtasksTaskContainer { long dueDate = GtasksApiUtilities.gtasksDueTimeToUnixTime(remoteTask.getDue()); mergeDates(Task.createDueDate(Task.URGENCY_SPECIFIC_DAY, dueDate), task); - task.setNotes(remoteTask.getNotes()); + task.setNotes(stripCarriageReturns(remoteTask.getNotes())); gtaskMetadata.setRemoteId(remoteTask.getId()); gtaskMetadata.setListId(listId); @@ -54,4 +54,8 @@ public class GtasksTaskContainer { public void prepareForSaving() { metadata.add(gtaskMetadata); } + + static String stripCarriageReturns(String original) { + return original.replaceAll("\\r\\n?", "\n"); + } }