From 50d83c1db5958dcca3c08c8e8b41845df9df96cf Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Sat, 18 Oct 2025 16:20:12 +0800 Subject: [PATCH] Optimize history save --- .../com/fongmi/android/tv/ui/activity/VideoActivity.java | 7 ++++++- .../com/fongmi/android/tv/ui/activity/VideoActivity.java | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index d2da3753f..f6c34b4db 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1075,9 +1075,9 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List break; case PlayerEvent.TRACK: setMetadata(); + mergeHistory(); setTrackVisible(); mClock.setCallback(this); - App.execute(() -> mHistory.merge()); break; case PlayerEvent.SIZE: mBinding.widget.size.setText(mPlayers.getSizeText()); @@ -1098,6 +1098,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } } + private void mergeHistory() { + mHistory.setDuration(mPlayers.getDuration()); + App.execute(() -> mHistory.merge()); + } + private void setTrackVisible() { mBinding.control.text.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_TEXT) || mPlayers.isVod() ? View.VISIBLE : View.GONE); mBinding.control.audio.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 5be718c3a..ed93831c4 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1184,9 +1184,9 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo break; case PlayerEvent.TRACK: setMetadata(); + mergeHistory(); setTrackVisible(); mClock.setCallback(this); - App.execute(() -> mHistory.merge()); break; case PlayerEvent.SIZE: mBinding.video.post(this::changeHeight); @@ -1235,6 +1235,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } } + private void mergeHistory() { + mHistory.setDuration(mPlayers.getDuration()); + App.execute(() -> mHistory.merge()); + } + private void setTrackVisible() { mBinding.control.action.text.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_TEXT) || mPlayers.isVod() ? View.VISIBLE : View.GONE); mBinding.control.action.audio.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE);