diff --git a/README.md b/README.md index 0c71c35..d361696 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 47fa3e6..02b78d7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -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 { diff --git a/app/manifest.json b/app/manifest.json index ea0122a..816bd24 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -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" } \ No newline at end of file diff --git a/app/src/main/kotlin/de/timklge/karooreminder/KarooReminderExtension.kt b/app/src/main/kotlin/de/timklge/karooreminder/KarooReminderExtension.kt index f6e2d22..80dab41 100644 --- a/app/src/main/kotlin/de/timklge/karooreminder/KarooReminderExtension.kt +++ b/app/src/main/kotlin/de/timklge/karooreminder/KarooReminderExtension.kt @@ -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}", diff --git a/app/src/main/res/raw/reminder.wav b/app/src/main/res/raw/reminder.wav new file mode 100644 index 0000000..d85e3ce Binary files /dev/null and b/app/src/main/res/raw/reminder.wav differ