From 1f7543e502e0f965df4232e249098e7fbb2e4b55 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 14 Nov 2022 15:10:48 +0800 Subject: [PATCH] Support timeout to change line --- .../fongmi/android/tv/ui/activity/LiveActivity.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 236e61336..2fb38b0cf 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -79,6 +79,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private Runnable mR1; private Runnable mR2; private Runnable mR3; + private Runnable mR4; private int count; public static void start(Activity activity) { @@ -114,6 +115,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mR1 = this::hideInfo; mR2 = this::hideCenter; mR3 = this::setChannelActivated; + mR4 = this::onError; mPlayers = new Players().init(); mKeyDown = CustomKeyDownLive.create(this); mFormatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); @@ -524,14 +526,15 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) { case 0: - break; case Player.STATE_IDLE: break; case Player.STATE_BUFFERING: + App.post(mR4, 5000); mBinding.widget.progress.getRoot().setVisibility(View.VISIBLE); break; case Player.STATE_READY: mPlayers.reset(); + App.removeCallbacks(mR4); mBinding.widget.progress.getRoot().setVisibility(View.GONE); TrackSelectionDialog.setVisible(mPlayers.exo(), mControl.tracks); break; @@ -547,10 +550,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void onError() { mPlayers.reset(); - if (isGone(mBinding.recycler) && mChannel.isLastLine()) { - onKeyDown(); + App.removeCallbacks(mR4); + if (mChannel.isLastLine()) { + if (isGone(mBinding.recycler)) onKeyDown(); } else { - mChannel.nextLine(); + nextLine(true); getUrl(); } }