public void removeTaskDialog(final int location) { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity()); dialogBuilder.setMessage(R.string.dialog_removing_message); Item item = adapter.getItem(location); if (item.isTask()) { ModelTask removingTask = (ModelTask) item; final long timeStamp = removingTask.getTimeStamp(); final boolean[] isRemoved = {false}; dialogBuilder.setPositiveButton( R.string.dialog_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { adapter.removeItem(location); isRemoved[0] = true; Snackbar snackbar = Snackbar.make( getActivity().findViewById(R.id.coordinator), R.string.removed, Snackbar.LENGTH_LONG); snackbar.setAction( R.string.dialog_cancel, new View.OnClickListener() { @Override public void onClick(View v) { addTask(activity.dbHelper.query().getTask(timeStamp), false); isRemoved[0] = false; } }); snackbar .getView() .addOnAttachStateChangeListener( new View.OnAttachStateChangeListener() { @Override public void onViewAttachedToWindow(View v) {} @Override public void onViewDetachedFromWindow(View v) { if (isRemoved[0]) { alarmHelper.removeAlarm(timeStamp); activity.dbHelper.removeTask(timeStamp); } } }); snackbar.show(); dialog.dismiss(); } }); dialogBuilder.setNegativeButton( R.string.dialog_cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); } dialogBuilder.show(); }
public void updateTask(ModelTask task) { adapter.updateItem(task); }