From 42e0f48b8b325a7056942b7668d5cd8296709d5c Mon Sep 17 00:00:00 2001 From: Kavish Devar Date: Sat, 10 May 2025 07:55:14 +0530 Subject: [PATCH] android: fix sharedpreference listener for conversational awareness customizations --- .../me/kavishdevar/librepods/utils/MediaController.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/me/kavishdevar/librepods/utils/MediaController.kt b/android/app/src/main/java/me/kavishdevar/librepods/utils/MediaController.kt index fcd7ad6..7adcf38 100644 --- a/android/app/src/main/java/me/kavishdevar/librepods/utils/MediaController.kt +++ b/android/app/src/main/java/me/kavishdevar/librepods/utils/MediaController.kt @@ -37,6 +37,7 @@ object MediaController { var userPlayedTheMedia = false private lateinit var sharedPreferences: SharedPreferences private val handler = Handler(Looper.getMainLooper()) + private lateinit var preferenceChangeListener: SharedPreferences.OnSharedPreferenceChangeListener var pausedForCrossDevice = false @@ -52,16 +53,16 @@ object MediaController { this.sharedPreferences = sharedPreferences Log.d("MediaController", "Initializing MediaController") relativeVolume = sharedPreferences.getBoolean("relative_conversational_awareness_volume", false) - conversationalAwarenessVolume = sharedPreferences.getInt("conversational_awareness_volume", audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) / 12) + conversationalAwarenessVolume = sharedPreferences.getInt("conversational_awareness_volume", audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) / 0.4) conversationalAwarenessPauseMusic = sharedPreferences.getBoolean("conversational_awareness_pause_music", false) - sharedPreferences.registerOnSharedPreferenceChangeListener { _, key -> + preferenceChangeListener = SharedPreferences.OnSharedPreferenceChangeListener { _, key -> when (key) { "relative_conversational_awareness_volume" -> { relativeVolume = sharedPreferences.getBoolean("relative_conversational_awareness_volume", false) } "conversational_awareness_volume" -> { - conversationalAwarenessVolume = sharedPreferences.getInt("conversational_awareness_volume", 100/12) + conversationalAwarenessVolume = sharedPreferences.getInt("conversational_awareness_volume", audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) * 0.4) } "conversational_awareness_pause_music" -> { conversationalAwarenessPauseMusic = sharedPreferences.getBoolean("conversational_awareness_pause_music", false) @@ -69,6 +70,8 @@ object MediaController { } } + sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener) + audioManager.registerAudioPlaybackCallback(cb, null) }