CountAway 1.1.5
CountAway 1.1.5 is a reliability-focused release that strengthens reminders, local data handling, backups, widgets, and editor recovery without adding new permissions or network behavior.
Improved
- Distinguish notification permission from app-level and channel-level notification availability so blocked notifications are not marked as delivered.
- Warn when Android notification settings block delivery while preserving the user's configured reminder.
- Reject newly created or changed reminder configurations whose scheduled date is already in the past while keeping existing historical reminders editable.
- Preserve unsaved editor and widget-configuration state across Activity recreation.
- Preserve pending backup-import confirmation across Activity recreation and revalidate the selected backup before replacing local data.
- Make the widget configuration preview reflect the selected countdown's real title, icon, and countdown state, and refresh it after event edits.
- Add direct countdown creation and supported-launcher widget pinning from About, with a more compact backup/support layout and a clearer empty state.
- Keep missed reminders expired after their scheduled date while still allowing same-day recovery.
Hardened
- Bound local storage and backup reads before loading the full JSON payload into memory, and reject encoded output that would exceed the same payload limit before replacing local data.
- Reject malformed imported backups with blank or duplicate IDs/titles, excessive event counts, or oversized payloads.
- Distinguish corrupt data from data created by a newer CountAway schema.
- Apply compatibility-safe limits to newly imported IDs and titles without invalidating previously valid local data.
- Keep editor and widget state available when local data cannot be read safely or storage writes fail.
- Keep a successful backup restore successful even if a secondary widget or reminder refresh later fails.
- Truncate backup destinations explicitly when overwriting through Android's document provider.
- Add regression tests for storage validation, future schemas, reminder scheduling and editor behavior, widget preview content, and payload limits.