From c3e1772fc5f1d312005c635f66132e0f18afdb40 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 25 May 2023 09:03:33 +0800 Subject: [PATCH] [mobile] support refresh --- .../tv/ui/activity/DetailActivity.java | 21 +++++++++++++++++-- .../res/layout/view_control_vod_action.xml | 16 +++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index a775e5c52..5f990a457 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -183,6 +183,10 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust return mBinding.ijk; } + private boolean isReplay() { + return Prefers.getReset() == 1; + } + private boolean isFromCollect() { return getCallingActivity() != null && getCallingActivity().getShortClassName().contains(CollectActivity.class.getSimpleName()); } @@ -247,12 +251,14 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust mBinding.control.action.loop.setOnClickListener(view -> onLoop()); mBinding.control.action.scale.setOnClickListener(view -> onScale()); mBinding.control.action.speed.setOnClickListener(view -> onSpeed()); + mBinding.control.action.reset.setOnClickListener(view -> onReset()); mBinding.control.action.player.setOnClickListener(view -> onPlayer()); mBinding.control.action.decode.setOnClickListener(view -> onDecode()); mBinding.control.action.ending.setOnClickListener(view -> onEnding()); mBinding.control.action.opening.setOnClickListener(view -> onOpening()); mBinding.control.action.episodes.setOnClickListener(view -> onEpisodes()); mBinding.control.action.speed.setOnLongClickListener(view -> onSpeedLong()); + mBinding.control.action.reset.setOnLongClickListener(view -> onResetToggle()); mBinding.control.action.ending.setOnLongClickListener(view -> onEndingReset()); mBinding.control.action.opening.setOnLongClickListener(view -> onOpeningReset()); mBinding.video.setOnTouchListener((view, event) -> mKeyDown.onTouchEvent(event)); @@ -281,6 +287,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust mBinding.control.action.player.setText(mPlayers.getPlayerText()); getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE); getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE); + mBinding.control.action.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]); mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view)); } @@ -570,10 +577,20 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust } private void onReset() { + onReset(isReplay()); + } + + private void onReset(boolean replay) { Clock.get().setCallback(null); if (mFlagAdapter.getItemCount() == 0) return; if (mEpisodeAdapter.getItemCount() == 0) return; - getPlayer(getFlag(), getEpisode(), true); + getPlayer(getFlag(), getEpisode(), replay); + } + + private boolean onResetToggle() { + Prefers.putReset(Math.abs(Prefers.getReset() - 1)); + mBinding.control.action.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]); + return true; } private void onPlayer() { @@ -866,7 +883,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust private void checkEnded() { if (mBinding.control.action.loop.isActivated()) { - onReset(); + onReset(true); } else { checkNext(); } diff --git a/app/src/mobile/res/layout/view_control_vod_action.xml b/app/src/mobile/res/layout/view_control_vod_action.xml index 2fd64baac..c2f0dc030 100644 --- a/app/src/mobile/res/layout/view_control_vod_action.xml +++ b/app/src/mobile/res/layout/view_control_vod_action.xml @@ -35,15 +35,16 @@ tools:text="縮放" /> + android:textColor="@color/text" + tools:text="刷新" /> + android:text="@string/play_loop" + android:textColor="@color/text" /> + + \ No newline at end of file