AlarmClock
AlarmClock copied to clipboard
Internal rintone picker
Internal rintone picker
Summary
We need an internal ringtone picker because more phones come without ringtone picker intent receivers and default settings.
Motivation
Lack of any fallback measure causes the app to crash.
Description
Implement a simple picker activity. In addition to the usual behavior we need a button to pick with an intent. Implementation with Jetpack Compose and a ViewModel.
Take a looks at https://github.com/DeweyReed/UltimateRingtonePicker and https://android.googlesource.com/platform/packages/apps/DeskClock/+/refs/heads/master/src/com/android/deskclock/ringtone/RingtonePickerActivity.kt
Drawbacks, risks and assumptions
We can mess something up or create a picker which people don't like. Mitigation:
- Use only as fallback
- Allow to use system picker
- Switchable in settings
Rationale and alternatives
Alternatively send to user the Play market. But this won't work on F-Droid and is horrible user experience.