Search result support folder

pull/123/head
FongMi 3 years ago
parent 0ad2754205
commit 225ed7fc97
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  3. 12
      app/src/main/java/com/fongmi/android/tv/bean/Class.java
  4. 10
      app/src/main/java/com/fongmi/android/tv/bean/Result.java
  5. 4
      app/src/main/java/com/fongmi/android/tv/bean/Vod.java

@ -12,10 +12,12 @@ import androidx.leanback.widget.ListRow;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.FragmentVodBinding;
import com.fongmi.android.tv.ui.activity.BaseFragment;
import com.fongmi.android.tv.ui.activity.DetailActivity;
import com.fongmi.android.tv.ui.activity.VodActivity;
import com.fongmi.android.tv.ui.custom.CustomRowPresenter;
import com.fongmi.android.tv.ui.custom.CustomSelector;
import com.fongmi.android.tv.ui.presenter.VodPresenter;
@ -86,7 +88,8 @@ 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());
if (item.isFolder()) VodActivity.start(getActivity(), Result.folder(item));
else DetailActivity.start(getActivity(), item.getSite().getKey(), item.getVodId());
}
@Override

@ -194,7 +194,7 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback
@Override
public void onItemClick(Vod item) {
if (item.shouldSearch()) onLongClick(item);
else if (item.getVodTag().equals("folder")) getVideo(item.getVodId(), "1");
else if (item.isFolder()) getVideo(item.getVodId(), "1");
else DetailActivity.start(getActivity(), item.getVodId());
}

@ -30,14 +30,26 @@ public class Class {
return typeId;
}
public void setTypeId(String typeId) {
this.typeId = typeId;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public String getTypeFlag() {
return TextUtils.isEmpty(typeFlag) ? "" : typeFlag;
}
public void setTypeFlag(String typeFlag) {
this.typeFlag = typeFlag;
}
public void setFilter(Boolean filter) {
this.filter = filter;
}

@ -87,6 +87,16 @@ public class Result {
return new Result();
}
public static Result folder(Vod item) {
Result result = new Result();
Class type = new Class();
type.setTypeFlag("1");
type.setTypeId(item.getVodId());
type.setTypeName(item.getVodName());
result.setTypes(List.of(type));
return result;
}
public List<Class> getTypes() {
return types == null ? Collections.emptyList() : types;
}

@ -168,6 +168,10 @@ public class Vod {
return getVodRemarks().isEmpty() ? View.GONE : View.VISIBLE;
}
public boolean isFolder() {
return getVodTag().equals("folder");
}
public boolean shouldSearch() {
return getVodId().isEmpty() || getVodId().startsWith("msearch:");
}

Loading…
Cancel
Save