diff options
author | ByteHamster <info@bytehamster.com> | 2024-02-18 19:05:13 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2024-02-18 19:05:13 +0100 |
commit | 0d29e44de5ac97f2285aca241e4f4290c26ea0f9 (patch) | |
tree | be56da0e2381b7a2abc43b2401fb7bfca1d03503 /core | |
parent | 556597a17315a6966a940e24e53088f8a31ef018 (diff) | |
parent | bf6721842220d7e89a0c3a451f5965e57feb9ca0 (diff) | |
download | AntennaPod-0d29e44de5ac97f2285aca241e4f4290c26ea0f9.zip |
Merge branch 'master' into develop
Diffstat (limited to 'core')
3 files changed, 33 insertions, 7 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java index 79cd97fd2..1900ed7f2 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java @@ -7,6 +7,7 @@ import android.text.TextUtils; import android.util.Log; import android.view.SurfaceHolder; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.core.util.Consumer; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.DefaultLoadControl; @@ -37,6 +38,7 @@ import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; import com.google.android.exoplayer2.upstream.HttpDataSource; import de.danoeh.antennapod.core.ClientConfig; import de.danoeh.antennapod.core.R; +import de.danoeh.antennapod.model.feed.VolumeAdaptionSetting; import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.core.service.download.AntennapodHttpClient; import de.danoeh.antennapod.core.service.download.HttpCredentialEncoder; @@ -69,7 +71,8 @@ public class ExoPlayerWrapper { private PlaybackParameters playbackParameters; private DefaultTrackSelector trackSelector; - private LoudnessEnhancer loudnessEnhancer; + @Nullable + private LoudnessEnhancer loudnessEnhancer = null; ExoPlayerWrapper(Context context) { this.context = context; @@ -247,11 +250,15 @@ public class ExoPlayerWrapper { public void setVolume(float v, float v1) { if (v > 1) { exoPlayer.setVolume(1f); - loudnessEnhancer.setEnabled(true); - loudnessEnhancer.setTargetGain((int) (1000 * (v - 1))); + if (loudnessEnhancer != null) { + loudnessEnhancer.setEnabled(true); + loudnessEnhancer.setTargetGain((int) (1000 * (v - 1))); + } } else { exoPlayer.setVolume(v); - loudnessEnhancer.setEnabled(false); + if (loudnessEnhancer != null) { + loudnessEnhancer.setEnabled(false); + } } } @@ -354,6 +361,10 @@ public class ExoPlayerWrapper { } private void initLoudnessEnhancer(int audioStreamId) { + if (!VolumeAdaptionSetting.isBoostSupported()) { + return; + } + LoudnessEnhancer newEnhancer = new LoudnessEnhancer(audioStreamId); LoudnessEnhancer oldEnhancer = this.loudnessEnhancer; if (oldEnhancer != null) { diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java index d9c4a5098..30464969b 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java @@ -83,14 +83,16 @@ public final class Converter { * Converts milliseconds to a localized string containing hours and minutes. */ public static String getDurationStringLocalized(Context context, long duration) { - return getDurationStringLocalized(context.getResources(), duration); + return getDurationStringLocalized(context.getResources(), duration, false); } - public static String getDurationStringLocalized(Resources resources, long duration) { + public static String getDurationStringLocalized(Resources resources, long duration, boolean includeDays) { String result = ""; int h = (int) (duration / HOURS_MIL); int d = h / 24; - if (d > 0) { + if (!includeDays) { + d = 0; + } else if (d > 0) { String days = resources.getQuantityString(R.plurals.time_days_quantified, d, d); result += days.replace(" ", "\u00A0") + " "; h -= d * 24; diff --git a/core/src/test/java/de/danoeh/antennapod/core/feed/VolumeAdaptionSettingTest.java b/core/src/test/java/de/danoeh/antennapod/core/feed/VolumeAdaptionSettingTest.java index 30767bdc8..966351a5e 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/feed/VolumeAdaptionSettingTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/feed/VolumeAdaptionSettingTest.java @@ -1,6 +1,9 @@ package de.danoeh.antennapod.core.feed; import de.danoeh.antennapod.model.feed.VolumeAdaptionSetting; + +import org.junit.After; +import org.junit.Before; import org.junit.Test; import static org.hamcrest.Matchers.equalTo; @@ -11,6 +14,16 @@ import static org.junit.Assert.assertTrue; public class VolumeAdaptionSettingTest { + @Before + public void setUp() throws Exception { + VolumeAdaptionSetting.setBoostSupported(false); + } + + @After + public void tearDown() throws Exception { + VolumeAdaptionSetting.setBoostSupported(null); + } + @Test public void mapOffToInteger() { VolumeAdaptionSetting setting = VolumeAdaptionSetting.OFF; |