From 38a3454a9062203b2ec0ad465142a7f0e19fcab7 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Wed, 1 Oct 2025 00:46:06 +0800 Subject: [PATCH] Fix bug --- .../android/tv/ui/custom/CustomWallView.java | 20 ++++++++++++++----- app/src/main/res/layout/view_wall.xml | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java index 938640c5a..d7c624e20 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java @@ -1,7 +1,5 @@ package com.fongmi.android.tv.ui.custom; -import static androidx.media3.exoplayer.DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON; - import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.drawable.Drawable; @@ -20,12 +18,10 @@ import androidx.media3.common.MediaItem; import androidx.media3.exoplayer.ExoPlayer; import com.bumptech.glide.Glide; -import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.databinding.ViewWallBinding; import com.fongmi.android.tv.event.RefreshEvent; -import com.fongmi.android.tv.player.exo.ExoUtil; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.ResUtil; @@ -59,7 +55,7 @@ public class CustomWallView extends FrameLayout implements DefaultLifecycleObser } private void createPlayer() { - player = new ExoPlayer.Builder(App.get()).setRenderersFactory(ExoUtil.buildRenderersFactory(EXTENSION_RENDERER_MODE_ON)).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build(); + player = new ExoPlayer.Builder(getContext()).build(); player.setRepeatMode(ExoPlayer.REPEAT_MODE_ALL); player.setPlayWhenReady(true); player.setVolume(0); @@ -133,6 +129,20 @@ public class CustomWallView extends FrameLayout implements DefaultLifecycleObser EventBus.getDefault().register(this); } + @Override + public void onResume(@NonNull LifecycleOwner owner) { + if (binding.video.getVisibility() != VISIBLE || player == null || player.getMediaItemCount() == 0) return; + binding.video.setPlayer(player); + player.play(); + } + + @Override + public void onPause(@NonNull LifecycleOwner owner) { + if (binding.video.getVisibility() != VISIBLE || player == null || player.getMediaItemCount() == 0) return; + binding.video.setPlayer(null); + player.pause(); + } + @Override public void onDestroy(@NonNull LifecycleOwner owner) { EventBus.getDefault().unregister(this); diff --git a/app/src/main/res/layout/view_wall.xml b/app/src/main/res/layout/view_wall.xml index 2f5cbc9aa..205ad0be2 100644 --- a/app/src/main/res/layout/view_wall.xml +++ b/app/src/main/res/layout/view_wall.xml @@ -14,6 +14,8 @@ android:id="@+id/video" android:layout_width="match_parent" android:layout_height="match_parent" + android:visibility="gone" + app:keep_content_on_player_reset="false" app:resize_mode="zoom" app:shutter_background_color="@color/transparent" app:surface_type="texture_view"