From ae7c2e8825a4c08612a0ff495c29f9e929613180 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 18 Feb 2023 11:20:24 +0800 Subject: [PATCH] Fix switch bug --- .../fongmi/android/tv/ui/activity/DetailActivity.java | 5 ++++- .../main/java/com/fongmi/android/tv/utils/Notify.java | 11 ++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 885bd70ad..154009c4f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -97,6 +97,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private boolean mAutoMode; private History mHistory; private Players mPlayers; + private String mSiteKey; private int mCurrent; private Runnable mR1; private Runnable mR2; @@ -197,6 +198,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis mPlayers = new Players().init(); mR1 = this::hideControl; mR2 = this::setTraffic; + mSiteKey = getKey(); setRecyclerView(); setVideoView(); setViewModel(); @@ -835,7 +837,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void checkFlag() { - int position = mBinding.flag.getSelectedPosition(); + int position = isGone(mBinding.flag) ? -1 : mBinding.flag.getSelectedPosition(); if (position == mFlagAdapter.size() - 1) checkSearch(); else nextFlag(position); } @@ -903,6 +905,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void nextSite() { if (mSearchAdapter.size() == 0) return; Vod vod = (Vod) mSearchAdapter.get(0); + if (vod.getSiteKey().equals(mSiteKey)) return; Notify.show(getString(R.string.play_switch_site, vod.getSiteName())); mSearchAdapter.removeItems(0, 1); setInitAuto(false); diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Notify.java b/app/src/main/java/com/fongmi/android/tv/utils/Notify.java index 7cbd7ced4..a03b098a6 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Notify.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Notify.java @@ -33,9 +33,8 @@ public class Notify { } public static void progress(Context context) { - ViewProgressBinding binding = ViewProgressBinding.inflate(LayoutInflater.from(context)); - get().mDialog = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create(); - get().mDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); + dismiss(); + get().create(context); get().mDialog.show(); } @@ -43,6 +42,12 @@ public class Notify { if (get().mDialog != null && get().mDialog.isShowing()) get().mDialog.dismiss(); } + private void create(Context context) { + ViewProgressBinding binding = ViewProgressBinding.inflate(LayoutInflater.from(context)); + mDialog = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create(); + mDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); + } + private void makeText(String message) { if (mToast != null) mToast.cancel(); if (TextUtils.isEmpty(message)) return;