docs: apply surgical edits to harden edge-cases and clarify behavior

Implementation plan hardening:
- Document force-stop limitation: system cancels alarms until next explicit launch
- Add force-stop test case: no delivery until launch, then rescheduler restores schedules
- Make Doze degradation unmistakable: fixed string badge 'Degraded (Doze)' with EVT_DOZE_FALLBACK_TAKEN
- Freeze PendingIntent flags rule as Security AC: FLAG_IMMUTABLE unless mutation required

Analysis doc clarification:
- Add closed vs force-stopped distinction: closing/swiping doesn't affect alarms, force-stopping cancels them

These edits harden edge-cases around force-stop behavior and make Doze degradation UI requirements crystal clear for QA testing.
This commit is contained in:
Matthew Raymer
2025-10-24 11:13:48 +00:00
parent 58617c98f4
commit 92210398ae
2 changed files with 6 additions and 0 deletions

View File

@@ -491,6 +491,8 @@ JavaScript Promise Resolution
- **BootReceiver**: Reschedules notifications after reboot
- **Doze Mode**: Handles Android's battery optimization
> **Closed vs force-stopped:** Closing/swiping the app does not affect alarms or WorkManager. **Force-stopping** from Settings cancels alarms and suppresses receivers until the next launch, after which Boot/rehydration logic can restore future schedules.
## Testing Capabilities
### Interactive Testing Features