diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java index 8c61d18e7..de2e75326 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java @@ -64,6 +64,7 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt return new Callback() { @Override public void success() { + RefreshEvent.history(); RefreshEvent.video(); } @@ -78,10 +79,10 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.vod: - getSupportFragmentManager().beginTransaction().show(mFragments.get(0)).hide(mFragments.get(1)).commit(); + getSupportFragmentManager().beginTransaction().hide(mFragments.get(1)).show(mFragments.get(0)).commit(); return true; case R.id.setting: - getSupportFragmentManager().beginTransaction().show(mFragments.get(1)).hide(mFragments.get(0)).commit(); + getSupportFragmentManager().beginTransaction().hide(mFragments.get(0)).show(mFragments.get(1)).commit(); return true; default: return false; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 3fd1b02a0..bdefca462 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -22,6 +22,7 @@ public class HistoryAdapter extends RecyclerView.Adapter mItems; private int width, height; + private boolean delete; public HistoryAdapter(OnClickListener listener) { this.mListener = listener; @@ -33,7 +34,24 @@ public class HistoryAdapter extends RecyclerView.Adapter mListener.onItemClick(item)); - holder.binding.getRoot().setOnLongClickListener(view -> mListener.onLongClick(item)); + holder.binding.remark.setVisibility(delete ? View.GONE : View.VISIBLE); + holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE); ImgUtil.loadHistory(item.getVodPic(), holder.binding.image); + setClickListener(holder.binding.getRoot(), item); + } + + private void setClickListener(View root, History item) { + root.setOnLongClickListener(view -> mListener.onLongClick()); + root.setOnClickListener(view -> { + if (isDelete()) mListener.onItemDelete(item); + else mListener.onItemClick(item); + }); } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java index 205af1434..df06886eb 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java @@ -134,6 +134,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit case 0: Notify.dismiss(); RefreshEvent.video(); + RefreshEvent.history(); mBinding.liveUrl.setText(LiveConfig.getUrl()); mBinding.wallUrl.setText(WallConfig.getUrl()); break; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java index 60d33e97c..0adf577eb 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/SiteFragment.java @@ -15,6 +15,7 @@ import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.FragmentSiteBinding; import com.fongmi.android.tv.event.RefreshEvent; import com.fongmi.android.tv.ui.activity.BaseFragment; +import com.fongmi.android.tv.ui.activity.DetailActivity; import com.fongmi.android.tv.ui.adapter.HistoryAdapter; import com.fongmi.android.tv.ui.adapter.VodAdapter; import com.fongmi.android.tv.ui.custom.SpaceItemDecoration; @@ -40,11 +41,11 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList @Override protected void initView() { setRecyclerView(); - getHistory(); } private void setRecyclerView() { mBinding.history.setHasFixedSize(true); + mBinding.history.getItemAnimator().setChangeDuration(0); mBinding.history.addItemDecoration(new SpaceItemDecoration(16)); mBinding.history.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false)); mBinding.history.setAdapter(mHistoryAdapter = new HistoryAdapter(this)); @@ -60,20 +61,36 @@ public class SiteFragment extends BaseFragment implements VodAdapter.OnClickList @Override public void onItemClick(Vod item) { + if (item.shouldSearch()) onLongClick(item); + else DetailActivity.start(getActivity(), item.getVodId(), item.getVodName()); } @Override public boolean onLongClick(Vod item) { + //CollectActivity.start(this, item.getVodName()); return true; } @Override public void onItemClick(History item) { + DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName()); } @Override - public boolean onLongClick(History item) { - return false; + public void onItemDelete(History item) { + mHistoryAdapter.remove(item.delete()); + mBinding.history.requestLayout(); + } + + @Override + public boolean onLongClick() { + setHistoryDelete(true); + return true; + } + + private void setHistoryDelete(boolean delete) { + mHistoryAdapter.setDelete(delete); + mHistoryAdapter.notifyItemRangeChanged(0, mHistoryAdapter.getItemCount()); } @Subscribe(threadMode = ThreadMode.MAIN)