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 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());

@ -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;
}
}

@ -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();
}

@ -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(), "");
}
}

@ -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

@ -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

Loading…
Cancel
Save