Support auto search when empty

pull/123/head
FongMi 3 years ago
parent baec5926d7
commit bb1f3fa7df
  1. 26
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  4. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java
  5. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  6. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -101,22 +101,27 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private Runnable mR2; private Runnable mR2;
private Runnable mR3; private Runnable mR3;
public static void start(Activity activity, String id) { public static void start(Activity activity, String id, String name) {
start(activity, ApiConfig.get().getHome().getKey(), id); start(activity, ApiConfig.get().getHome().getKey(), id, name);
} }
public static void start(Activity activity, String key, String id) { public static void start(Activity activity, String key, String id, String name) {
start(activity, key, id, false); 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); Intent intent = new Intent(activity, DetailActivity.class);
if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); if (clear) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("name", name);
intent.putExtra("key", key); intent.putExtra("key", key);
intent.putExtra("id", id); intent.putExtra("id", id);
activity.startActivityForResult(intent, 1000); activity.startActivityForResult(intent, 1000);
} }
private String getName() {
return getIntent().getStringExtra("name");
}
private String getKey() { private String getKey() {
return getIntent().getStringExtra("key"); return getIntent().getStringExtra("key");
} }
@ -278,7 +283,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
resetFocus(useParse); resetFocus(useParse);
}); });
mViewModel.result.observe(this, result -> { mViewModel.result.observe(this, result -> {
if (result.getList().isEmpty()) mBinding.progressLayout.showEmpty(); if (result.getList().isEmpty()) setEmpty();
else setDetail(result.getList().get(0)); else setDetail(result.getList().get(0));
Notify.dismiss(); Notify.dismiss();
}); });
@ -316,6 +321,15 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
hideError(); hideError();
} }
private void setEmpty() {
if (getName().isEmpty()) {
mBinding.progressLayout.showEmpty();
} else {
CollectActivity.start(this, getName(), true);
finish();
}
}
private void setDetail(Vod item) { private void setDetail(Vod item) {
mBinding.progressLayout.showContent(); mBinding.progressLayout.showContent();
mBinding.video.setTag(item.getVodPic()); mBinding.video.setTag(item.getVodPic());

@ -222,7 +222,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override @Override
public void onItemClick(Vod item) { public void onItemClick(Vod item) {
if (item.shouldSearch()) onLongClick(item); if (item.shouldSearch()) onLongClick(item);
else DetailActivity.start(this, item.getVodId()); else DetailActivity.start(this, item.getVodId(), item.getVodName());
} }
@Override @Override
@ -233,7 +233,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override @Override
public void onItemClick(History item) { public void onItemClick(History item) {
DetailActivity.start(this, item.getSiteKey(), item.getVodId()); DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
} }
@Override @Override
@ -294,7 +294,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
break; break;
case PUSH: case PUSH:
if (ApiConfig.get().getSite("push_agent") == null) return; 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; break;
} }
} }

@ -60,7 +60,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
public void onItemClick(Keep item) { public void onItemClick(Keep item) {
Config config = Config.find(item.getCid()); Config config = Config.find(item.getCid());
if (item.getCid() == ApiConfig.getCid()) { if (item.getCid() == ApiConfig.getCid()) {
DetailActivity.start(this, item.getSiteKey(), item.getVodId()); DetailActivity.start(this, item.getSiteKey(), item.getVodId(), item.getVodName());
} else { } else {
loadConfig(config, item); loadConfig(config, item);
} }
@ -70,7 +70,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
ApiConfig.get().clear().config(config).load(true, new Callback() { ApiConfig.get().clear().config(config).load(true, new Callback() {
@Override @Override
public void success() { public void success() {
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId()); DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName());
RefreshEvent.history(); RefreshEvent.history();
RefreshEvent.video(); RefreshEvent.video();
} }

@ -36,6 +36,6 @@ public class PushActivity extends BaseActivity {
private void onClip(View view) { private void onClip(View view) {
CharSequence text = ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).getText(); 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(), "");
} }
} }

@ -89,7 +89,7 @@ public class CollectFragment extends BaseFragment implements VodPresenter.OnClic
public void onItemClick(Vod item) { public void onItemClick(Vod item) {
getActivity().setResult(Activity.RESULT_OK); getActivity().setResult(Activity.RESULT_OK);
if (item.isFolder()) VodActivity.start(getActivity(), item.getSiteKey(), Result.folder(item)); 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 @Override

@ -198,7 +198,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
public void onItemClick(Vod item) { public void onItemClick(Vod item) {
if (item.shouldSearch()) onLongClick(item); if (item.shouldSearch()) onLongClick(item);
else if (item.isFolder()) getVideo(item.getVodId(), "1"); 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 @Override

Loading…
Cancel
Save