fix #6: Add alert sound for bluetooth playback

This commit is contained in:
Tim Kluge 2024-12-04 22:35:28 +01:00
parent a7310220e5
commit 1b7a2457d0
5 changed files with 16 additions and 9 deletions

View File

@ -16,9 +16,10 @@ extensions like this. Until it is available, you can sideload the app.
2. Set up your Karoo for sideloading. DC Rainmaker has a great [step-by-step guide](https://www.dcrainmaker.com/2021/02/how-to-sideload-android-apps-on-your-hammerhead-karoo-1-karoo-2.html).
3. Install the app by running `adb install app-release.apk`.
## Icon
## Credits
Icon is `timers` by [boxicons.com](https://boxicons.com) (MIT-licensed).
- Icon is `timers` by [boxicons.com](https://boxicons.com) (MIT-licensed).
- Reminder sound played over bluetooth is `SweetAlertSound5.wav` by `KIZILSUNGUR` from [freesound.org](https://freesound.org/people/KIZILSUNGUR/sounds/72129/) (CC0).
## Links

View File

@ -13,8 +13,8 @@ android {
applicationId = "de.timklge.karooreminder"
minSdk = 26
targetSdk = 34
versionCode = 4
versionName = "1.0.3"
versionCode = 5
versionName = "1.0.4"
}
buildTypes {

View File

@ -3,9 +3,9 @@
"packageName": "de.timklge.karooreminder",
"iconUrl": "https://github.com/timklge/karoo-reminder/releases/latest/download/karoo-reminder.png",
"latestApkUrl": "https://github.com/timklge/karoo-reminder/releases/latest/download/app-release.apk",
"latestVersion": "1.0.3",
"latestVersionCode": 4,
"latestVersion": "1.0.4",
"latestVersionCode": 5,
"developer": "timklge",
"description": "Simple karoo extension that shows in-ride alerts every X minutes",
"releaseNotes": "Added display duration setting"
"releaseNotes": "Added display duration setting, bluetooth alert sound"
}

View File

@ -1,5 +1,6 @@
package de.timklge.karooreminder
import android.media.MediaPlayer
import android.util.Log
import de.timklge.karooreminder.screens.Reminder
import de.timklge.karooreminder.screens.ReminderBeepPattern
@ -25,7 +26,7 @@ import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.launch
import kotlinx.serialization.json.Json
class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.4") {
companion object {
const val TAG = "karoo-reminder"
@ -40,6 +41,8 @@ class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
karooSystem = KarooSystemService(applicationContext)
val mediaPlayer = MediaPlayer.create(this, R.raw.reminder)
serviceJob = CoroutineScope(Dispatchers.IO).launch {
karooSystem.connect { connected ->
if (connected) {
@ -71,7 +74,10 @@ class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
.forEach { reminder ->
karooSystem.dispatch(TurnScreenOn)
delay(1_000)
if (reminder.tone != ReminderBeepPattern.NO_TONES) karooSystem.dispatch(PlayBeepPattern(reminder.tone.tones))
if (reminder.tone != ReminderBeepPattern.NO_TONES){
karooSystem.dispatch(PlayBeepPattern(reminder.tone.tones))
mediaPlayer.start()
}
karooSystem.dispatch(
InRideAlert(
id = "reminder-${reminder.id}-${elapsedMinutes}",

Binary file not shown.