From c687243e41f17f89ca86bc3c40ae2f72adde941e Mon Sep 17 00:00:00 2001 From: Alex Eyre <2012eyre@students.mggs.org> Date: Sat, 13 Oct 2018 00:16:48 +0000 Subject: [PATCH] Implement video auto-loop option --- .../java/org/floens/chan/core/settings/ChanSettings.java | 2 ++ .../floens/chan/ui/controller/MediaSettingsController.java | 5 +++++ .../main/java/org/floens/chan/ui/view/MultiImageView.java | 2 +- Clover/app/src/main/res/values/strings.xml | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java b/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java index ff794195..70102cd5 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java +++ b/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java @@ -131,6 +131,7 @@ public class ChanSettings { public static final BooleanSetting controllerSwipeable; public static final BooleanSetting saveBoardFolder; public static final BooleanSetting videoDefaultMuted; + public static final BooleanSetting videoAutoLoop; public static final BooleanSetting watchEnabled; public static final BooleanSetting watchCountdown; @@ -207,6 +208,7 @@ public class ChanSettings { controllerSwipeable = new BooleanSetting(p, "preference_controller_swipeable", true); saveBoardFolder = new BooleanSetting(p, "preference_save_subboard", false); videoDefaultMuted = new BooleanSetting(p, "preference_video_default_muted", true); + videoAutoLoop = new BooleanSetting(p, "preference_video_loop", true); watchEnabled = new BooleanSetting(p, "preference_watch_enabled", false); watchEnabled.addCallback((setting, value) -> diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/MediaSettingsController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/MediaSettingsController.java index ec6253cc..06f2d093 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/MediaSettingsController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/MediaSettingsController.java @@ -127,6 +127,11 @@ public class MediaSettingsController extends SettingsController { setupMediaLoadTypesSetting(loading); + loading.add(new BooleanSettingView(this, + ChanSettings.videoAutoLoop, + R.string.setting_video_auto_loop, + R.string.setting_video_auto_loop_description)); + groups.add(loading); } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java b/Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java index 8b5a63f6..5aff97d4 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/view/MultiImageView.java @@ -406,7 +406,7 @@ public class MultiImageView extends FrameLayout implements View.OnClickListener videoView.setOnPreparedListener(mp -> { mediaPlayer = mp; - mp.setLooping(true); + mp.setLooping(ChanSettings.videoAutoLoop.get()); mp.setVolume(0f, 0f); onModeLoaded(Mode.MOVIE, videoView); callback.onVideoLoaded(this, hasMediaPlayerAudioTracks(mp)); diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index 7ad5bfd8..4a29009f 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -523,6 +523,9 @@ If disabled, save the image with the filename the uploader assigned." Automatically load videos + Enable automatic video-looping + Automatically loop video content + Save location