[mobile] fix type bug

pull/123/head
FongMi 3 years ago
parent 7045f80042
commit 1e306cd553
  1. 10
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 29
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -40,12 +40,12 @@ import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.custom.dialog.TrackDialog;
import com.fongmi.android.tv.ui.adapter.EpisodeAdapter;
import com.fongmi.android.tv.ui.adapter.FlagAdapter;
import com.fongmi.android.tv.ui.adapter.ParseAdapter;
import com.fongmi.android.tv.ui.custom.CustomKeyDownVod;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.fongmi.android.tv.ui.custom.dialog.TrackDialog;
import com.fongmi.android.tv.utils.Clock;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Prefers;
@ -822,11 +822,9 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
public void onDoubleTap() {
if (isFullscreen()) {
if (mPlayers.isPlaying()) onPause(true);
else onPlay();
hideControl();
}
if (mPlayers.isPlaying()) onPause(true);
else onPlay();
hideControl();
}
@Override

@ -45,7 +45,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
private SiteViewModel mViewModel;
private TypeAdapter mTypeAdapter;
private PageAdapter mPageAdapter;
private boolean destroy;
public static VodFragment newInstance() {
return new VodFragment();
@ -55,14 +54,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
return ApiConfig.get().getHome();
}
public boolean isDestroy() {
return destroy;
}
public void setDestroy(boolean destroy) {
this.destroy = destroy;
}
@Override
protected ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) {
return mBinding = FragmentVodBinding.inflate(inflater, container, false);
@ -91,17 +82,13 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
private void setRecyclerView() {
mBinding.type.setHasFixedSize(true);
mBinding.type.setItemAnimator(null);
mBinding.pager.setOffscreenPageLimit(-1);
mBinding.type.setAdapter(mTypeAdapter = new TypeAdapter(this));
mBinding.pager.setAdapter(mPageAdapter = new PageAdapter(getChildFragmentManager()));
}
private void setViewModel() {
mViewModel = new ViewModelProvider(this).get(SiteViewModel.class);
mViewModel.result.observe(getViewLifecycleOwner(), result -> {
EventBus.getDefault().post(result);
setAdapter(result);
setDestroy(false);
});
mViewModel.result.observe(getViewLifecycleOwner(), this::setAdapter);
}
private List<Class> getTypes(Result result) {
@ -116,7 +103,8 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
Boolean filter = getSite().isFilterable() ? false : null;
for (Class item : mTypeAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilter(filter);
for (Class item : mTypeAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilters(result.getFilters().get(item.getTypeId()));
mPageAdapter.notifyDataSetChanged();
mBinding.pager.setAdapter(mPageAdapter = new PageAdapter(getChildFragmentManager()));
EventBus.getDefault().post(result);
mBinding.pager.setCurrentItem(0);
}
@ -166,10 +154,9 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
}
private void homeContent() {
setDestroy(true);
mTypeAdapter.clear();
mPageAdapter.notifyDataSetChanged();
String home = getSite().getName();
if (mPageAdapter != null) mPageAdapter.notifyDataSetChanged();
mBinding.title.setText(home.isEmpty() ? ResUtil.getString(R.string.app_name) : home);
if (!getSite().getKey().isEmpty()) mViewModel.homeContent();
}
@ -206,14 +193,8 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
return mTypeAdapter.getItemCount();
}
@Override
public int getItemPosition(@NonNull Object object) {
return POSITION_NONE;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
if (position != 0 && isDestroy()) super.destroyItem(container, position, object);
}
}
}

Loading…
Cancel
Save