diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt b/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt index 5a8d42936..b60904840 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt @@ -54,11 +54,11 @@ class PendingIntentFactory }, FLAG_UPDATE_CURRENT) - fun cancelNotification(habit: Habit): PendingIntent = + fun removeRepetition(habit: Habit): PendingIntent = PendingIntent.getBroadcast( context, 3, Intent(context, WidgetReceiver::class.java).apply { - action = WidgetReceiver.ACTION_CANCEL_REPETITION + action = WidgetReceiver.ACTION_REMOVE_REPETITION data = Uri.parse(habit.uriString) }, FLAG_UPDATE_CURRENT) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt index b20e88690..15abc403f 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt @@ -66,9 +66,9 @@ class AndroidNotificationTray @NonNull timestamp: Timestamp) : Notification { - val checkAction = Action( + val addRepetitionAction = Action( R.drawable.ic_action_check, - context.getString(R.string.check), + context.getString(R.string.yes), pendingIntents.addCheckmark(habit, timestamp)) val snoozeAction = Action( @@ -76,10 +76,10 @@ class AndroidNotificationTray context.getString(R.string.snooze), pendingIntents.snoozeNotification(habit)) - val cancelAction = Action( + val removeRepetitionAction = Action( R.drawable.ic_action_cancel, - context.getString(android.R.string.no), - pendingIntents.cancelNotification(habit) + context.getString(R.string.no), + pendingIntents.removeRepetition(habit) ) val wearableBg = decodeResource(context.resources, R.drawable.stripe) @@ -89,9 +89,9 @@ class AndroidNotificationTray // WearableExtender. val wearableExtender = WearableExtender() .setBackground(wearableBg) - .addAction(checkAction) + .addAction(addRepetitionAction) + .addAction(removeRepetitionAction) .addAction(snoozeAction) - .addAction(cancelAction) val builder = NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_notification) @@ -99,9 +99,9 @@ class AndroidNotificationTray .setContentText(habit.description) .setContentIntent(pendingIntents.showHabit(habit)) .setDeleteIntent(pendingIntents.dismissNotification(habit)) - .addAction(checkAction) + .addAction(addRepetitionAction) + .addAction(removeRepetitionAction) .addAction(snoozeAction) - .addAction(cancelAction) .setSound(ringtoneManager.getURI()) .extend(wearableExtender) .setWhen(reminderTime) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java index 9f98bd191..7074224e8 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/WidgetReceiver.java @@ -46,9 +46,6 @@ public class WidgetReceiver extends BroadcastReceiver public static final String ACTION_REMOVE_REPETITION = "org.isoron.uhabits.ACTION_REMOVE_REPETITION"; - public static final String ACTION_CANCEL_REPETITION = - "org.isoron.uhabits.ACTION_CANCEL_REPETITION"; - public static final String ACTION_TOGGLE_REPETITION = "org.isoron.uhabits.ACTION_TOGGLE_REPETITION"; @@ -91,11 +88,6 @@ public class WidgetReceiver extends BroadcastReceiver controller.onRemoveRepetition(data.getHabit(), data.getTimestamp()); break; - - case ACTION_CANCEL_REPETITION: - controller.onCancelRepetition(data.getHabit(), - data.getTimestamp()); - break; } } catch (RuntimeException e) diff --git a/uhabits-android/src/main/res/values/strings.xml b/uhabits-android/src/main/res/values/strings.xml index 3ea1d2f76..bb89c2fab 100644 --- a/uhabits-android/src/main/res/values/strings.xml +++ b/uhabits-android/src/main/res/values/strings.xml @@ -217,4 +217,6 @@ e.g. Did you exercise today? Question Target + Yes + No \ No newline at end of file diff --git a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/widgets/WidgetBehavior.java b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/widgets/WidgetBehavior.java index 4615a2487..d3aa800af 100644 --- a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/widgets/WidgetBehavior.java +++ b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/widgets/WidgetBehavior.java @@ -48,25 +48,20 @@ public class WidgetBehavior public void onAddRepetition(@NonNull Habit habit, Timestamp timestamp) { + notificationTray.cancel(habit); Repetition rep = habit.getRepetitions().getByTimestamp(timestamp); if (rep != null) return; performToggle(habit, timestamp); - notificationTray.cancel(habit); } public void onRemoveRepetition(@NonNull Habit habit, Timestamp timestamp) { + notificationTray.cancel(habit); Repetition rep = habit.getRepetitions().getByTimestamp(timestamp); if (rep == null) return; performToggle(habit, timestamp); } - public void onCancelRepetition(@NonNull Habit habit, Timestamp timestamp) - { - onRemoveRepetition(habit, timestamp); - notificationTray.cancel(habit); - } - public void onToggleRepetition(@NonNull Habit habit, Timestamp timestamp) { performToggle(habit, timestamp);