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 1df55b293..dcc76e7a5 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 @@ -43,7 +43,6 @@ public class CollectActivity extends BaseActivity { private ArrayObjectAdapter mAdapter; private SiteViewModel mViewModel; private PauseExecutor mExecutor; - private List mSites; private View mOldView; public static void start(Activity activity, String keyword) { @@ -80,7 +79,6 @@ public class CollectActivity extends BaseActivity { setViewModel(); saveKeyword(); setPager(); - setSite(); search(); } @@ -119,13 +117,10 @@ public class CollectActivity extends BaseActivity { mBinding.pager.setAdapter(new PageAdapter(getSupportFragmentManager())); } - private void setSite() { - mSites = new ArrayList<>(); - for (Site site : VodConfig.get().getSites()) if (site.isSearchable()) mSites.add(site); - Site home = VodConfig.get().getHome(); - if (!mSites.contains(home)) return; - mSites.remove(home); - mSites.add(0, home); + private List getSites() { + List items = new ArrayList<>(); + for (Site site : VodConfig.get().getSites()) if (site.isSearchable()) items.add(site); + return items; } private void search() { @@ -134,7 +129,7 @@ public class CollectActivity extends BaseActivity { mBinding.pager.getAdapter().notifyDataSetChanged(); mExecutor = new PauseExecutor(10); mBinding.result.setText(getString(R.string.collect_result, getKeyword())); - for (Site site : mSites) mExecutor.execute(() -> search(site)); + for (Site site : getSites()) mExecutor.execute(() -> search(site)); } private void search(Site site) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index 952e8d163..3b3396476 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -442,10 +442,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen getVideo(); } - @Override - public void onChanged() { - } - @Override public boolean dispatchKeyEvent(KeyEvent event) { if (KeyUtil.isMenuKey(event)) showDialog(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index 2cd5f3b20..cf3c02ee6 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -15,11 +15,9 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.bean.Hot; -import com.fongmi.android.tv.bean.Site; import com.fongmi.android.tv.bean.Suggest; import com.fongmi.android.tv.databinding.ActivitySearchBinding; import com.fongmi.android.tv.impl.Callback; -import com.fongmi.android.tv.impl.SiteCallback; import com.fongmi.android.tv.ui.adapter.RecordAdapter; import com.fongmi.android.tv.ui.adapter.WordAdapter; import com.fongmi.android.tv.ui.base.BaseActivity; @@ -41,7 +39,7 @@ import okhttp3.Call; import okhttp3.Headers; import okhttp3.Response; -public class SearchActivity extends BaseActivity implements WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CustomKeyboard.Callback, SiteCallback { +public class SearchActivity extends BaseActivity implements WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CustomKeyboard.Callback { private ActivitySearchBinding mBinding; private RecordAdapter mRecordAdapter; @@ -162,14 +160,6 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL PushActivity.start(this, 1); } - @Override - public void setSite(Site item) { - } - - @Override - public void onChanged() { - } - @Override protected void onResume() { super.onResume(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java index 254259532..dd57930b2 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java @@ -219,10 +219,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit RefreshEvent.video(); } - @Override - public void onChanged() { - } - @Override public void setLive(Live item) { LiveConfig.get().setHome(item); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java index 45a388669..dd7da12bd 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java @@ -22,12 +22,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; public class SiteDialog implements SiteAdapter.OnClickListener { - private RecyclerView.ItemDecoration decoration; private final DialogSiteBinding binding; - private final SiteCallback callback; private final SiteAdapter adapter; private final AlertDialog dialog; private final int GRID_COUNT = 10; + + private RecyclerView.ItemDecoration decoration; + private SiteCallback callback; private int type; public static SiteDialog create(Activity activity) { @@ -36,9 +37,9 @@ public class SiteDialog implements SiteAdapter.OnClickListener { public SiteDialog(Activity activity) { this.adapter = new SiteAdapter(this); - this.callback = (SiteCallback) activity; this.binding = DialogSiteBinding.inflate(LayoutInflater.from(activity)); this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); + if (activity instanceof SiteCallback) this.callback = (SiteCallback) activity; } public SiteDialog search() { @@ -127,6 +128,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener { @Override public void onItemClick(Site item) { + if (callback == null) return; callback.setSite(item); dialog.dismiss(); } diff --git a/app/src/main/java/com/fongmi/android/tv/impl/SiteCallback.java b/app/src/main/java/com/fongmi/android/tv/impl/SiteCallback.java index 899c4a8b4..c5a24bbec 100644 --- a/app/src/main/java/com/fongmi/android/tv/impl/SiteCallback.java +++ b/app/src/main/java/com/fongmi/android/tv/impl/SiteCallback.java @@ -5,6 +5,4 @@ import com.fongmi.android.tv.bean.Site; public interface SiteCallback { void setSite(Site item); - - void onChanged(); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index c87bd1588..7e7626ee4 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -26,7 +26,6 @@ import com.fongmi.android.tv.bean.Suggest; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.ActivityCollectBinding; import com.fongmi.android.tv.impl.Callback; -import com.fongmi.android.tv.impl.SiteCallback; import com.fongmi.android.tv.model.SiteViewModel; import com.fongmi.android.tv.ui.adapter.CollectAdapter; import com.fongmi.android.tv.ui.adapter.RecordAdapter; @@ -53,7 +52,7 @@ import java.util.List; import okhttp3.Call; import okhttp3.Response; -public class CollectActivity extends BaseActivity implements CustomScroller.Callback, SiteCallback, WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CollectAdapter.OnClickListener, VodAdapter.OnClickListener { +public class CollectActivity extends BaseActivity implements CustomScroller.Callback, WordAdapter.OnClickListener, RecordAdapter.OnClickListener, CollectAdapter.OnClickListener, VodAdapter.OnClickListener { private ActivityCollectBinding mBinding; private CollectAdapter mCollectAdapter; @@ -63,7 +62,6 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call private CustomScroller mScroller; private SiteViewModel mViewModel; private PauseExecutor mExecutor; - private List mSites; public static void start(Activity activity) { start(activity, ""); @@ -91,12 +89,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call @Override protected void initView(Bundle savedInstanceState) { mScroller = new CustomScroller(this); - mSites = new ArrayList<>(); setRecyclerView(); setViewModel(); checkKeyword(); setViewType(); - setSite(); getHot(); search(); } @@ -170,12 +166,10 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call mBinding.keyword.setSelection(text.length()); } - private void setSite() { - for (Site site : VodConfig.get().getSites()) if (site.isSearchable()) mSites.add(site); - Site home = VodConfig.get().getHome(); - if (!mSites.contains(home)) return; - mSites.remove(home); - mSites.add(0, home); + private List getSites() { + List items = new ArrayList<>(); + for (Site site : VodConfig.get().getSites()) if (site.isSearchable()) items.add(site); + return items; } private void search() { @@ -190,7 +184,7 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call if (mExecutor != null) mExecutor.shutdownNow(); mExecutor = new PauseExecutor(20); String keyword = mBinding.keyword.getText().toString().trim(); - for (Site site : mSites) mExecutor.execute(() -> search(site, keyword)); + for (Site site : getSites()) mExecutor.execute(() -> search(site, keyword)); App.post(() -> mRecordAdapter.add(keyword), 250); } @@ -238,16 +232,6 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call if (mExecutor != null) mExecutor.shutdownNow(); } - @Override - public void setSite(Site item) { - } - - @Override - public void onChanged() { - mSites.clear(); - setSite(); - } - @Override public void onItemClick(String text) { setKeyword(text); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java index 4958a1939..93bab7511 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java @@ -16,8 +16,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; public class SiteDialog implements SiteAdapter.OnClickListener { - private final SiteCallback callback; private DialogSiteBinding binding; + private SiteCallback callback; private SiteAdapter adapter; private AlertDialog dialog; @@ -30,12 +30,12 @@ public class SiteDialog implements SiteAdapter.OnClickListener { } public SiteDialog(Activity activity) { - this.callback = (SiteCallback) activity; + if (activity instanceof SiteCallback) this.callback = (SiteCallback) activity; init(activity); } public SiteDialog(Fragment fragment) { - this.callback = (SiteCallback) fragment; + if (fragment instanceof SiteCallback) this.callback = (SiteCallback) fragment; init(fragment.getActivity()); } @@ -91,7 +91,6 @@ public class SiteDialog implements SiteAdapter.OnClickListener { public void onSearchClick(int position, Site item) { item.setSearchable(!item.isSearchable()).save(); adapter.notifyItemChanged(position); - callback.onChanged(); } @Override @@ -105,7 +104,6 @@ public class SiteDialog implements SiteAdapter.OnClickListener { boolean result = !item.isSearchable(); for (Site site : adapter.getItems()) site.setSearchable(result).save(); adapter.notifyItemRangeChanged(0, adapter.getItemCount()); - callback.onChanged(); return true; } 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 304913ae9..c063baae4 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 @@ -221,10 +221,6 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit RefreshEvent.video(); } - @Override - public void onChanged() { - } - @Override public void setLive(Live item) { LiveConfig.get().setHome(item); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index db455ee38..591a27e7d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -314,10 +314,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal homeContent(); } - @Override - public void onChanged() { - } - @Override public void onItemClick(int position, Class item) { mBinding.pager.setCurrentItem(position);