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.andlib.utility.DateUtilities
import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.dao.TaskDao
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import kotlinx.coroutines.runBlocking
import org.tasks.data.GoogleTaskDao import org.tasks.data.GoogleTaskDao
import timber.log.Timber import timber.log.Timber
import javax.inject.Inject import javax.inject.Inject
@ -12,10 +11,11 @@ class TaskCompleter @Inject internal constructor(
private val taskDao: TaskDao, private val taskDao: TaskDao,
private val googleTaskDao: GoogleTaskDao) { private val googleTaskDao: GoogleTaskDao) {
fun setCompleteBlocking(taskId: Long) = runBlocking { suspend fun setComplete(taskId: Long) =
taskDao.fetch(taskId)?.let { setComplete(it, true) } taskDao
.fetch(taskId)
?.let { setComplete(it, true) }
?: Timber.e("Could not find task $taskId") ?: Timber.e("Could not find task $taskId")
}
suspend fun setComplete(item: Task, completed: Boolean) { suspend fun setComplete(item: Task, completed: Boolean) {
val completionDate = if (completed) DateUtilities.now() else 0L val completionDate = if (completed) DateUtilities.now() else 0L

@ -3,7 +3,8 @@ package org.tasks.notifications
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.tasks.injection.InjectingBroadcastReceiver import org.tasks.injection.InjectingBroadcastReceiver
import timber.log.Timber import timber.log.Timber
import javax.inject.Inject import javax.inject.Inject
@ -16,7 +17,7 @@ class NotificationClearedReceiver : InjectingBroadcastReceiver() {
super.onReceive(context, intent) super.onReceive(context, intent)
val notificationId = intent.getLongExtra(NotificationManager.EXTRA_NOTIFICATION_ID, -1L) val notificationId = intent.getLongExtra(NotificationManager.EXTRA_NOTIFICATION_ID, -1L)
Timber.d("cleared $notificationId") Timber.d("cleared $notificationId")
runBlocking { GlobalScope.launch {
notificationManager.cancel(notificationId) 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