主页加载数据时可按返回键取消加载(避免等待);

pull/144/head
21561 9 months ago
parent a6208e38d8
commit 9d493b09ac
  1. 7
      app/src/main/java/com/github/tvbox/osc/base/BaseActivity.java
  2. 20
      app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.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);

@ -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<AbsSortXml>() {
@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);
}
}

Loading…
Cancel
Save