pull/137/head
FongMi 3 years ago
parent 7d6c0d0b5d
commit 99281078e3
  1. 24
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  2. 37
      app/src/main/java/com/fongmi/android/tv/bean/Collect.java
  3. 63
      app/src/main/java/com/fongmi/android/tv/bean/Site.java
  4. 34
      app/src/main/java/com/fongmi/android/tv/bean/Vod.java

@ -1,6 +1,7 @@
package com.fongmi.android.tv.ui.fragment;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;
@ -43,17 +44,20 @@ public class CollectFragment extends BaseFragment implements CustomScroller.Call
private String mKeyword;
public static CollectFragment newInstance(String keyword, Collect collect) {
return new CollectFragment().setKeyword(keyword).setCollect(collect);
Bundle args = new Bundle();
args.putString("keyword", keyword);
args.putParcelable("collect", collect);
CollectFragment fragment = new CollectFragment();
fragment.setArguments(args);
return fragment;
}
private CollectFragment setKeyword(String keyword) {
this.mKeyword = keyword;
return this;
private String getKeyword() {
return mKeyword = mKeyword == null ? getArguments().getString("keyword") : mKeyword;
}
private CollectFragment setCollect(Collect collect) {
this.mCollect = collect;
return this;
private Collect getCollect() {
return mCollect = mCollect == null ? getArguments().getParcelable("collect") : mCollect;
}
@Override
@ -86,7 +90,7 @@ public class CollectFragment extends BaseFragment implements CustomScroller.Call
@Override
protected void initData() {
addVideo(mCollect.getList());
addVideo(getCollect().getList());
}
private boolean checkLastSize(List<Vod> items) {
@ -124,8 +128,8 @@ public class CollectFragment extends BaseFragment implements CustomScroller.Call
@Override
public void onLoadMore(String page) {
if (mCollect.getSite().getKey().equals("all")) return;
mViewModel.searchContent(mCollect.getSite(), mKeyword, page);
if (getCollect().getSite().getKey().equals("all")) return;
mViewModel.searchContent(getCollect().getSite(), getKeyword(), page);
mScroller.setLoading(true);
}

@ -1,12 +1,15 @@
package com.fongmi.android.tv.bean;
import android.os.Parcel;
import android.os.Parcelable;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.ResUtil;
import java.util.ArrayList;
import java.util.List;
public class Collect {
public class Collect implements Parcelable {
private final Site site;
private final List<Vod> list;
@ -51,4 +54,36 @@ public class Collect {
public void setPage(int page) {
this.page = page;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(site, flags);
dest.writeList(list);
dest.writeByte(activated ? (byte) 1 : (byte) 0);
dest.writeInt(page);
}
private Collect(Parcel in) {
site = in.readParcelable(Site.class.getClassLoader());
in.readList(list = new ArrayList<>(), Vod.class.getClassLoader());
activated = in.readByte() != 0;
page = in.readInt();
}
public static final Creator<Collect> CREATOR = new Creator<>() {
@Override
public Collect createFromParcel(Parcel source) {
return new Collect(source);
}
@Override
public Collect[] newArray(int size) {
return new Collect[size];
}
};
}

@ -1,5 +1,7 @@
package com.fongmi.android.tv.bean;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import androidx.annotation.NonNull;
@ -18,7 +20,7 @@ import java.util.Collections;
import java.util.List;
@Entity(ignoredColumns = {"type", "api", "playUrl", "timeout", "playerType", "ext", "jar", "style", "categories"})
public class Site {
public class Site implements Parcelable {
@NonNull
@PrimaryKey
@ -77,6 +79,9 @@ public class Site {
return site;
}
public Site() {
}
public String getKey() {
return TextUtils.isEmpty(key) ? "" : key;
}
@ -240,4 +245,60 @@ public class Site {
Site it = (Site) obj;
return getKey().equals(it.getKey());
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.key);
dest.writeString(this.name);
dest.writeValue(this.type);
dest.writeString(this.api);
dest.writeString(this.playUrl);
dest.writeValue(this.timeout);
dest.writeValue(this.playerType);
dest.writeValue(this.searchable);
dest.writeValue(this.filterable);
dest.writeValue(this.changeable);
dest.writeValue(this.recordable);
dest.writeString(this.ext);
dest.writeString(this.jar);
dest.writeParcelable(this.style, flags);
dest.writeStringList(this.categories);
dest.writeByte(this.activated ? (byte) 1 : (byte) 0);
}
private Site(Parcel in) {
this.key = in.readString();
this.api = in.readString();
this.ext = in.readString();
this.jar = in.readString();
this.name = in.readString();
this.playUrl = in.readString();
this.activated = in.readByte() != 0;
this.categories = in.createStringArrayList();
this.style = in.readParcelable(Vod.Style.class.getClassLoader());
this.type = (Integer) in.readValue(Integer.class.getClassLoader());
this.timeout = (Integer) in.readValue(Integer.class.getClassLoader());
this.playerType = (Integer) in.readValue(Integer.class.getClassLoader());
this.searchable = (Integer) in.readValue(Integer.class.getClassLoader());
this.filterable = (Integer) in.readValue(Integer.class.getClassLoader());
this.changeable = (Integer) in.readValue(Integer.class.getClassLoader());
this.recordable = (Integer) in.readValue(Integer.class.getClassLoader());
}
public static final Creator<Site> CREATOR = new Creator<>() {
@Override
public Site createFromParcel(Parcel source) {
return new Site(source);
}
@Override
public Site[] newArray(int size) {
return new Site[size];
}
};
}

@ -1,5 +1,7 @@
package com.fongmi.android.tv.bean;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.view.View;
@ -488,10 +490,10 @@ public class Vod {
}
}
public static class Style {
public static class Style implements Parcelable {
@SerializedName("type")
private final String type;
private String type;
@SerializedName("ratio")
private Float ratio;
@ -554,5 +556,33 @@ public class Vod {
Style it = (Style) obj;
return getType().equals(it.getType()) && getRatio().equals(it.getRatio());
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.type);
dest.writeValue(this.ratio);
}
private Style(Parcel in) {
this.type = in.readString();
this.ratio = (Float) in.readValue(Float.class.getClassLoader());
}
public static final Creator<Style> CREATOR = new Creator<>() {
@Override
public Style createFromParcel(Parcel source) {
return new Style(source);
}
@Override
public Style[] newArray(int size) {
return new Style[size];
}
};
}
}

Loading…
Cancel
Save