mirror of https://github.com/tasks/tasks
Add CompleteTaskReceiver
parent
31647f11fd
commit
839a3e58c7
@ -0,0 +1,34 @@
|
||||
package org.tasks.receivers;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.todoroo.astrid.data.Task;
|
||||
import com.todoroo.astrid.service.TaskService;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.tasks.injection.InjectingBroadcastReceiver;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
public class CompleteTaskReceiver extends InjectingBroadcastReceiver {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(CompleteTaskReceiver.class);
|
||||
|
||||
public static final String TASK_ID = "id";
|
||||
public static final String FLIP_STATE = "flip_state";
|
||||
|
||||
@Inject TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
super.onReceive(context, intent);
|
||||
|
||||
long taskId = intent.getLongExtra(TASK_ID, 0);
|
||||
boolean flipState = intent.getBooleanExtra(FLIP_STATE, false);
|
||||
log.info("Completing {}", taskId);
|
||||
Task task = taskService.fetchById(taskId, Task.ID, Task.COMPLETION_DATE);
|
||||
taskService.setComplete(task, !flipState || !task.isCompleted());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue