diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 2643ec880..8f56f098d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -105,9 +105,9 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback protected void initView() { mPages = new ArrayList<>(); mExtends = new HashMap<>(); - mFilters = Filter.arrayFrom(getFilter()); setRecyclerView(); setViewModel(); + setFilters(); } @Override @@ -140,6 +140,17 @@ public class VodFragment extends BaseFragment implements CustomScroller.Callback }); } + private void setFilters() { + mFilters = Filter.arrayFrom(getFilter()); + for (Filter filter : mFilters) { + if (filter.getInit() == null) continue; + Value value = new Value(filter.getInit()); + int index = filter.getValue().indexOf(value); + filter.getValue().get(index).setActivated(value); + mExtends.put(filter.getKey(), filter.getInit()); + } + } + private void setClick(ArrayObjectAdapter adapter, String key, Value item) { for (int i = 0; i < adapter.size(); i++) ((Value) adapter.get(i)).setActivated(item); adapter.notifyArrayItemRangeChanged(0, adapter.size()); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Filter.java b/app/src/main/java/com/fongmi/android/tv/bean/Filter.java index 276fd8b67..3f3d05a9a 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Filter.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Filter.java @@ -21,6 +21,8 @@ public class Filter implements Parcelable { private String key; @SerializedName("name") private String name; + @SerializedName("init") + private String init; @SerializedName("value") private List value; @@ -45,6 +47,10 @@ public class Filter implements Parcelable { return TextUtils.isEmpty(name) ? "" : name; } + public String getInit() { + return init; + } + public List getValue() { return value == null ? Collections.emptyList() : value; } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Value.java b/app/src/main/java/com/fongmi/android/tv/bean/Value.java index 899f9dec9..10585a46a 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Value.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Value.java @@ -19,6 +19,10 @@ public class Value implements Parcelable { public Value() { } + public Value(String v) { + this.v = v; + } + public Value(String n, String v) { this.n = Trans.s2t(n); this.v = v; diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java index 4f380e483..3899273a4 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java @@ -72,6 +72,9 @@ public class Vod implements Parcelable { @SerializedName("vod_tag") private String vodTag; + @SerializedName("cate") + private Object cate; + @SerializedName("style") private Style style; @@ -154,6 +157,10 @@ public class Vod implements Parcelable { return TextUtils.isEmpty(vodTag) ? "" : vodTag; } + public Object getCate() { + return cate; + } + public Style getStyle() { return style; } @@ -199,7 +206,7 @@ public class Vod implements Parcelable { } public boolean isFolder() { - return getVodTag().equals("folder"); + return getVodTag().equals("folder") || getCate() != null; } public boolean isManga() {