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 63dbd0e7b..bf759db16 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 @@ -158,7 +158,11 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } public static void cast(Activity activity, History history) { - start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic(), null, true, true); + start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic(), null, true, true, false); + } + + public static void collect(Activity activity, String key, String id, String name, String pic) { + start(activity, key, id, name, pic, null, false, false, true); } public static void push(Activity activity, String url, boolean clear) { @@ -178,16 +182,17 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } public static void start(Activity activity, String key, String id, String name, boolean clear) { - start(activity, key, id, name, null, null, clear, false); + start(activity, key, id, name, null, null, clear, false, false); } public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear) { - start(activity, key, id, name, pic, mark, clear, false); + start(activity, key, id, name, pic, mark, clear, false, false); } - public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear, boolean cast) { + public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean clear, boolean cast, boolean collect) { Intent intent = new Intent(activity, VideoActivity.class); if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra("collect", collect); intent.putExtra("cast", cast); intent.putExtra("mark", mark); intent.putExtra("name", name); @@ -268,7 +273,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private boolean isFromCollect() { - return getCallingActivity() != null && getCallingActivity().getShortClassName().contains(CollectActivity.class.getSimpleName()); + return getIntent().getBooleanExtra("collect", false); } @Override @@ -404,7 +409,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void checkId() { if (getId().startsWith("push://")) getIntent().putExtra("key", "push_agent").putExtra("id", getId().substring(7)); - if (getId().isEmpty() || getId().startsWith("msearch:")) setEmpty(); + if (getId().isEmpty() || getId().startsWith("msearch:")) setEmpty(false); else getDetail(); } @@ -445,7 +450,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void setDetail(Result result) { - if (result.getList().isEmpty()) setEmpty(); + if (result.getList().isEmpty()) setEmpty(result.hasMsg()); else setDetail(result.getList().get(0)); Notify.show(result.getMsg()); } @@ -480,8 +485,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List }); } - private void setEmpty() { - if (isFromCollect()) { + private void setEmpty(boolean finish) { + if (isFromCollect() || finish) { finish(); } else if (getName().isEmpty()) { showEmpty(); 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 2e6a5f2cc..259c95890 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 @@ -118,7 +118,7 @@ public class CollectFragment extends BaseFragment implements CustomScroller.Call public void onItemClick(Vod item) { getActivity().setResult(Activity.RESULT_OK); if (item.isFolder()) VodActivity.start(getActivity(), item.getSiteKey(), Result.folder(item)); - else VideoActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic()); + else VideoActivity.collect(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic()); } @Override 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 6df3f75fd..fb986ab54 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 @@ -274,7 +274,7 @@ public class CollectActivity extends BaseActivity implements CustomScroller.Call @Override public void onItemClick(Vod item) { if (item.isFolder()) FolderActivity.start(this, item.getSiteKey(), Result.folder(item)); - else VideoActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic(), true); + else VideoActivity.collect(this, item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic()); } @Override 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 9609b18f6..229da73c2 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 @@ -171,23 +171,23 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo start(activity, history.getSiteKey(), history.getVodId(), history.getVodName(), history.getVodPic()); } + public static void collect(Activity activity, String key, String id, String name, String pic) { + start(activity, key, id, name, pic, null, true); + } + public static void push(Activity activity, String url) { start(activity, "push_agent", url, url, null); } public static void start(Activity activity, String key, String id, String name) { - start(activity, key, id, name, null, false, null); + start(activity, key, id, name, null, null, false); } public static void start(Activity activity, String key, String id, String name, String pic) { - start(activity, key, id, name, pic, false, null); - } - - public static void start(Activity activity, String key, String id, String name, String pic, boolean collect) { - start(activity, key, id, name, pic, collect, null); + start(activity, key, id, name, pic, null, false); } - public static void start(Activity activity, String key, String id, String name, String pic, boolean collect, String mark) { + public static void start(Activity activity, String key, String id, String name, String pic, String mark, boolean collect) { Intent intent = new Intent(activity, VideoActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("collect", collect); intent.putExtra("mark", mark); @@ -445,7 +445,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void checkId() { if (getId().startsWith("push://")) getIntent().putExtra("key", "push_agent").putExtra("id", getId().substring(7)); - if (getId().isEmpty() || getId().startsWith("msearch:")) setEmpty(); + if (getId().isEmpty() || getId().startsWith("msearch:")) setEmpty(false); else getDetail(); } @@ -467,13 +467,13 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void setDetail(Result result) { mBinding.swipeLayout.setRefreshing(false); - if (result.getList().isEmpty()) setEmpty(); + if (result.getList().isEmpty()) setEmpty(result.hasMsg()); else setDetail(result.getList().get(0)); Notify.show(result.getMsg()); } - private void setEmpty() { - if (isFromCollect()) { + private void setEmpty(boolean finish) { + if (isFromCollect() || finish) { finish(); } else if (getName().isEmpty()) { showEmpty(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java index 1a2614bea..e3469ac81 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java @@ -218,7 +218,7 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac getVideo(item.getVodId(), "1"); } else { if (item.isManga()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic()); - else VideoActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), false, isFolder() ? item.getVodName() : null); + else VideoActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), isFolder() ? item.getVodName() : null, false); } }