From 58425e8bf1f0e7b680728ba6f9ab648c5d545ba6 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 31 Aug 2020 12:14:29 -0500 Subject: [PATCH] Remove some runBlocking calls --- .../todoroo/astrid/service/TaskCompleter.kt | 10 +++---- .../NotificationClearedReceiver.kt | 5 ++-- .../tasks/receivers/CompleteTaskReceiver.java | 30 ------------------- .../tasks/receivers/CompleteTaskReceiver.kt | 29 ++++++++++++++++++ 4 files changed, 37 insertions(+), 37 deletions(-) delete mode 100644 app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.java create mode 100644 app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.kt diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskCompleter.kt b/app/src/main/java/com/todoroo/astrid/service/TaskCompleter.kt index dce42a6de..ae32b42f8 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskCompleter.kt +++ b/app/src/main/java/com/todoroo/astrid/service/TaskCompleter.kt @@ -3,7 +3,6 @@ package com.todoroo.astrid.service import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task -import kotlinx.coroutines.runBlocking import org.tasks.data.GoogleTaskDao import timber.log.Timber import javax.inject.Inject @@ -12,10 +11,11 @@ class TaskCompleter @Inject internal constructor( private val taskDao: TaskDao, private val googleTaskDao: GoogleTaskDao) { - fun setCompleteBlocking(taskId: Long) = runBlocking { - taskDao.fetch(taskId)?.let { setComplete(it, true) } - ?: Timber.e("Could not find task $taskId") - } + suspend fun setComplete(taskId: Long) = + taskDao + .fetch(taskId) + ?.let { setComplete(it, true) } + ?: Timber.e("Could not find task $taskId") suspend fun setComplete(item: Task, completed: Boolean) { val completionDate = if (completed) DateUtilities.now() else 0L diff --git a/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt b/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt index 881c342e0..471014613 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt +++ b/app/src/main/java/org/tasks/notifications/NotificationClearedReceiver.kt @@ -3,7 +3,8 @@ package org.tasks.notifications import android.content.Context import android.content.Intent import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch import org.tasks.injection.InjectingBroadcastReceiver import timber.log.Timber import javax.inject.Inject @@ -16,7 +17,7 @@ class NotificationClearedReceiver : InjectingBroadcastReceiver() { super.onReceive(context, intent) val notificationId = intent.getLongExtra(NotificationManager.EXTRA_NOTIFICATION_ID, -1L) Timber.d("cleared $notificationId") - runBlocking { + GlobalScope.launch { notificationManager.cancel(notificationId) } } diff --git a/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.java b/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.java deleted file mode 100644 index c5620bf62..000000000 --- a/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.tasks.receivers; - -import android.content.Context; -import android.content.Intent; -import com.todoroo.astrid.service.TaskCompleter; -import dagger.hilt.android.AndroidEntryPoint; -import io.reactivex.Completable; -import io.reactivex.schedulers.Schedulers; -import javax.inject.Inject; -import org.tasks.injection.InjectingBroadcastReceiver; -import timber.log.Timber; - -@AndroidEntryPoint -public class CompleteTaskReceiver extends InjectingBroadcastReceiver { - - public static final String TASK_ID = "id"; - - @Inject TaskCompleter taskCompleter; - - @Override - public void onReceive(Context context, Intent intent) { - super.onReceive(context, intent); - - long taskId = intent.getLongExtra(TASK_ID, 0); - Timber.i("Completing %s", taskId); - Completable.fromAction(() -> taskCompleter.setCompleteBlocking(taskId)) - .subscribeOn(Schedulers.io()) - .subscribe(); - } -} diff --git a/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.kt b/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.kt new file mode 100644 index 000000000..73fd867f6 --- /dev/null +++ b/app/src/main/java/org/tasks/receivers/CompleteTaskReceiver.kt @@ -0,0 +1,29 @@ +package org.tasks.receivers + +import android.content.Context +import android.content.Intent +import com.todoroo.astrid.service.TaskCompleter +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import org.tasks.injection.InjectingBroadcastReceiver +import timber.log.Timber +import javax.inject.Inject + +@AndroidEntryPoint +class CompleteTaskReceiver : InjectingBroadcastReceiver() { + @Inject lateinit var taskCompleter: TaskCompleter + + override fun onReceive(context: Context, intent: Intent) { + super.onReceive(context, intent) + val taskId = intent.getLongExtra(TASK_ID, 0) + Timber.i("Completing %s", taskId) + GlobalScope.launch { + taskCompleter.setComplete(taskId) + } + } + + companion object { + const val TASK_ID = "id" + } +} \ No newline at end of file