package org.wordpress.android.models; import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; public class ReaderRecommendBlogList extends ArrayList<ReaderRecommendedBlog> { @Override public Object clone() { return super.clone(); } public static ReaderRecommendBlogList fromJson(JSONObject json) { ReaderRecommendBlogList blogs = new ReaderRecommendBlogList(); if (json == null) { return blogs; } JSONArray jsonBlogs = json.optJSONArray("blogs"); if (jsonBlogs != null) { for (int i = 0; i < jsonBlogs.length(); i++) blogs.add(ReaderRecommendedBlog.fromJson(jsonBlogs.optJSONObject(i))); } return blogs; } private int indexOfBlogId(long blogId) { for (int i = 0; i < size(); i++) { if (this.get(i).blogId == blogId) return i; } return -1; } public boolean isSameList(ReaderRecommendBlogList blogs) { if (blogs == null || blogs.size() != this.size()) { return false; } for (ReaderRecommendedBlog blog: blogs) { int index = indexOfBlogId(blog.blogId); if (index == -1 || !this.get(index).isSameAs(blog)) { return false; } } return true; } }