From dc4c6358da0d685dd632c90df171b9b465b30db9 Mon Sep 17 00:00:00 2001 From: Rawlin C Date: Sat, 24 Jun 2023 18:31:43 +0530 Subject: [PATCH] Setting max alarm volume to max volume of STREAM_ALARM instead of 1f --- .../clock/activities/ReminderActivity.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt b/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt index 880e2a31..bf5db25a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/activities/ReminderActivity.kt @@ -168,8 +168,14 @@ class ReminderActivity : SimpleActivity() { } private fun setupEffects() { + val maxAlarmStreamVolume = try { + val audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager + audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM).toFloat().div(100) + } catch (t: Throwable) { + 1f + } if (!isAlarmReminder || !config.increaseVolumeGradually) { - lastVolumeValue = 1f + lastVolumeValue = maxAlarmStreamVolume } val doVibrate = if (alarm != null) alarm!!.vibrate else config.timerVibrate @@ -197,18 +203,18 @@ class ReminderActivity : SimpleActivity() { } if (config.increaseVolumeGradually) { - scheduleVolumeIncrease() + scheduleVolumeIncrease(maxAlarmStreamVolume) } } catch (e: Exception) { } } } - private fun scheduleVolumeIncrease() { + private fun scheduleVolumeIncrease(maxVolume: Float) { increaseVolumeHandler.postDelayed({ - lastVolumeValue = Math.min(lastVolumeValue + 0.1f, 1f) + lastVolumeValue = (lastVolumeValue + 0.1f).coerceAtMost(maxVolume) mediaPlayer?.setVolume(lastVolumeValue, lastVolumeValue) - scheduleVolumeIncrease() + scheduleVolumeIncrease(maxVolume) }, INCREASE_VOLUME_DELAY) }