diff --git a/src/main/java/org/quantumbadger/redreader/common/FeatureFlagHandler.java b/src/main/java/org/quantumbadger/redreader/common/FeatureFlagHandler.java
index cd5495d59..1c86de64c 100644
--- a/src/main/java/org/quantumbadger/redreader/common/FeatureFlagHandler.java
+++ b/src/main/java/org/quantumbadger/redreader/common/FeatureFlagHandler.java
@@ -59,7 +59,8 @@ private enum FeatureFlag {
DEFAULT_PREF_VIDEO_PLAYBACK_CONTROLS("defaultPrefVideoPlaybackControls"),
DEFAULT_PREF_CUSTOM_TABS("defaultPrefCustomTabs"),
CROSSPOST_ORIGIN_MENU_ITEM("crosspostOriginMenuItem"),
- MAIN_MENU_RANDOM_REMOVED("mainMenuRandomRemoved");
+ MAIN_MENU_RANDOM_REMOVED("mainMenuRandomRemoved"),
+ DEFAULT_PREF_VIDEO_LOOP("defaultPrefVideoLoop");
@NonNull private final String id;
@@ -349,6 +350,15 @@ public static void handleUpgrade(@NonNull final Context context) {
context.getString(R.string.pref_menus_mainmenu_shortcutitems_key),
existingShortcutPreferences).apply();
}
+
+ if(getAndSetFeatureFlag(prefs, FeatureFlag.DEFAULT_PREF_VIDEO_LOOP)
+ == FeatureFlagStatus.UPGRADE_NEEDED) {
+
+ prefs.edit().putBoolean(
+ context.getString(R.string.pref_behaviour_video_loop_key),
+ true)
+ .apply();
+ }
});
}
diff --git a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
index c47ce987d..0f5e72cf8 100644
--- a/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
+++ b/src/main/java/org/quantumbadger/redreader/common/PrefsUtility.java
@@ -813,6 +813,12 @@ public static boolean pref_behaviour_video_mute_default() {
true);
}
+ public static boolean pref_behaviour_video_loop() {
+ return getBoolean(
+ R.string.pref_behaviour_video_loop_key,
+ true);
+ }
+
public static boolean pref_behaviour_video_zoom_default() {
return getBoolean(R.string.pref_behaviour_video_zoom_default_key,
false);
diff --git a/src/main/java/org/quantumbadger/redreader/views/video/ExoPlayerWrapperView.java b/src/main/java/org/quantumbadger/redreader/views/video/ExoPlayerWrapperView.java
index d745bd21f..d341721eb 100644
--- a/src/main/java/org/quantumbadger/redreader/views/video/ExoPlayerWrapperView.java
+++ b/src/main/java/org/quantumbadger/redreader/views/video/ExoPlayerWrapperView.java
@@ -107,7 +107,11 @@ public ExoPlayerWrapperView(
mVideoPlayer.setMediaSource(mediaSource);
mVideoPlayer.prepare();
- mVideoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE);
+ if(PrefsUtility.pref_behaviour_video_loop()) {
+ mVideoPlayer.setRepeatMode(Player.REPEAT_MODE_ONE);
+ } else {
+ mVideoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF);
+ }
mVideoPlayer.setPlayWhenReady(true);
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 41afeea77..92144ab6f 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1921,4 +1921,9 @@
Reddit login issue
There was a problem logging into Reddit. Try again in an different browser?
+
+
+ pref_behaviour_video_loop
+ Loop videos
+
diff --git a/src/main/res/xml/prefs_images_video.xml b/src/main/res/xml/prefs_images_video.xml
index 248931758..696ff3261 100644
--- a/src/main/res/xml/prefs_images_video.xml
+++ b/src/main/res/xml/prefs_images_video.xml
@@ -51,6 +51,10 @@
android:key="@string/pref_behaviour_video_mute_default_key"
android:defaultValue="true"/>
+
+