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