[Android] Fix crash spamming Subtitle shadow preference
Duncan McNamara
git at videolan.org
Thu May 7 05:17:06 UTC 2026
vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Mon Mar 23 16:10:47 2026 +0100| [cf6dce34cd6207e5351dfe876670e84a6106349a] | committer: Nicolas Pomepuy
Fix crash spamming Subtitle shadow preference
By waiting for the user to leave the view to update the settings,
spamming Substitle shadow doesn't crash the app anymore.
> https://code.videolan.org/videolan/vlc-android/commit/cf6dce34cd6207e5351dfe876670e84a6106349a
---
.../videolan/vlc/gui/preferences/PreferencesSubtitles.kt | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.kt
index db58c8ac59..b361a4cebe 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesSubtitles.kt
@@ -79,6 +79,8 @@ class PreferencesSubtitles : BasePreferenceFragment(), SharedPreferences.OnShare
private lateinit var subtitlesOutlineColor: ColorPreferenceCompat
private lateinit var subtitlesOutlineOpacity: SeekBarPreference
+ private var valueChanged = false
+
override fun getXml(): Int {
return R.xml.preferences_subtitles
}
@@ -182,6 +184,12 @@ class PreferencesSubtitles : BasePreferenceFragment(), SharedPreferences.OnShare
override fun onStop() {
super.onStop()
+ if (valueChanged) {
+ lifecycleScope.launch {
+ VLCInstance.restart()
+ restartMediaPlayer()
+ }
+ }
preferenceScreen.sharedPreferences!!.unregisterOnSharedPreferenceChangeListener(this)
}
@@ -192,10 +200,7 @@ class PreferencesSubtitles : BasePreferenceFragment(), SharedPreferences.OnShare
KEY_SUBTITLES_BACKGROUND_COLOR, KEY_SUBTITLES_BACKGROUND_COLOR_OPACITY, KEY_SUBTITLES_BACKGROUND,
KEY_SUBTITLES_OUTLINE, KEY_SUBTITLES_OUTLINE_SIZE, KEY_SUBTITLES_OUTLINE_COLOR, KEY_SUBTITLES_OUTLINE_COLOR_OPACITY,
KEY_SUBTITLES_SHADOW, KEY_SUBTITLES_SHADOW_COLOR, KEY_SUBTITLES_SHADOW_COLOR_OPACITY -> {
- lifecycleScope.launch {
- VLCInstance.restart()
- restartMediaPlayer()
- }
+ valueChanged = true
managePreferenceVisibilities()
}
KEY_SUBTITLE_PREFERRED_LANGUAGE -> updatePreferredSubtitleTrack()
More information about the Android
mailing list