diff options
Diffstat (limited to 'app/src/main/java/ml')
-rw-r--r-- | app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java | 7 | ||||
-rw-r--r-- | app/src/main/java/ml/docilealligator/infinityforreddit/customviews/LoopAvailableExoCreator.java | 35 |
2 files changed, 39 insertions, 3 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java index 604aa32f..2b8351bb 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AppModule.java @@ -25,6 +25,7 @@ import im.ene.toro.exoplayer.ExoCreator; import im.ene.toro.exoplayer.MediaSourceBuilder; import im.ene.toro.exoplayer.ToroExo; import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper; +import ml.docilealligator.infinityforreddit.customviews.LoopAvailableExoCreator; import ml.docilealligator.infinityforreddit.utils.APIUtils; import ml.docilealligator.infinityforreddit.utils.CustomThemeSharedPreferencesUtils; import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils; @@ -309,10 +310,10 @@ class AppModule { @Provides @Singleton - ExoCreator provideExoCreator(SimpleCache simpleCache) { - Config config = new Config.Builder(mApplication).setMediaSourceBuilder(MediaSourceBuilder.LOOPING).setCache(simpleCache) + ExoCreator provideExoCreator(SimpleCache simpleCache, @Named("default") SharedPreferences sharedPreferences) { + Config config = new Config.Builder(mApplication).setMediaSourceBuilder(MediaSourceBuilder.DEFAULT).setCache(simpleCache) .build(); - return ToroExo.with(mApplication).getCreator(config); + return new LoopAvailableExoCreator(ToroExo.with(mApplication), config, sharedPreferences); } @Provides diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/LoopAvailableExoCreator.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/LoopAvailableExoCreator.java new file mode 100644 index 00000000..5ccda4be --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/LoopAvailableExoCreator.java @@ -0,0 +1,35 @@ +package ml.docilealligator.infinityforreddit.customviews; + +import android.content.SharedPreferences; + +import androidx.annotation.NonNull; + +import com.google.android.exoplayer2.Player; +import com.google.android.exoplayer2.SimpleExoPlayer; + +import im.ene.toro.exoplayer.Config; +import im.ene.toro.exoplayer.DefaultExoCreator; +import im.ene.toro.exoplayer.ToroExo; +import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils; + +public class LoopAvailableExoCreator extends DefaultExoCreator { + private final SharedPreferences sharedPreferences; + + public LoopAvailableExoCreator(@NonNull ToroExo toro, @NonNull Config config, SharedPreferences sharedPreferences) { + super(toro, config); + this.sharedPreferences = sharedPreferences; + } + + @NonNull + @Override + public SimpleExoPlayer createPlayer() { + SimpleExoPlayer player = super.createPlayer(); + if (sharedPreferences.getBoolean(SharedPreferencesUtils.LOOP_VIDEO, true)) { + player.setRepeatMode(Player.REPEAT_MODE_ALL); + } else { + player.setRepeatMode(Player.REPEAT_MODE_OFF); + } + + return player; + } +} |