package shts.jp.android.nogifeed.models; import android.os.Parcel; import android.os.Parcelable; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; import org.json.JSONArray; import org.json.JSONException; import java.util.ArrayList; import java.util.List; import shts.jp.android.nogifeed.utils.DateUtils; /** * t.string :title * t.string :url * t.string :member_id * t.string :original_raw_image_urls * t.string :original_thumbnail_urls * t.string :uploaded_raw_image_urls * t.string :uploaded_thumbnail_urls * t.string :published <- まちがえた * t.datetime :published2 <- こっちをつかう */ public class Entry implements Parcelable { @SerializedName(value = "__id", alternate = {"id", "_id"}) @Expose private Integer id; @SerializedName(value = "__title", alternate = {"title", "_title"}) @Expose private String title; @SerializedName(value = "__url", alternate = {"url", "_url"}) @Expose private String url; @SerializedName(value = "__published2", alternate = {"published2", "_published2"}) @Expose private String published2; @SerializedName(value = "__original_raw_image_urls", alternate = {"original_raw_image_urls", "_original_raw_image_urls"}) @Expose private String originalRawImageUrls; @SerializedName(value = "__original_thumbnail_urls", alternate = {"original_thumbnail_urls", "_original_thumbnail_urls"}) @Expose private String originalThumbnailUrls; @SerializedName(value = "__uploaded_raw_image_urls", alternate = {"uploaded_raw_image_urls", "_uploaded_raw_image_urls"}) @Expose private String uploadedRawImageUrls; @SerializedName(value = "__uploaded_thumbnail_urls", alternate = {"uploaded_thumbnail_urls", "_uploaded_thumbnail_urls"}) @Expose private String uploadedThumbnailUrls; @SerializedName(value = "__member_id", alternate = {"member_id", "_member_id"}) @Expose private Integer memberId; @SerializedName(value = "__member_name", alternate = {"member_name", "_member_name"}) @Expose private String memberName; @SerializedName(value = "__member_image_url", alternate = {"member_image_url", "_member_image_url"}) @Expose private String memberImageUrl; public Entry(Integer id, String title, String url, String published, String originalRawImageUrls, String originalThumbnailUrls, String uploadedRawImageUrls, String uploadedThumbnailUrls, Integer memberId, String memberName, String memberImageUrl) { this.id = id; this.title = title; this.url = url; this.published2 = published; this.originalRawImageUrls = originalRawImageUrls; this.originalThumbnailUrls = originalThumbnailUrls; this.uploadedRawImageUrls = uploadedRawImageUrls; this.uploadedThumbnailUrls = uploadedThumbnailUrls; this.memberId = memberId; this.memberName = memberName; this.memberImageUrl = memberImageUrl; } public Integer getId() { return id; } public String getTitle() { return title; } public String getUrl() { return url; } public String getPublished() { return DateUtils.parse(this.published2); } public List<String> getOriginalRawImageUrls() { ArrayList<String> list = new ArrayList<>(); try { JSONArray array = new JSONArray(originalRawImageUrls); final int N = array.length(); for (int i = 0; i < N; i++) { list.add(array.getString(i)); } } catch (JSONException e) { e.printStackTrace(); } return list; } public List<String> getOriginalThumbnailUrls() { ArrayList<String> list = new ArrayList<>(); try { JSONArray array = new JSONArray(originalThumbnailUrls); final int N = array.length(); for (int i = 0; i < N; i++) { list.add(array.getString(i)); } } catch (JSONException e) { e.printStackTrace(); } return list; } public List<String> getUploadedRawImageUrls() { ArrayList<String> list = new ArrayList<>(); try { JSONArray array = new JSONArray(uploadedRawImageUrls); final int N = array.length(); for (int i = 0; i < N; i++) { list.add(array.getString(i)); } } catch (JSONException e) { e.printStackTrace(); } return list; } public List<String> getUploadedThumbnailUrls() { ArrayList<String> list = new ArrayList<>(); try { JSONArray array = new JSONArray(uploadedThumbnailUrls); final int N = array.length(); for (int i = 0; i < N; i++) { list.add(array.getString(i)); } } catch (JSONException e) { e.printStackTrace(); } return list; } public Integer getMemberId() { return memberId; } public String getMemberName() { return memberName; } public String getMemberImageUrl() { return memberImageUrl; } protected Entry(Parcel in) { title = in.readString(); url = in.readString(); published2 = in.readString(); originalRawImageUrls = in.readString(); originalThumbnailUrls = in.readString(); uploadedRawImageUrls = in.readString(); uploadedThumbnailUrls = in.readString(); memberName = in.readString(); memberImageUrl = in.readString(); } public static final Creator<Entry> CREATOR = new Creator<Entry>() { @Override public Entry createFromParcel(Parcel in) { return new Entry(in); } @Override public Entry[] newArray(int size) { return new Entry[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(title); dest.writeString(url); dest.writeString(published2); dest.writeString(originalRawImageUrls); dest.writeString(originalThumbnailUrls); dest.writeString(uploadedRawImageUrls); dest.writeString(uploadedThumbnailUrls); dest.writeString(memberName); dest.writeString(memberImageUrl); } }