From 6ddecf60f01c5684fb809f80a7ac206623342a87 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Mon, 19 Sep 2022 13:23:00 +1200 Subject: [PATCH] Handle VIBRATOR_SERVICE deprecation for alarms Closes #28. --- .../app/src/main/java/com/massive/AlarmService.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/com/massive/AlarmService.kt b/android/app/src/main/java/com/massive/AlarmService.kt index 8d16610..83a795a 100644 --- a/android/app/src/main/java/com/massive/AlarmService.kt +++ b/android/app/src/main/java/com/massive/AlarmService.kt @@ -1,16 +1,14 @@ package com.massive import android.app.Service +import android.content.Context import android.media.MediaPlayer.OnPreparedListener import android.media.MediaPlayer -import android.os.Vibrator import androidx.annotation.RequiresApi import android.content.Intent import android.media.AudioAttributes import android.net.Uri -import android.os.Build -import android.os.VibrationEffect -import android.os.IBinder +import android.os.* class AlarmService : Service(), OnPreparedListener { var mediaPlayer: MediaPlayer? = null @@ -42,7 +40,14 @@ class AlarmService : Service(), OnPreparedListener { } } 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() .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) .setUsage(AudioAttributes.USAGE_ALARM)