diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index d2cc1f940..b19b7151f 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -215,6 +215,7 @@ public class SiteViewModel extends ViewModel { } public void searchContent(List sites, String keyword, boolean quick) { + stopSearch(); sites.forEach(site -> searchFuture.add(App.submitSearch(SearchTask.create(this, site, keyword, quick).run()))); } diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 66a2dfefd..78cfaf888 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -488,7 +488,7 @@ public class Players implements Player.Listener, ParseCallback { } public void setDanmaku(Danmaku item) { - danPlayer.cancel().setDanmaku(item); + danPlayer.setDanmaku(item); if (danmakus == null) danmakus = new ArrayList<>(); if (!item.isEmpty() && !danmakus.contains(item)) danmakus.add(0, item); for (int i = 0; i < danmakus.size(); i++) danmakus.get(i).setSelected(danmakus.get(i).getUrl().equals(item.getUrl()) && !danmakus.get(i).isSelected()); diff --git a/app/src/main/java/com/fongmi/android/tv/player/danmaku/DanPlayer.java b/app/src/main/java/com/fongmi/android/tv/player/danmaku/DanPlayer.java index 6d0b5ae61..0e5697bb9 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/danmaku/DanPlayer.java +++ b/app/src/main/java/com/fongmi/android/tv/player/danmaku/DanPlayer.java @@ -103,6 +103,7 @@ public class DanPlayer implements DrawHandler.Callback { } public void setDanmaku(Danmaku item) { + cancel(); future = App.submit(() -> { if (view != null) view.release(); if (item.isEmpty() || view == null) return; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index e33b792d4..6ae0cf242 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1316,7 +1316,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void startSearch(String keyword) { mQuickAdapter.clear(); - mViewModel.stopSearch(); List sites = new ArrayList<>(); for (Site item : VodConfig.get().getSites()) if (isPass(item)) sites.add(item); mViewModel.searchContent(sites, keyword, true); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java index 08c136870..3c7fa63a9 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java @@ -114,7 +114,6 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle } private void search() { - mViewModel.stopSearch(); if (mSites.isEmpty()) return; mCollectAdapter.setItems(List.of(Collect.all()), () -> mViewModel.searchContent(mSites, getKeyword(), false)); }