From 2454ea06e1021db28e7dc0d935fded66f7e27c9b Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 11 Oct 2022 14:47:56 +0800 Subject: [PATCH] Optimize activity flow --- .../android/tv/ui/activity/CollectActivity.java | 11 +++++++++-- .../fongmi/android/tv/ui/activity/DetailActivity.java | 11 +++++++++-- .../android/tv/ui/fragment/CollectFragment.java | 2 ++ 3 files changed, 20 insertions(+), 4 deletions(-) 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 4f943dcca..c69fdb3e7 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 @@ -49,9 +49,8 @@ public class CollectActivity extends BaseActivity { public static void start(Activity activity, String keyword) { Intent intent = new Intent(activity, CollectActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("keyword", keyword); - activity.startActivity(intent); + activity.startActivityForResult(intent, 1000); } @Override @@ -128,6 +127,14 @@ public class CollectActivity extends BaseActivity { return (CollectFragment) mPageAdapter.instantiateItem(mBinding.pager, 0); } + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + setResult(RESULT_OK); + finish(); + } + @Override public void onBackPressed() { super.onBackPressed(); 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 53f577b94..f0996fc03 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 @@ -117,10 +117,9 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen public static void start(Activity activity, String key, String id) { Intent intent = new Intent(activity, DetailActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("key", key); intent.putExtra("id", id); - activity.startActivity(intent); + activity.startActivityForResult(intent, 1000); } @Override @@ -646,6 +645,14 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen else onPlay(0); } + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + setResult(RESULT_OK); + finish(); + } + @Override protected void onResume() { super.onResume(); 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 db71c8ea4..8e39fc3cd 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 @@ -1,5 +1,6 @@ package com.fongmi.android.tv.ui.fragment; +import android.app.Activity; import android.view.LayoutInflater; import android.view.ViewGroup; @@ -84,6 +85,7 @@ public class CollectFragment extends BaseFragment implements VodPresenter.OnClic @Override public void onItemClick(Vod item) { + getActivity().setResult(Activity.RESULT_OK); DetailActivity.start(getActivity(), item.getSite().getKey(), item.getVodId()); }