Remove some runBlocking calls

pull/1111/head
Alex Baker 4 years ago
parent 350b4f3699
commit 58425e8bf1

@ -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

@ -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)
}
}

@ -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();
}
}

@ -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"
}
}
Loading…
Cancel
Save