|
|
|
@ -5,17 +5,7 @@ import com.todoroo.astrid.dao.TaskDao
|
|
|
|
|
import com.todoroo.astrid.data.Task
|
|
|
|
|
import com.todoroo.astrid.gcal.GCalHelper
|
|
|
|
|
import org.tasks.LocalBroadcastManager
|
|
|
|
|
import org.tasks.data.Alarm
|
|
|
|
|
import org.tasks.data.AlarmDao
|
|
|
|
|
import org.tasks.data.CaldavDao
|
|
|
|
|
import org.tasks.data.CaldavTask
|
|
|
|
|
import org.tasks.data.Geofence
|
|
|
|
|
import org.tasks.data.GoogleTask
|
|
|
|
|
import org.tasks.data.GoogleTaskDao
|
|
|
|
|
import org.tasks.data.LocationDao
|
|
|
|
|
import org.tasks.data.Tag
|
|
|
|
|
import org.tasks.data.TagDao
|
|
|
|
|
import org.tasks.data.TagDataDao
|
|
|
|
|
import org.tasks.data.*
|
|
|
|
|
import org.tasks.db.DbUtils.dbchunk
|
|
|
|
|
import org.tasks.preferences.Preferences
|
|
|
|
|
import javax.inject.Inject
|
|
|
|
@ -40,13 +30,13 @@ class TaskDuplicator @Inject constructor(
|
|
|
|
|
tasks.removeAll(taskDao.getChildren(it))
|
|
|
|
|
}
|
|
|
|
|
for (task in taskDao.fetch(tasks)) {
|
|
|
|
|
result.add(clone(task))
|
|
|
|
|
result.add(clone(task, task.parent))
|
|
|
|
|
}
|
|
|
|
|
localBroadcastManager.broadcastRefresh()
|
|
|
|
|
return result
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private suspend fun clone(clone: Task, parentId: Long = 0L): Task {
|
|
|
|
|
private suspend fun clone(clone: Task, parentId: Long): Task {
|
|
|
|
|
val originalId = clone.id
|
|
|
|
|
with(clone) {
|
|
|
|
|
creationDate = DateUtilities.now()
|
|
|
|
|