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); + } }