diff --git a/app/src/main/java/org/tasks/backup/BackupConstants.kt b/app/src/main/java/org/tasks/backup/BackupConstants.kt index 3058bad49..8ea001e02 100755 --- a/app/src/main/java/org/tasks/backup/BackupConstants.kt +++ b/app/src/main/java/org/tasks/backup/BackupConstants.kt @@ -10,7 +10,7 @@ object BackupConstants { const val EXPORT_FILE_NAME = "user.%s.json" const val BACKUP_FILE_NAME = "auto.%s.json" - private val MATCHER = Pattern.compile("""(auto|user)\.(\d{2})(\d{2})(\d{2})-(\d{2})(\d{2})\.json""") + private val MATCHER = Pattern.compile("""(auto|user)\.(\d{2,4})(\d{2})(\d{2})[T-](\d{2})(\d{2})\.json""") fun isBackupFile(name: String?) = name?.let { MATCHER.matcher(it).matches() } ?: false @@ -32,7 +32,7 @@ object BackupConstants { .takeIf { it.matches() } ?.let { DateTime( - 2000 + it.group(2)!!.toInt(), + it.group(2)!!.toInt().let { y -> if (y > 2000) y else y + 2000 }, it.group(3)!!.toInt(), it.group(4)!!.toInt(), it.group(5)!!.toInt(), diff --git a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt index 9cf2637e5..841f9468b 100755 --- a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt +++ b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt @@ -172,6 +172,6 @@ class TasksJsonExporter @Inject constructor( private const val MIME = "application/json" private const val EXTENSION = ".json" private val dateForExport: String - get() = newDateTime().toString("yyMMdd-HHmm") + get() = newDateTime().toString("yyyyMMdd'T'HHmm") } } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/time/DateTime.java b/app/src/main/java/org/tasks/time/DateTime.java index b2014a4aa..7fc9e9507 100644 --- a/app/src/main/java/org/tasks/time/DateTime.java +++ b/app/src/main/java/org/tasks/time/DateTime.java @@ -434,6 +434,6 @@ public class DateTime { @Override public String toString() { - return toString("yyyy-MM-dd HH:mm:ss.SSSZ"); + return toString("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); } } diff --git a/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt b/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt index c40f1b0a3..9aa0f70fd 100644 --- a/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt +++ b/app/src/test/java/org/tasks/backup/BackupConstantsTest.kt @@ -1,6 +1,8 @@ package org.tasks.backup -import org.junit.Assert.* +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Test import org.tasks.time.DateTime @@ -21,7 +23,7 @@ class BackupConstantsTest { } @Test - fun getTimestampFromAutoBackup() { + fun getTimestampFromAutoBackupTwoDigits() { assertEquals( DateTime(2020, 9, 10, 15, 3).millis, BackupConstants.getTimestampFromFilename("auto.200910-1503.json") @@ -29,10 +31,26 @@ class BackupConstantsTest { } @Test - fun getTimestampFromUserBackup() { + fun getTimestampFromUserBackupTwoDigits() { assertEquals( DateTime(2020, 9, 10, 15, 3).millis, BackupConstants.getTimestampFromFilename("user.200910-1503.json") ) } -} \ No newline at end of file + + @Test + fun getTimestampFromAutoBackup() { + assertEquals( + DateTime(2020, 9, 10, 15, 3).millis, + BackupConstants.getTimestampFromFilename("auto.20200910T1503.json") + ) + } + + @Test + fun getTimestampFromUserBackup() { + assertEquals( + DateTime(2020, 9, 10, 15, 3).millis, + BackupConstants.getTimestampFromFilename("user.20200910T1503.json") + ) + } +}