Files
honeyDueKMP/composeApp/src/androidMain/kotlin/com/tt/honeyDue/notifications/NotificationActions.kt
T
Trey T 19471d780d P2 Stream H: standalone TaskSuggestionsScreen
Port iOS TaskSuggestionsView as a standalone route reachable outside
onboarding. Uses shared suggestions API + accept/skip analytics in
non-onboarding variant.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 13:10:47 -05:00

38 lines
1.7 KiB
Kotlin

package com.tt.honeyDue.notifications
/**
* Action + extra constants for the iOS-parity notification action buttons.
*
* Mirrors the action identifiers from
* `iosApp/iosApp/PushNotifications/NotificationCategories.swift`
* (Complete, Snooze, Open for task_reminder / task_overdue; Accept, Decline, Open
* for residence_invite). Consumed by [NotificationActionReceiver] and attached
* to the notifications built by [FcmService].
*
* Action strings are fully-qualified so they never collide with other
* BroadcastReceivers registered in the app (e.g. the legacy
* `com.tt.honeyDue.NotificationActionReceiver` which handles task-state
* transitions from widget-era notifications).
*/
object NotificationActions {
const val COMPLETE: String = "com.tt.honeyDue.action.COMPLETE_TASK"
const val SNOOZE: String = "com.tt.honeyDue.action.SNOOZE_TASK"
const val OPEN: String = "com.tt.honeyDue.action.OPEN"
const val ACCEPT_INVITE: String = "com.tt.honeyDue.action.ACCEPT_INVITE"
const val DECLINE_INVITE: String = "com.tt.honeyDue.action.DECLINE_INVITE"
/** Firing a SNOOZE fires this alarm action when the 30-min wait elapses. */
const val SNOOZE_FIRE: String = "com.tt.honeyDue.action.SNOOZE_FIRE"
const val EXTRA_TASK_ID: String = "task_id"
const val EXTRA_RESIDENCE_ID: String = "residence_id"
const val EXTRA_NOTIFICATION_ID: String = "notification_id"
const val EXTRA_TITLE: String = "title"
const val EXTRA_BODY: String = "body"
const val EXTRA_TYPE: String = "type"
const val EXTRA_DEEP_LINK: String = "deep_link"
/** Snooze delay that matches `iosApp/iosApp/PushNotifications/NotificationCategories.swift`. */
const val SNOOZE_DELAY_MS: Long = 30L * 60L * 1000L
}