mirror of https://github.com/tasks/tasks
Add complete and snooze notification actions
parent
839a3e58c7
commit
e6e7f76e81
@ -0,0 +1,65 @@
|
|||||||
|
package org.tasks.reminders;
|
||||||
|
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import com.todoroo.astrid.data.Task;
|
||||||
|
import com.todoroo.astrid.reminders.SnoozeCallback;
|
||||||
|
import com.todoroo.astrid.reminders.SnoozeDialog;
|
||||||
|
import com.todoroo.astrid.service.StartupService;
|
||||||
|
import com.todoroo.astrid.service.TaskService;
|
||||||
|
|
||||||
|
import org.tasks.R;
|
||||||
|
import org.tasks.injection.InjectingActivity;
|
||||||
|
import org.tasks.notifications.NotificationManager;
|
||||||
|
import org.tasks.preferences.ActivityPreferences;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
public class SnoozeActivity extends InjectingActivity {
|
||||||
|
|
||||||
|
public static final String TASK_ID = "id";
|
||||||
|
|
||||||
|
@Inject StartupService startupService;
|
||||||
|
@Inject ActivityPreferences preferences;
|
||||||
|
@Inject TaskService taskService;
|
||||||
|
@Inject NotificationManager notificationManager;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
preferences.applyTranslucentDialogTheme();
|
||||||
|
startupService.onStartupApplication(this);
|
||||||
|
long taskId = getIntent().getLongExtra(TASK_ID, 0L);
|
||||||
|
snooze(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void snooze(final long taskId) {
|
||||||
|
SnoozeCallback callback = new SnoozeCallback() {
|
||||||
|
@Override
|
||||||
|
public void snoozeForTime(long time) {
|
||||||
|
setResult(RESULT_OK);
|
||||||
|
Task task = new Task();
|
||||||
|
task.setId(taskId);
|
||||||
|
task.setReminderSnooze(time);
|
||||||
|
taskService.save(task);
|
||||||
|
notificationManager.cancel(taskId);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
SnoozeDialog sd = new SnoozeDialog(this, callback);
|
||||||
|
new AlertDialog.Builder(this)
|
||||||
|
.setTitle(R.string.rmd_NoA_snooze)
|
||||||
|
.setView(sd)
|
||||||
|
.setPositiveButton(android.R.string.ok, sd)
|
||||||
|
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
setResult(RESULT_CANCELED);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show().setOwnerActivity(this);
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 604 B |
Binary file not shown.
After Width: | Height: | Size: 592 B |
Binary file not shown.
After Width: | Height: | Size: 814 B |
Binary file not shown.
After Width: | Height: | Size: 428 B |
Loading…
Reference in New Issue