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