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"/> + +