Handle VIBRATOR_SERVICE deprecation for alarms

Closes #28.
This commit is contained in:
Brandon Presley 2022-09-19 13:23:00 +12:00
parent fdb0355aaa
commit 6ddecf60f0
1 changed files with 10 additions and 5 deletions

View File

@ -1,16 +1,14 @@
package com.massive package com.massive
import android.app.Service import android.app.Service
import android.content.Context
import android.media.MediaPlayer.OnPreparedListener import android.media.MediaPlayer.OnPreparedListener
import android.media.MediaPlayer import android.media.MediaPlayer
import android.os.Vibrator
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import android.content.Intent import android.content.Intent
import android.media.AudioAttributes import android.media.AudioAttributes
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.*
import android.os.VibrationEffect
import android.os.IBinder
class AlarmService : Service(), OnPreparedListener { class AlarmService : Service(), OnPreparedListener {
var mediaPlayer: MediaPlayer? = null var mediaPlayer: MediaPlayer? = null
@ -42,7 +40,14 @@ class AlarmService : Service(), OnPreparedListener {
} }
} }
val pattern = longArrayOf(0, 300, 1300, 300, 1300, 300) val pattern = longArrayOf(0, 300, 1300, 300, 1300, 300)
vibrator = applicationContext.getSystemService(VIBRATOR_SERVICE) as Vibrator vibrator = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager =
getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
vibratorManager.defaultVibrator
} else {
@Suppress("DEPRECATION")
getSystemService(VIBRATOR_SERVICE) as Vibrator
}
val audioAttributes = AudioAttributes.Builder() val audioAttributes = AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ALARM) .setUsage(AudioAttributes.USAGE_ALARM)