AlarmReceiver was calling startActivity() directly, which Android 10+
blocks from background. Now delegates to AlarmRingService which uses a
foreground notification with full-screen intent. Removed duplicate
sound/vibration from AlarmActivity (service owns playback). Removed
all vibration code and VIBRATE permission.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Android alarm clock with embedded Ktor HTTP server for remote control.
Features in-app and HTTP API alarm management, full-screen alarm activity
with sound/vibration, DND bypass, boot persistence, and dark Material 3 UI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>