From 9d493b09ac1ecf18aa20ce46573901cf8d6f0be4 Mon Sep 17 00:00:00 2001 From: 21561 <215613905@qq.com> Date: Sat, 29 Mar 2025 16:39:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E5=8A=A0=E8=BD=BD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E5=8F=AF=E6=8C=89=E8=BF=94=E5=9B=9E=E9=94=AE?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=8A=A0=E8=BD=BD(=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E7=AD=89=E5=BE=85);?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../github/tvbox/osc/base/BaseActivity.java | 7 +++++++ .../tvbox/osc/ui/activity/HomeActivity.java | 20 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java b/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java index 64419360..328a2909 100644 --- a/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java @@ -123,6 +123,13 @@ public abstract class BaseActivity extends AppCompatActivity implements CustomAd } } + protected boolean isLoading() { + if (mLoadService != null && mLoadService.getCurrentCallback() != null) { + return mLoadService.getCurrentCallback().equals(LoadingCallback.class); + } + return false; + } + protected void showEmpty() { if (null != mLoadService) { mLoadService.showCallback(EmptyCallback.class); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java index 6731da5b..60e19bd9 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java @@ -268,11 +268,18 @@ public class HomeActivity extends BaseActivity { //mHandler.postDelayed(mFindFocus, 500); } + + private boolean skipNextUpdate = false; + private void initViewModel() { sourceViewModel = new ViewModelProvider(this).get(SourceViewModel.class); sourceViewModel.sortResult.observe(this, new Observer() { @Override public void onChanged(AbsSortXml absXml) { + if (skipNextUpdate) { + skipNextUpdate = false; + return; + } showSuccess(); if (absXml != null && absXml.classes != null && absXml.classes.sortList != null) { sortAdapter.setNewData(DefaultConfig.adjustSort(ApiConfig.get().getHomeSourceBean().getKey(), absXml.classes.sortList, true)); @@ -466,6 +473,11 @@ public class HomeActivity extends BaseActivity { @SuppressLint("NotifyDataSetChanged") @Override public void onBackPressed() { + //打断加载 + if(isLoading()){ + refreshEmpty(); + return; + } // 如果处于 VOD 删除模式,则退出该模式并刷新界面 if (HawkConfig.hotVodDelete) { HawkConfig.hotVodDelete = false; @@ -708,4 +720,12 @@ public class HomeActivity extends BaseActivity { intent.putExtras(bundle); HomeActivity.this.startActivity(intent); } + + private void refreshEmpty() + { + skipNextUpdate=true; + showSuccess(); + sortAdapter.setNewData(DefaultConfig.adjustSort(ApiConfig.get().getHomeSourceBean().getKey(), new ArrayList<>(), true)); + initViewPager(null); + } }