diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index daf35a8c7..18c6bfdf2 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -3,7 +3,6 @@ package com.fongmi.android.tv.ui.activity; import android.app.Activity; import android.content.Intent; import android.os.Parcelable; -import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -156,9 +155,9 @@ public class CollectActivity extends BaseActivity { }; @Override - protected void onDestroy() { - super.onDestroy(); - Log.e("DDD", "onDestroy"); + protected void onBackInvoked() { + mViewModel.cancelAll(); + super.onBackInvoked(); } class PageAdapter extends FragmentStatePagerAdapter { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index adbabf659..00dab6edc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1408,6 +1408,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } else if (isFullscreen()) { exitFullscreen(); } else { + mViewModel.cancelAll(); super.onBackInvoked(); } } 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 df75ae9db..6720971e1 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 @@ -1,7 +1,6 @@ package com.fongmi.android.tv.model; import android.text.TextUtils; -import android.util.Log; import androidx.collection.ArrayMap; import androidx.lifecycle.MutableLiveData; @@ -278,12 +277,16 @@ public class SiteViewModel extends ViewModel { }); } - @Override - protected void onCleared() { - super.onCleared(); - Log.e("DDD", "onCleared"); + public void cancelAll() { if (future != null) future.cancel(true); if (executor != null) executor.shutdownNow(); for (Future f : searchFutures) f.cancel(true); + searchFutures.clear(); + } + + @Override + protected void onCleared() { + super.onCleared(); + cancelAll(); } } 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 85b3809b4..a6d5197d9 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 @@ -1653,6 +1653,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } else if (isFullscreen() && !isLock()) { exitFullscreen(); } else if (!isLock()) { + mViewModel.cancelAll(); super.onBackInvoked(); } } 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 e7d998b17..da4d46b31 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 @@ -180,6 +180,7 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle @Override public void onDestroyView() { super.onDestroyView(); + mViewModel.cancelAll(); requireActivity().removeMenuProvider(this); } }