From 5da49d9ee1ed5b9ea3658521f69e39380ac85f6b Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 22 Sep 2020 13:47:36 -0500 Subject: [PATCH] Fix null pointer when task is missing --- .../tasks/opentasks/OpenTasksSynchronizer.kt | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt b/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt index 86773c5ec..2ee3fde88 100644 --- a/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt +++ b/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt @@ -303,17 +303,13 @@ class OpenTasksSynchronizer @Inject constructor( if (!it.moveToFirst()) { return } - val task: Task - val caldavTask: CaldavTask - if (existing == null) { - task = taskCreator.createWithValues("") - taskDao.createNew(task) - val remoteId = it.getString(Tasks._UID) - caldavTask = CaldavTask(task.id, calendar.uuid, remoteId, syncId) - } else { - task = taskDao.fetch(existing.task)!! - caldavTask = existing - } + val task = existing?.task + ?.let { task -> taskDao.fetch(task) } + ?: taskCreator + .createWithValues("") + .apply { taskDao.createNew(this) } + val caldavTask = existing + ?: CaldavTask(task.id, calendar.uuid, it.getString(Tasks._UID), syncId) task.title = it.getString(Tasks.TITLE) task.priority = CaldavConverter.fromRemote(it.getInt(Tasks.PRIORITY)) task.completionDate = it.getLong(Tasks.COMPLETED)