Skip to content

feat(alarm): add music alarm scheduling with playlist and random playback options#3063

Open
0xarchit wants to merge 5 commits intoMetrolistGroup:mainfrom
0xarchit:feature/music-alarm
Open

feat(alarm): add music alarm scheduling with playlist and random playback options#3063
0xarchit wants to merge 5 commits intoMetrolistGroup:mainfrom
0xarchit:feature/music-alarm

Conversation

@0xarchit
Copy link

@0xarchit 0xarchit commented Feb 28, 2026

Problem

Metrolist did not provide a built-in music alarm flow for users who want playback to start at a scheduled time.

Solution

This PR introduces an alarm feature integrated into app settings and playback flow.

Included changes

  • Added alarm settings UI and navigation entry in Settings.
  • Added scheduling logic using Android AlarmManager.
  • Added alarm trigger receiver and reschedule receiver for system events (boot/time change/package replace).
  • Added persistent alarm preferences (enabled, time, playlist id, random mode, next trigger).
  • Added required manifest declarations and permissions for alarm + wake behavior.
  • Added localized strings for alarm UI in res/values/metrolist_strings.xml.

User-facing behavior

  • User can enable/disable alarm.
  • User can choose alarm time.
  • User can select playlist source.
  • User can enable random track mode for playlist alarms.

Testing

  • Built successfully with:
    • ./gradlew :app:assembleuniversalFossDebug
  • Installed and tested on physical Android device.
  • Verified:
    • alarm scheduling
    • trigger execution path
    • playlist selection + random toggle behavior
  • Testing device details:
    • Xiaomi redmi K50i / Redmi Note 11T Pro / POCO X4 GT
    • codename: xaga
    • Android 14
    • 6 GB RAM + 128 GB storage varient

Notes

  • Exact alarm behavior depends on Android version/device policy and permission state.
  • OEM battery optimization settings can still affect background reliability on some devices.

Screenshots

  • Alarm configuration section in settings
image
  • Alarm settings screen
image

@0xarchit 0xarchit marked this pull request as draft February 28, 2026 14:31
@0xarchit 0xarchit marked this pull request as ready for review February 28, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant