diff --git a/app/src/androidTest/java/com/todoroo/astrid/dao/TaskDaoTests.kt b/app/src/androidTest/java/com/todoroo/astrid/dao/TaskDaoTests.kt index f8db4d7cb..d3174015d 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/dao/TaskDaoTests.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/dao/TaskDaoTests.kt @@ -5,7 +5,6 @@ */ package com.todoroo.astrid.dao -import com.natpryce.makeiteasy.MakeItEasy.with import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.data.Task import com.todoroo.astrid.service.TaskDeleter @@ -16,9 +15,6 @@ import org.junit.Assert.* import org.junit.Test import org.tasks.injection.InjectingTestCase import org.tasks.injection.ProductionModule -import org.tasks.makers.TaskMaker.ID -import org.tasks.makers.TaskMaker.PARENT -import org.tasks.makers.TaskMaker.newTask import javax.inject.Inject @UninstallModules(ProductionModule::class) @@ -142,27 +138,4 @@ class TaskDaoTests : InjectingTestCase() { // make sure db still works assertEquals(0, taskDao.getAll().size) } - - @Test - fun findChildrenInList() = runBlocking { - taskDao.createNew(newTask(with(ID, 1L))) - taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) - assertEquals(listOf(2L), taskDao.getChildren(listOf(1L, 2L))) - } - - @Test - fun findRecursiveChildrenInList() = runBlocking { - taskDao.createNew(newTask(with(ID, 1L))) - taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) - taskDao.createNew(newTask(with(ID, 3L), with(PARENT, 2L))) - assertEquals(listOf(2L, 3L, 3L), taskDao.getChildren(listOf(1L, 2L, 3L))) - } - - @Test - fun findRecursiveChildrenInListAfterSkippingParent() = runBlocking { - taskDao.createNew(newTask(with(ID, 1L))) - taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) - taskDao.createNew(newTask(with(ID, 3L), with(PARENT, 2L))) - assertEquals(listOf(2L, 3L), taskDao.getChildren(listOf(1L, 3L))) - } } \ No newline at end of file diff --git a/app/src/androidTest/java/com/todoroo/astrid/reminders/ReminderServiceTest.kt b/app/src/androidTest/java/com/todoroo/astrid/reminders/ReminderServiceTest.kt index 2a723382f..777280b5e 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/reminders/ReminderServiceTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/reminders/ReminderServiceTest.kt @@ -2,7 +2,6 @@ package com.todoroo.astrid.reminders import com.natpryce.makeiteasy.MakeItEasy.with import com.todoroo.andlib.utility.DateUtilities -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules @@ -12,6 +11,7 @@ import org.junit.Before import org.junit.Test import org.tasks.Freeze import org.tasks.R +import org.tasks.data.TaskDao import org.tasks.date.DateTimeUtils import org.tasks.injection.InjectingTestCase import org.tasks.injection.ProductionModule diff --git a/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt b/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt index 08a44a671..b66cf0ca7 100644 --- a/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt +++ b/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt @@ -3,7 +3,6 @@ package org.tasks.data import com.natpryce.makeiteasy.MakeItEasy.with import com.natpryce.makeiteasy.PropertyValue import com.todoroo.andlib.utility.DateUtilities.now -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking diff --git a/app/src/androidTest/java/org/tasks/data/TaskDaoTests.kt b/app/src/androidTest/java/org/tasks/data/TaskDaoTests.kt new file mode 100644 index 000000000..612f824b7 --- /dev/null +++ b/app/src/androidTest/java/org/tasks/data/TaskDaoTests.kt @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2012 Todoroo Inc + * + * See the file "LICENSE" for the full license governing this code. + */ +package org.tasks.data + +import com.natpryce.makeiteasy.MakeItEasy.with +import com.todoroo.andlib.utility.DateUtilities +import com.todoroo.astrid.data.Task +import com.todoroo.astrid.service.TaskDeleter +import dagger.hilt.android.testing.HiltAndroidTest +import dagger.hilt.android.testing.UninstallModules +import kotlinx.coroutines.runBlocking +import org.junit.Assert.* +import org.junit.Test +import org.tasks.injection.InjectingTestCase +import org.tasks.injection.ProductionModule +import org.tasks.makers.TaskMaker.ID +import org.tasks.makers.TaskMaker.PARENT +import org.tasks.makers.TaskMaker.newTask +import javax.inject.Inject + +@UninstallModules(ProductionModule::class) +@HiltAndroidTest +class TaskDaoTests : InjectingTestCase() { + + @Inject lateinit var taskDao: TaskDao + @Inject lateinit var taskDeleter: TaskDeleter + + /** Test various task fetch conditions */ + @Test + fun testTaskConditions() = runBlocking { + // create normal task + var task = Task() + task.title = "normal" + taskDao.createNew(task) + + // create blank task + task = Task() + task.title = "" + taskDao.createNew(task) + + // create hidden task + task = Task() + task.title = "hidden" + task.hideUntil = DateUtilities.now() + 10000 + taskDao.createNew(task) + + // create task with deadlines + task = Task() + task.title = "deadlineInFuture" + task.dueDate = DateUtilities.now() + 10000 + taskDao.createNew(task) + task = Task() + task.title = "deadlineInPast" + task.dueDate = DateUtilities.now() - 10000 + taskDao.createNew(task) + + // create completed task + task = Task() + task.title = "completed" + task.completionDate = DateUtilities.now() - 10000 + taskDao.createNew(task) + + // check is active + assertEquals(5, taskDao.getActiveTasks().size) + + // check is visible + assertEquals(5, taskDao.getActiveTasks().size) + } + + /** Test task deletion */ + @Test + fun testTDeletion() = runBlocking { + assertEquals(0, taskDao.getAll().size) + + // create task "happy" + val task = Task() + task.title = "happy" + taskDao.createNew(task) + assertEquals(1, taskDao.getAll().size) + + // delete + taskDeleter.delete(task) + assertEquals(0, taskDao.getAll().size) + } + + /** Test passing invalid task indices to various things */ + @Test + fun testInvalidIndex() = runBlocking { + assertEquals(0, taskDao.getAll().size) + assertNull(taskDao.fetch(1)) + taskDeleter.delete(listOf(1L)) + + // make sure db still works + assertEquals(0, taskDao.getAll().size) + } + + @Test + fun findChildrenInList() = runBlocking { + taskDao.createNew(newTask(with(ID, 1L))) + taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) + assertEquals(listOf(2L), taskDao.getChildren(listOf(1L, 2L))) + } + + @Test + fun findRecursiveChildrenInList() = runBlocking { + taskDao.createNew(newTask(with(ID, 1L))) + taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) + taskDao.createNew(newTask(with(ID, 3L), with(PARENT, 2L))) + assertEquals(listOf(2L, 3L, 3L), taskDao.getChildren(listOf(1L, 2L, 3L))) + } + + @Test + fun findRecursiveChildrenInListAfterSkippingParent() = runBlocking { + taskDao.createNew(newTask(with(ID, 1L))) + taskDao.createNew(newTask(with(ID, 2L), with(PARENT, 1L))) + taskDao.createNew(newTask(with(ID, 3L), with(PARENT, 2L))) + assertEquals(listOf(2L, 3L), taskDao.getChildren(listOf(1L, 3L))) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt index f7068533d..005e8e05b 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt @@ -46,7 +46,6 @@ import com.todoroo.astrid.timers.TimerPlugin import com.todoroo.astrid.utility.Flags import dagger.hilt.android.AndroidEntryPoint import io.reactivex.android.schedulers.AndroidSchedulers -import io.reactivex.disposables.CompositeDisposable import io.reactivex.disposables.Disposable import io.reactivex.subjects.PublishSubject import kotlinx.coroutines.NonCancellable diff --git a/app/src/main/java/com/todoroo/astrid/api/CaldavFilter.java b/app/src/main/java/com/todoroo/astrid/api/CaldavFilter.java index d16b4c3fa..27ab19352 100644 --- a/app/src/main/java/com/todoroo/astrid/api/CaldavFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/CaldavFilter.java @@ -6,7 +6,6 @@ import androidx.annotation.NonNull; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import java.util.HashMap; import java.util.Map; @@ -14,6 +13,7 @@ import java.util.Objects; import org.tasks.R; import org.tasks.data.CaldavCalendar; import org.tasks.data.CaldavTask; +import org.tasks.data.TaskDao; public class CaldavFilter extends Filter { diff --git a/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java b/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java index 8e6563077..5a9f780ad 100644 --- a/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/GtasksFilter.java @@ -6,7 +6,6 @@ import androidx.annotation.NonNull; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import java.util.HashMap; import java.util.Map; @@ -14,6 +13,7 @@ import java.util.Objects; import org.tasks.R; import org.tasks.data.GoogleTask; import org.tasks.data.GoogleTaskList; +import org.tasks.data.TaskDao; public class GtasksFilter extends Filter { diff --git a/app/src/main/java/com/todoroo/astrid/api/TagFilter.java b/app/src/main/java/com/todoroo/astrid/api/TagFilter.java index 4a11d297f..033d8d550 100644 --- a/app/src/main/java/com/todoroo/astrid/api/TagFilter.java +++ b/app/src/main/java/com/todoroo/astrid/api/TagFilter.java @@ -6,13 +6,13 @@ import androidx.annotation.NonNull; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import java.util.HashMap; import java.util.Map; import org.tasks.R; import org.tasks.data.Tag; import org.tasks.data.TagData; +import org.tasks.data.TaskDao; public class TagFilter extends Filter { diff --git a/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.kt b/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.kt index 71249a213..dbbcfe120 100644 --- a/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.kt +++ b/app/src/main/java/com/todoroo/astrid/core/BuiltInFilterExposer.kt @@ -12,12 +12,12 @@ import com.todoroo.andlib.sql.QueryTemplate import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.PermaSql -import com.todoroo.astrid.dao.TaskDao -import com.todoroo.astrid.dao.TaskDao.TaskCriteria.activeAndVisible import com.todoroo.astrid.data.Task import com.todoroo.astrid.timers.TimerPlugin import dagger.hilt.android.qualifiers.ApplicationContext import org.tasks.R +import org.tasks.data.TaskDao +import org.tasks.data.TaskDao.TaskCriteria.activeAndVisible import org.tasks.filters.RecentlyModifiedFilter import org.tasks.filters.SortableFilter import org.tasks.preferences.Preferences diff --git a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt index 8f04f8e72..3971daea0 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt +++ b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt @@ -5,10 +5,6 @@ */ package com.todoroo.astrid.dao -import androidx.paging.DataSource -import androidx.sqlite.db.SimpleSQLiteQuery -import com.todoroo.andlib.sql.Criterion -import com.todoroo.andlib.sql.Functions import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.api.Filter import com.todoroo.astrid.data.Task @@ -24,9 +20,6 @@ class TaskDao @Inject constructor( private val workManager: WorkManager, private val taskDao: TaskDao) { - internal suspend fun needsRefresh(now: Long = DateUtilities.now()): List = - taskDao.needsRefresh(now) - suspend fun fetch(id: Long): Task? = taskDao.fetch(id) suspend fun fetch(ids: List): List = taskDao.fetch(ids) @@ -37,53 +30,21 @@ class TaskDao @Inject constructor( suspend fun fetch(remoteId: String): Task? = taskDao.fetch(remoteId) - suspend fun getActiveTasks(): List = taskDao.getActiveTasks() - suspend fun getRecurringTasks(remoteIds: List): List = taskDao.getRecurringTasks(remoteIds) suspend fun setCompletionDate(remoteId: String, completionDate: Long) = taskDao.setCompletionDate(remoteId, completionDate) - suspend fun snooze(taskIds: List, millis: Long) = taskDao.snooze(taskIds, millis) - suspend fun getGoogleTasksToPush(account: String): List = taskDao.getGoogleTasksToPush(account) suspend fun getCaldavTasksToPush(calendar: String): List = taskDao.getCaldavTasksToPush(calendar) - suspend fun getTasksWithReminders(): List = taskDao.getTasksWithReminders() - - suspend fun getAll(): List = taskDao.getAll() - - suspend fun getAllCalendarEvents(): List = taskDao.getAllCalendarEvents() - - suspend fun clearAllCalendarEvents(): Int = taskDao.clearAllCalendarEvents() - - suspend fun getCompletedCalendarEvents(): List = taskDao.getCompletedCalendarEvents() - - suspend fun clearCompletedCalendarEvents(): Int = taskDao.clearCompletedCalendarEvents() - - suspend fun fetchTasks(callback: suspend (SubtaskInfo) -> List): List = - taskDao.fetchTasks(callback) - - suspend fun fetchTasks(callback: suspend (SubtaskInfo) -> List, subtasks: SubtaskInfo): List = - taskDao.fetchTasks(callback, subtasks) - suspend fun fetchTasks(preferences: Preferences, filter: Filter): List = taskDao.fetchTasks(preferences, filter) - suspend fun fetchTasks(query: SimpleSQLiteQuery): List = - taskDao.fetchTasks(query) - - suspend fun count(query: SimpleSQLiteQuery): Int = taskDao.count(query) - - suspend fun getSubtaskInfo(): SubtaskInfo = taskDao.getSubtaskInfo() - - fun getTaskFactory(query: SimpleSQLiteQuery): DataSource.Factory = - taskDao.getTaskFactory(query) - suspend fun touch(id: Long) = touch(listOf(id)) suspend fun touch(ids: List) { @@ -91,13 +52,7 @@ class TaskDao @Inject constructor( workManager.sync(false) } - suspend fun setParent(parent: Long, tasks: List) = - tasks.eachChunk { setParentInternal(parent, it) } - - private suspend fun setParentInternal(parent: Long, children: List) = - taskDao.setParentInternal(parent, children) - - suspend fun fetchChildren(id: Long): List = taskDao.fetchChildren(id) + suspend fun setParent(parent: Long, tasks: List) = taskDao.setParent(parent, tasks) suspend fun getChildren(id: Long): List = taskDao.getChildren(id) @@ -124,35 +79,22 @@ class TaskDao @Inject constructor( if (task.dueDate != original?.dueDate) { task.reminderSnooze = 0 } - if (update(task) == 1) { + if (taskDao.update(task) == 1) { workManager.afterSave(task, original) } } - suspend fun insert(task: Task): Long = taskDao.insert(task) - - suspend fun update(task: Task): Int = taskDao.update(task) - suspend fun createNew(task: Task) = taskDao.createNew(task) - suspend fun count(filter: Filter): Int = taskDao.count(filter) - - suspend fun fetchFiltered(filter: Filter): List = taskDao.fetchFiltered(filter) - suspend fun fetchFiltered(queryTemplate: String): List = taskDao.fetchFiltered(queryTemplate) - suspend fun getLocalTasks(): List = taskDao.getLocalTasks() - - /** Generates SQL clauses */ - object TaskCriteria { - /** @return tasks that have not yet been completed or deleted - */ - @JvmStatic fun activeAndVisible(): Criterion { - return Criterion.and( - Task.COMPLETION_DATE.lte(0), - Task.DELETION_DATE.lte(0), - Task.HIDE_UNTIL.lte(Functions.now())) - } - } + internal suspend fun insert(task: Task): Long = taskDao.insert(task) + + internal suspend fun fetchTasks(callback: suspend (SubtaskInfo) -> List): List = + taskDao.fetchTasks(callback) + + internal suspend fun getAll(): List = taskDao.getAll() + + internal suspend fun getActiveTasks(): List = taskDao.getActiveTasks() } \ No newline at end of file diff --git a/app/src/main/java/com/todoroo/astrid/gcal/GCalHelper.kt b/app/src/main/java/com/todoroo/astrid/gcal/GCalHelper.kt index 13ac9fac6..af0dd461c 100644 --- a/app/src/main/java/com/todoroo/astrid/gcal/GCalHelper.kt +++ b/app/src/main/java/com/todoroo/astrid/gcal/GCalHelper.kt @@ -12,12 +12,12 @@ import android.net.Uri import android.provider.CalendarContract import android.text.format.Time import com.todoroo.andlib.utility.DateUtilities -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import dagger.hilt.android.qualifiers.ApplicationContext import org.tasks.R import org.tasks.Strings.isNullOrEmpty import org.tasks.calendars.CalendarEventProvider +import org.tasks.data.TaskDao import org.tasks.preferences.PermissionChecker import org.tasks.preferences.Preferences import timber.log.Timber diff --git a/app/src/main/java/com/todoroo/astrid/reminders/ReminderService.kt b/app/src/main/java/com/todoroo/astrid/reminders/ReminderService.kt index 7440b7ccb..8c481e697 100644 --- a/app/src/main/java/com/todoroo/astrid/reminders/ReminderService.kt +++ b/app/src/main/java/com/todoroo/astrid/reminders/ReminderService.kt @@ -6,8 +6,8 @@ package com.todoroo.astrid.reminders import com.todoroo.andlib.utility.DateUtilities -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task +import org.tasks.data.TaskDao import org.tasks.jobs.NotificationQueue import org.tasks.jobs.ReminderEntry import org.tasks.preferences.Preferences diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.kt b/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.kt index baed1cf75..8cd62d769 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.kt +++ b/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.kt @@ -1,7 +1,6 @@ package com.todoroo.astrid.service import com.todoroo.astrid.api.Filter -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import kotlinx.collections.immutable.persistentListOf import org.tasks.LocalBroadcastManager diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt b/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt index e8de224d4..5d114fdd2 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt +++ b/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt @@ -5,7 +5,6 @@ import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.api.CaldavFilter import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.GtasksFilter -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import dagger.hilt.android.qualifiers.ApplicationContext import org.tasks.BuildConfig diff --git a/app/src/main/java/org/tasks/Notifier.kt b/app/src/main/java/org/tasks/Notifier.kt index fe4f923f9..1b2a891f4 100644 --- a/app/src/main/java/org/tasks/Notifier.kt +++ b/app/src/main/java/org/tasks/Notifier.kt @@ -4,11 +4,11 @@ import android.app.PendingIntent import android.content.Context import androidx.core.app.NotificationCompat import com.todoroo.astrid.api.Filter -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.reminders.ReminderService import com.todoroo.astrid.voice.VoiceOutputAssistant import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.delay +import org.tasks.data.TaskDao import org.tasks.intents.TaskIntents import org.tasks.notifications.AudioManager import org.tasks.notifications.Notification diff --git a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.kt b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.kt index eb1b20484..159dc5780 100644 --- a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.kt +++ b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.kt @@ -31,13 +31,13 @@ import com.todoroo.astrid.core.CriterionInstance import com.todoroo.astrid.core.CustomFilterAdapter import com.todoroo.astrid.core.CustomFilterItemTouchHelper import com.todoroo.astrid.dao.Database -import com.todoroo.astrid.dao.TaskDao.TaskCriteria.activeAndVisible import com.todoroo.astrid.data.Task import dagger.hilt.android.AndroidEntryPoint import org.tasks.R import org.tasks.Strings import org.tasks.data.Filter import org.tasks.data.FilterDao +import org.tasks.data.TaskDao.TaskCriteria.activeAndVisible import org.tasks.filters.FilterCriteriaProvider import org.tasks.locale.Locale import java.util.* diff --git a/app/src/main/java/org/tasks/activities/UriHandler.kt b/app/src/main/java/org/tasks/activities/UriHandler.kt index 77026f290..219e49d4f 100644 --- a/app/src/main/java/org/tasks/activities/UriHandler.kt +++ b/app/src/main/java/org/tasks/activities/UriHandler.kt @@ -4,9 +4,9 @@ import android.net.Uri import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch +import org.tasks.data.TaskDao import org.tasks.intents.TaskIntents import org.tasks.provider.TasksContentProvider import org.tasks.provider.TasksContentProvider.Companion.URI_OPEN_TASK diff --git a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt index 4e38bb5ed..16c62b68a 100755 --- a/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt +++ b/app/src/main/java/org/tasks/backup/TasksJsonExporter.kt @@ -12,7 +12,6 @@ import com.google.gson.Gson import com.google.gson.GsonBuilder import com.todoroo.andlib.utility.DialogUtilities import com.todoroo.astrid.backup.BackupConstants -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import org.tasks.BuildConfig import org.tasks.R diff --git a/app/src/main/java/org/tasks/dashclock/DashClockExtension.kt b/app/src/main/java/org/tasks/dashclock/DashClockExtension.kt index 9dcfee628..ec898b053 100644 --- a/app/src/main/java/org/tasks/dashclock/DashClockExtension.kt +++ b/app/src/main/java/org/tasks/dashclock/DashClockExtension.kt @@ -5,7 +5,6 @@ import android.content.Context import android.content.Intent import com.google.android.apps.dashclock.api.DashClockExtension import com.google.android.apps.dashclock.api.ExtensionData -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -13,6 +12,7 @@ import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch import org.tasks.LocalBroadcastManager import org.tasks.R +import org.tasks.data.TaskDao import org.tasks.intents.TaskIntents import org.tasks.preferences.DefaultFilterProvider import org.tasks.preferences.Preferences diff --git a/app/src/main/java/org/tasks/data/TaskListQueryRecursive.kt b/app/src/main/java/org/tasks/data/TaskListQueryRecursive.kt index 4e5c6d141..e7364d294 100644 --- a/app/src/main/java/org/tasks/data/TaskListQueryRecursive.kt +++ b/app/src/main/java/org/tasks/data/TaskListQueryRecursive.kt @@ -11,8 +11,8 @@ import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.GtasksFilter import com.todoroo.astrid.api.PermaSql import com.todoroo.astrid.core.SortHelper -import com.todoroo.astrid.dao.TaskDao.TaskCriteria.activeAndVisible import com.todoroo.astrid.data.Task +import org.tasks.data.TaskDao.TaskCriteria.activeAndVisible import org.tasks.preferences.Preferences internal object TaskListQueryRecursive { diff --git a/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java b/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java index 48636746e..ab6d2f113 100644 --- a/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java +++ b/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java @@ -13,7 +13,6 @@ import com.todoroo.astrid.api.CustomFilterCriterion; import com.todoroo.astrid.api.MultipleSelectCriterion; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.api.TextInputCriterion; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task.Priority; import dagger.hilt.android.qualifiers.ApplicationContext; @@ -32,6 +31,7 @@ import org.tasks.data.GoogleTaskListDaoBlocking; import org.tasks.data.Tag; import org.tasks.data.TagData; import org.tasks.data.TagDataDaoBlocking; +import org.tasks.data.TaskDao; public class FilterCriteriaProvider { diff --git a/app/src/main/java/org/tasks/filters/PlaceFilter.java b/app/src/main/java/org/tasks/filters/PlaceFilter.java index 4c4095dad..19a9055ae 100644 --- a/app/src/main/java/org/tasks/filters/PlaceFilter.java +++ b/app/src/main/java/org/tasks/filters/PlaceFilter.java @@ -11,13 +11,13 @@ import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterListItem; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import java.util.HashMap; import java.util.Map; import org.tasks.R; import org.tasks.data.Geofence; import org.tasks.data.Place; +import org.tasks.data.TaskDao; public class PlaceFilter extends Filter { diff --git a/app/src/main/java/org/tasks/preferences/fragments/Advanced.kt b/app/src/main/java/org/tasks/preferences/fragments/Advanced.kt index 1f4e90d97..7d0d2d00c 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/Advanced.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/Advanced.kt @@ -7,7 +7,6 @@ import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import androidx.preference.SwitchPreferenceCompat import com.todoroo.astrid.dao.Database -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.AndroidEntryPoint import io.reactivex.disposables.CompositeDisposable import kotlinx.coroutines.launch @@ -15,6 +14,7 @@ import org.tasks.LocalBroadcastManager import org.tasks.PermissionUtil import org.tasks.R import org.tasks.calendars.CalendarEventProvider +import org.tasks.data.TaskDao import org.tasks.files.FileHelper import org.tasks.injection.InjectingPreferenceFragment import org.tasks.preferences.FragmentPermissionRequestor diff --git a/app/src/main/java/org/tasks/receivers/RefreshReceiver.kt b/app/src/main/java/org/tasks/receivers/RefreshReceiver.kt index 91156cfc8..def2b7a22 100644 --- a/app/src/main/java/org/tasks/receivers/RefreshReceiver.kt +++ b/app/src/main/java/org/tasks/receivers/RefreshReceiver.kt @@ -2,11 +2,11 @@ package org.tasks.receivers import android.content.Context import android.content.Intent -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.provider.Astrid2TaskProvider import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.qualifiers.ApplicationContext import org.tasks.R +import org.tasks.data.TaskDao import org.tasks.injection.InjectingJobIntentService import org.tasks.preferences.DefaultFilterProvider import org.tasks.preferences.Preferences diff --git a/app/src/main/java/org/tasks/reminders/NotificationActivity.kt b/app/src/main/java/org/tasks/reminders/NotificationActivity.kt index 66826419c..5724628bf 100644 --- a/app/src/main/java/org/tasks/reminders/NotificationActivity.kt +++ b/app/src/main/java/org/tasks/reminders/NotificationActivity.kt @@ -4,10 +4,9 @@ import android.content.Context import android.content.Intent import android.os.Bundle import androidx.lifecycle.lifecycleScope -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.AndroidEntryPoint -import io.reactivex.disposables.CompositeDisposable import kotlinx.coroutines.launch +import org.tasks.data.TaskDao import org.tasks.injection.InjectingAppCompatActivity import org.tasks.intents.TaskIntents import org.tasks.notifications.NotificationManager @@ -23,7 +22,6 @@ class NotificationActivity : InjectingAppCompatActivity(), NotificationDialog.No @Inject lateinit var themeAccent: ThemeAccent private var taskId: Long = 0 - private var disposables: CompositeDisposable? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -43,16 +41,6 @@ class NotificationActivity : InjectingAppCompatActivity(), NotificationDialog.No finish() } - override fun onResume() { - super.onResume() - disposables = CompositeDisposable() - } - - override fun onPause() { - super.onPause() - disposables!!.dispose() - } - override fun edit() { lifecycleScope.launch { notificationManager.cancel(taskId) diff --git a/app/src/main/java/org/tasks/reminders/SnoozeActivity.kt b/app/src/main/java/org/tasks/reminders/SnoozeActivity.kt index 00d9770df..741c99988 100644 --- a/app/src/main/java/org/tasks/reminders/SnoozeActivity.kt +++ b/app/src/main/java/org/tasks/reminders/SnoozeActivity.kt @@ -6,12 +6,12 @@ import android.content.DialogInterface import android.content.Intent import android.os.Bundle import androidx.lifecycle.lifecycleScope -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.reminders.ReminderService import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.launch import org.tasks.activities.DateAndTimePickerActivity +import org.tasks.data.TaskDao import org.tasks.dialogs.MyTimePickerDialog import org.tasks.injection.InjectingAppCompatActivity import org.tasks.notifications.NotificationManager diff --git a/app/src/main/java/org/tasks/scheduling/RefreshScheduler.kt b/app/src/main/java/org/tasks/scheduling/RefreshScheduler.kt index 2ea17e4c6..062875cd5 100644 --- a/app/src/main/java/org/tasks/scheduling/RefreshScheduler.kt +++ b/app/src/main/java/org/tasks/scheduling/RefreshScheduler.kt @@ -1,10 +1,10 @@ package org.tasks.scheduling import com.todoroo.andlib.utility.DateUtilities -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import kotlinx.collections.immutable.toImmutableList import org.tasks.R +import org.tasks.data.TaskDao import org.tasks.jobs.WorkManager import org.tasks.preferences.Preferences import org.tasks.time.DateTimeUtils diff --git a/app/src/main/java/org/tasks/ui/NavigationDrawerFragment.kt b/app/src/main/java/org/tasks/ui/NavigationDrawerFragment.kt index 2f9f1eef7..3fd68a8f7 100644 --- a/app/src/main/java/org/tasks/ui/NavigationDrawerFragment.kt +++ b/app/src/main/java/org/tasks/ui/NavigationDrawerFragment.kt @@ -20,12 +20,12 @@ import androidx.recyclerview.widget.RecyclerView import com.todoroo.astrid.adapter.NavigationDrawerAdapter import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.FilterListItem -import com.todoroo.astrid.dao.TaskDao import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch import org.tasks.LocalBroadcastManager import org.tasks.R import org.tasks.billing.PurchaseActivity +import org.tasks.data.TaskDao import org.tasks.dialogs.NewFilterDialog.Companion.newFilterDialog import org.tasks.filters.FilterProvider import org.tasks.filters.NavigationDrawerAction diff --git a/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt b/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt index 007d2e575..1f30166eb 100644 --- a/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt +++ b/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt @@ -29,8 +29,6 @@ import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.astrid.activity.MainActivity import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.GtasksFilter -import com.todoroo.astrid.dao.TaskDao -import com.todoroo.astrid.dao.TaskDao.TaskCriteria.activeAndVisible import com.todoroo.astrid.data.Task import com.todoroo.astrid.service.TaskCompleter import com.todoroo.astrid.service.TaskCreator @@ -39,10 +37,8 @@ import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch import org.tasks.LocalBroadcastManager import org.tasks.R -import org.tasks.data.CaldavDao -import org.tasks.data.GoogleTask -import org.tasks.data.GoogleTaskDao -import org.tasks.data.TaskContainer +import org.tasks.data.* +import org.tasks.data.TaskDao.TaskCriteria.activeAndVisible import org.tasks.locale.Locale import org.tasks.tasklist.SubtaskViewHolder import org.tasks.tasklist.SubtasksRecyclerAdapter diff --git a/app/src/main/java/org/tasks/ui/TaskListViewModel.kt b/app/src/main/java/org/tasks/ui/TaskListViewModel.kt index c1d294e48..2a9ae843b 100644 --- a/app/src/main/java/org/tasks/ui/TaskListViewModel.kt +++ b/app/src/main/java/org/tasks/ui/TaskListViewModel.kt @@ -8,12 +8,12 @@ import androidx.sqlite.db.SimpleSQLiteQuery import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.api.Filter -import com.todoroo.astrid.dao.TaskDao import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.tasks.BuildConfig import org.tasks.data.SubtaskInfo import org.tasks.data.TaskContainer +import org.tasks.data.TaskDao import org.tasks.data.TaskListQuery.getQuery import org.tasks.preferences.Preferences import timber.log.Timber diff --git a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt index 60f875e08..482feb30a 100644 --- a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt +++ b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt @@ -9,7 +9,6 @@ import android.widget.RemoteViews import android.widget.RemoteViewsService.RemoteViewsFactory import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.api.Filter -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import com.todoroo.astrid.subtasks.SubtasksHelper import kotlinx.coroutines.runBlocking @@ -17,6 +16,7 @@ import org.tasks.BuildConfig import org.tasks.R import org.tasks.data.SubtaskInfo import org.tasks.data.TaskContainer +import org.tasks.data.TaskDao import org.tasks.data.TaskListQuery.getQuery import org.tasks.locale.Locale import org.tasks.preferences.DefaultFilterProvider diff --git a/app/src/main/java/org/tasks/widget/ScrollableWidgetUpdateService.java b/app/src/main/java/org/tasks/widget/ScrollableWidgetUpdateService.java index 9f72acbab..c8862e7f5 100644 --- a/app/src/main/java/org/tasks/widget/ScrollableWidgetUpdateService.java +++ b/app/src/main/java/org/tasks/widget/ScrollableWidgetUpdateService.java @@ -5,10 +5,10 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.RemoteViewsService; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.subtasks.SubtasksHelper; import dagger.hilt.android.AndroidEntryPoint; import javax.inject.Inject; +import org.tasks.data.TaskDao; import org.tasks.locale.Locale; import org.tasks.preferences.DefaultFilterProvider; import org.tasks.preferences.Preferences; diff --git a/app/src/main/java/org/tasks/widget/WidgetClickActivity.kt b/app/src/main/java/org/tasks/widget/WidgetClickActivity.kt index f81d48c69..8e9a03433 100644 --- a/app/src/main/java/org/tasks/widget/WidgetClickActivity.kt +++ b/app/src/main/java/org/tasks/widget/WidgetClickActivity.kt @@ -2,7 +2,6 @@ package org.tasks.widget import android.os.Bundle import androidx.lifecycle.lifecycleScope -import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task import com.todoroo.astrid.service.TaskCompleter import dagger.hilt.android.AndroidEntryPoint @@ -10,6 +9,7 @@ import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.launch import org.tasks.LocalBroadcastManager import org.tasks.R +import org.tasks.data.TaskDao import org.tasks.dialogs.DateTimePicker.Companion.newDateTimePicker import org.tasks.dialogs.DateTimePicker.OnDismissHandler import org.tasks.injection.InjectingAppCompatActivity