fix #6: Add alert sound for bluetooth playback
This commit is contained in:
parent
a7310220e5
commit
1b7a2457d0
@ -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).
|
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`.
|
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
|
## Links
|
||||||
|
|
||||||
|
|||||||
@ -13,8 +13,8 @@ android {
|
|||||||
applicationId = "de.timklge.karooreminder"
|
applicationId = "de.timklge.karooreminder"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 4
|
versionCode = 5
|
||||||
versionName = "1.0.3"
|
versionName = "1.0.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|||||||
@ -3,9 +3,9 @@
|
|||||||
"packageName": "de.timklge.karooreminder",
|
"packageName": "de.timklge.karooreminder",
|
||||||
"iconUrl": "https://github.com/timklge/karoo-reminder/releases/latest/download/karoo-reminder.png",
|
"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",
|
"latestApkUrl": "https://github.com/timklge/karoo-reminder/releases/latest/download/app-release.apk",
|
||||||
"latestVersion": "1.0.3",
|
"latestVersion": "1.0.4",
|
||||||
"latestVersionCode": 4,
|
"latestVersionCode": 5,
|
||||||
"developer": "timklge",
|
"developer": "timklge",
|
||||||
"description": "Simple karoo extension that shows in-ride alerts every X minutes",
|
"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"
|
||||||
}
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
package de.timklge.karooreminder
|
package de.timklge.karooreminder
|
||||||
|
|
||||||
|
import android.media.MediaPlayer
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import de.timklge.karooreminder.screens.Reminder
|
import de.timklge.karooreminder.screens.Reminder
|
||||||
import de.timklge.karooreminder.screens.ReminderBeepPattern
|
import de.timklge.karooreminder.screens.ReminderBeepPattern
|
||||||
@ -25,7 +26,7 @@ import kotlinx.coroutines.flow.mapNotNull
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
|
class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.4") {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val TAG = "karoo-reminder"
|
const val TAG = "karoo-reminder"
|
||||||
@ -40,6 +41,8 @@ class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
|
|||||||
|
|
||||||
karooSystem = KarooSystemService(applicationContext)
|
karooSystem = KarooSystemService(applicationContext)
|
||||||
|
|
||||||
|
val mediaPlayer = MediaPlayer.create(this, R.raw.reminder)
|
||||||
|
|
||||||
serviceJob = CoroutineScope(Dispatchers.IO).launch {
|
serviceJob = CoroutineScope(Dispatchers.IO).launch {
|
||||||
karooSystem.connect { connected ->
|
karooSystem.connect { connected ->
|
||||||
if (connected) {
|
if (connected) {
|
||||||
@ -71,7 +74,10 @@ class KarooReminderExtension : KarooExtension("karoo-reminder", "1.0.3") {
|
|||||||
.forEach { reminder ->
|
.forEach { reminder ->
|
||||||
karooSystem.dispatch(TurnScreenOn)
|
karooSystem.dispatch(TurnScreenOn)
|
||||||
delay(1_000)
|
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(
|
karooSystem.dispatch(
|
||||||
InRideAlert(
|
InRideAlert(
|
||||||
id = "reminder-${reminder.id}-${elapsedMinutes}",
|
id = "reminder-${reminder.id}-${elapsedMinutes}",
|
||||||
|
|||||||
BIN
app/src/main/res/raw/reminder.wav
Normal file
BIN
app/src/main/res/raw/reminder.wav
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user