[mobile] fix home reload

pull/123/head
FongMi 3 years ago
parent 9984a5b9f2
commit 942067fded
  1. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java
  2. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java
  3. 37
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
  4. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -64,11 +64,11 @@ public class HistoryPresenter extends Presenter {
ViewHolder holder = (ViewHolder) viewHolder;
setClickListener(holder.view, item);
holder.binding.name.setText(item.getVodName());
holder.binding.site.setVisibility(View.VISIBLE);
holder.binding.site.setText(ApiConfig.getSiteName(item.getSiteKey()));
holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks()));
holder.binding.site.setText(item.getSiteName());
holder.binding.site.setVisibility(item.getSiteVisible());
holder.binding.remark.setVisibility(delete ? View.GONE : View.VISIBLE);
holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE);
holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks()));
ImgUtil.loadHistory(item.getVodPic(), holder.binding.image);
}

@ -90,11 +90,11 @@ public class HistoryAdapter extends RecyclerView.Adapter<HistoryAdapter.ViewHold
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
History item = mItems.get(position);
holder.binding.name.setText(item.getVodName());
holder.binding.site.setVisibility(View.VISIBLE);
holder.binding.site.setText(ApiConfig.getSiteName(item.getSiteKey()));
holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks()));
holder.binding.site.setText(item.getSiteName());
holder.binding.site.setVisibility(item.getSiteVisible());
holder.binding.remark.setVisibility(delete ? View.GONE : View.VISIBLE);
holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE);
holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks()));
ImgUtil.loadHistory(item.getVodPic(), holder.binding.image);
setClickListener(holder.binding.getRoot(), item);
}

@ -25,10 +25,6 @@ import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.ui.custom.CustomScroller;
import com.fongmi.android.tv.ui.custom.ViewType;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -63,6 +59,10 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
return getTypeId().equals("home");
}
private VodFragment getParent() {
return (VodFragment) getParentFragment();
}
@Override
protected ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) {
return mBinding = FragmentTypeBinding.inflate(inflater, container, false);
@ -70,7 +70,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
@Override
protected void initView() {
EventBus.getDefault().register(this);
mScroller = new CustomScroller(this);
mTypeIds = new ArrayList<>();
mExtends = new HashMap<>();
@ -110,6 +109,15 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
getVideo(getTypeId(), "1");
}
private void getVideo(String typeId, String page) {
if (isFolder()) mTypeIds.add(typeId);
if (isFolder()) mBinding.recycler.scrollToPosition(0);
if (page.equals("1")) mAdapter.clear();
if (page.equals("1") && !mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress();
if (isHome() && page.equals("1")) setAdapter(getParent().getResult());
else mViewModel.categoryContent(ApiConfig.get().getHome().getKey(), typeId, page, true, mExtends);
}
private void setAdapter(Result result) {
int size = result.getList().size();
mBinding.progressLayout.showContent(isFolder(), size);
@ -124,14 +132,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
getVideo(getTypeId(), String.valueOf(mScroller.addPage()));
}
private void getVideo(String typeId, String page) {
if (isFolder()) mTypeIds.add(typeId);
if (isFolder()) mBinding.recycler.scrollToPosition(0);
if (page.equals("1")) mAdapter.clear();
if (page.equals("1") && !mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress();
mViewModel.categoryContent(ApiConfig.get().getHome().getKey(), typeId, page, true, mExtends);
}
private void refresh(int num) {
String typeId = mTypeIds.get(mTypeIds.size() - num);
mTypeIds = mTypeIds.subList(0, mTypeIds.size() - num);
@ -143,11 +143,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
onRefresh();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onResult(Result result) {
if (isHome()) setAdapter(result);
}
@Override
public void onRefresh() {
if (isFolder()) refresh(1);
@ -179,10 +174,4 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
refresh(2);
return false;
}
@Override
public void onDestroyView() {
super.onDestroyView();
EventBus.getDefault().unregister(this);
}
}

@ -62,6 +62,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
private TypeAdapter mAdapter;
private Runnable mRunnable;
private List<String> mHots;
private Result mResult;
public static VodFragment newInstance() {
return new VodFragment();
@ -119,7 +120,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
private void setViewModel() {
mViewModel = new ViewModelProvider(this).get(SiteViewModel.class);
mViewModel.result.observe(getViewLifecycleOwner(), this::setAdapter);
mViewModel.result.observe(getViewLifecycleOwner(), result -> setAdapter(mResult = result));
}
private void initHot() {
@ -153,7 +154,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
mAdapter.addAll(handle(result));
mBinding.pager.getAdapter().notifyDataSetChanged();
for (Class item : mAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilters(result.getFilters().get(item.getTypeId()));
EventBus.getDefault().post(result);
setFabVisible(0);
hideProgress();
checkRetry();
@ -227,6 +227,10 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
mBinding.pager.setAdapter(new PageAdapter(getChildFragmentManager()));
}
public Result getResult() {
return mResult;
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreshEvent(RefreshEvent event) {
switch (event.getType()) {

Loading…
Cancel
Save