diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 45cf0ed7d..82e693b53 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -101,22 +101,27 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private Runnable mR2; private Runnable mR3; - public static void start(Activity activity, String id) { - start(activity, ApiConfig.get().getHome().getKey(), id); + public static void start(Activity activity, String id, String name) { + start(activity, ApiConfig.get().getHome().getKey(), id, name); } - public static void start(Activity activity, String key, String id) { - start(activity, key, id, false); + public static void start(Activity activity, String key, String id, String name) { + start(activity, key, id, name, false); } - public static void start(Activity activity, String key, String id, boolean clear) { + public static void start(Activity activity, String key, String id, String name, boolean clear) { Intent intent = new Intent(activity, DetailActivity.class); if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra("name", name); intent.putExtra("key", key); intent.putExtra("id", id); activity.startActivityForResult(intent, 1000); } + private String getName() { + return getIntent().getStringExtra("name"); + } + private String getKey() { return getIntent().getStringExtra("key"); } @@ -278,7 +283,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis resetFocus(useParse); }); mViewModel.result.observe(this, result -> { - if (result.getList().isEmpty()) mBinding.progressLayout.showEmpty(); + if (result.getList().isEmpty()) setEmpty(); else setDetail(result.getList().get(0)); Notify.dismiss(); }); @@ -316,6 +321,15 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis hideError(); } + private void setEmpty() { + if (getName().isEmpty()) { + mBinding.progressLayout.showEmpty(); + } else { + CollectActivity.start(this, getName(), true); + finish(); + } + } + private void setDetail(Vod item) { mBinding.progressLayout.showContent(); mBinding.video.setTag(item.getVodPic()); 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 0e98fe6a7..3e6b236a7 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 @@ -222,7 +222,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onItemClick(Vod item) { if (item.shouldSearch()) onLongClick(item); - else DetailActivity.start(this, item.getVodId()); + else DetailActivity.start(this, item.getVodId(), item.getVodName()); } @Override @@ -233,7 +233,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onItemClick(History item) { - DetailActivity.start(this, item.getSiteKey(), item.getVodId()); + DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName()); } @Override @@ -294,7 +294,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen break; case PUSH: if (ApiConfig.get().getSite("push_agent") == null) return; - DetailActivity.start(this, "push_agent", event.getText(), true); + DetailActivity.start(this, "push_agent", event.getText(), "", true); break; } } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java index 3d4ad21c6..8f15935a5 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java @@ -60,7 +60,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis public void onItemClick(Keep item) { Config config = Config.find(item.getCid()); if (item.getCid() == ApiConfig.getCid()) { - DetailActivity.start(this, item.getSiteKey(), item.getVodId()); + DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName()); } else { loadConfig(config, item); } @@ -70,7 +70,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis ApiConfig.get().clear().config(config).load(true, new Callback() { @Override public void success() { - DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId()); + DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName()); RefreshEvent.history(); RefreshEvent.video(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java index 9d48ad50a..699e747d3 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java @@ -36,6 +36,6 @@ public class PushActivity extends BaseActivity { private void onClip(View view) { CharSequence text = ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).getText(); - if (text != null) DetailActivity.start(this, "push_agent", text.toString()); + if (text != null) DetailActivity.start(this, "push_agent", text.toString(), ""); } } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java index 418f0b687..a632b5bb2 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java @@ -89,7 +89,7 @@ public class CollectFragment extends BaseFragment implements VodPresenter.OnClic public void onItemClick(Vod item) { getActivity().setResult(Activity.RESULT_OK); if (item.isFolder()) VodActivity.start(getActivity(), item.getSiteKey(), Result.folder(item)); - else DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId()); + else DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName()); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index f3f90ee96..4f8299f5f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -198,7 +198,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback public void onItemClick(Vod item) { if (item.shouldSearch()) onLongClick(item); else if (item.isFolder()) getVideo(item.getVodId(), "1"); - else DetailActivity.start(getActivity(), getKey(), item.getVodId()); + else DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName()); } @Override