From cc9b738cc4d023816d6ec087888f2fc0e41028d2 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Tue, 14 Nov 2017 22:01:20 +0100 Subject: [PATCH] Fix NPE in applyReplayGain refreshReplayGainValues may get called from onSharedPreferenceChanged where we didn't yet prepare a media player. Ensure that refreshReplayGainValues() does not trigger an update in such situations, as there is nothing to refresh. --- src/ch/blinkenlights/android/vanilla/PlaybackService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ch/blinkenlights/android/vanilla/PlaybackService.java b/src/ch/blinkenlights/android/vanilla/PlaybackService.java index 60ef7d8e..39df244d 100644 --- a/src/ch/blinkenlights/android/vanilla/PlaybackService.java +++ b/src/ch/blinkenlights/android/vanilla/PlaybackService.java @@ -684,8 +684,12 @@ public final class PlaybackService extends Service * the (maybe just changed) user settings */ private void refreshReplayGainValues() { - applyReplayGain(mMediaPlayer); - applyReplayGain(mPreparedMediaPlayer); + if (mMediaPlayer != null) { + applyReplayGain(mMediaPlayer); + } + if (mPreparedMediaPlayer != null) { + applyReplayGain(mPreparedMediaPlayer); + } } private void refreshDuckingValues() {