From 1288ae5ce02f89a7a42f408371029425e2bdb6f5 Mon Sep 17 00:00:00 2001 From: Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:58:09 -0400 Subject: [PATCH] Allow screen timeout when video is paused in ViewVideoActivity. --- .../activities/ViewVideoActivity.java | 18 ++++++++++++++++-- .../main/res/layout/activity_view_video.xml | 1 - .../layout/activity_view_video_zoomable.xml | 1 - 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewVideoActivity.java index 13a8fcdb..4628ad26 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewVideoActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewVideoActivity.java @@ -148,6 +148,7 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe @UnstableApi private DefaultTrackSelector trackSelector; private DataSource.Factory dataSourceFactory; + private Player.Listener playerListener; private Integer originalOrientation; private boolean useBottomToolbar; @@ -523,7 +524,7 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe Util.handlePlayPauseButtonAction(player); }); - player.addListener(new Player.Listener() { + playerListener = new Player.Listener() { @Override public void onEvents(@NonNull Player player, @NonNull Player.Events events) { if (events.containsAny( @@ -656,7 +657,17 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe public void onPlayerError(@NonNull PlaybackException error) { viewVideoViewModel.loadFallbackVideo(player.getCurrentMediaItem()); } - }); + + @Override + public void onIsPlayingChanged(boolean isPlaying) { + if (isPlaying) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + } + }; + player.addListener(playerListener); // Produces DataSource instances through which media data is loaded. dataSourceFactory = new CacheDataSource.Factory().setCache(mSimpleCache) @@ -778,6 +789,9 @@ public class ViewVideoActivity extends AppCompatActivity implements CustomFontRe protected void onDestroy() { EventBus.getDefault().unregister(this); super.onDestroy(); + if (playerListener != null) { + player.removeListener(playerListener); + } player.seekToDefaultPosition(); player.stop(); player.release(); diff --git a/app/src/main/res/layout/activity_view_video.xml b/app/src/main/res/layout/activity_view_video.xml index ae07c696..391656c3 100644 --- a/app/src/main/res/layout/activity_view_video.xml +++ b/app/src/main/res/layout/activity_view_video.xml @@ -6,7 +6,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" - android:keepScreenOn="true" tools:application="ml.docilealligator.infinityforreddit.activities.ViewVideoActivity">