Notification: add checkmark instead of toggling

pull/151/head
Alinson S. Xavier 9 years ago
parent c1e10e09a5
commit 28eb615b0e

@ -38,7 +38,7 @@ import javax.inject.*;
/** /**
* The Android BroadcastReceiver for Loop Habit Tracker. * The Android BroadcastReceiver for Loop Habit Tracker.
* <p/> * <p>
* All broadcast messages are received and processed by this class. * All broadcast messages are received and processed by this class.
*/ */
public class HabitBroadcastReceiver extends BroadcastReceiver public class HabitBroadcastReceiver extends BroadcastReceiver
@ -66,16 +66,6 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
HabitsApplication.getComponent().inject(this); HabitsApplication.getComponent().inject(this);
} }
public static void dismissNotification(Context context, Habit habit)
{
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(
Activity.NOTIFICATION_SERVICE);
int notificationId = (int) (habit.getId() % Integer.MAX_VALUE);
notificationManager.cancel(notificationId);
}
@Override @Override
public void onReceive(final Context context, Intent intent) public void onReceive(final Context context, Intent intent)
{ {
@ -87,7 +77,7 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
break; break;
case ACTION_DISMISS: case ACTION_DISMISS:
dismissAllHabits(); // NOP
break; break;
case ACTION_CHECK: case ACTION_CHECK:
@ -112,15 +102,22 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
long habitId = ContentUris.parseId(data); long habitId = ContentUris.parseId(data);
Habit habit = habits.getById(habitId); Habit habit = habits.getById(habitId);
if (habit != null) try
{ {
if (habit == null) return;
Repetition rep = habit.getRepetitions().getByTimestamp(timestamp);
if (rep != null) return;
ToggleRepetitionCommand command = ToggleRepetitionCommand command =
new ToggleRepetitionCommand(habit, timestamp); new ToggleRepetitionCommand(habit, timestamp);
commandRunner.execute(command, habitId); commandRunner.execute(command, habitId);
} }
finally
{
dismissNotification(context, habitId); dismissNotification(context, habitId);
} }
}
private boolean checkWeekday(Intent intent, Habit habit) private boolean checkWeekday(Intent intent, Habit habit)
{ {
@ -226,11 +223,6 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
() -> ReminderUtils.createReminderAlarms(context, habits), 5000); () -> ReminderUtils.createReminderAlarms(context, habits), 5000);
} }
private void dismissAllHabits()
{
}
private void dismissNotification(Context context, Long habitId) private void dismissNotification(Context context, Long habitId)
{ {
NotificationManager notificationManager = NotificationManager notificationManager =

Loading…
Cancel
Save