From 66d78b6602d2c5199a743012abfcdddfe0091c11 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 29 Apr 2013 22:59:12 +0400 Subject: implement duplicate checking for headlinesrequest --- src/org/fox/ttrss/types/ArticleList.java | 8 ++++++++ src/org/fox/ttrss/util/HeadlinesRequest.java | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/org/fox/ttrss/types/ArticleList.java b/src/org/fox/ttrss/types/ArticleList.java index 5fe36d95..fe70a15c 100644 --- a/src/org/fox/ttrss/types/ArticleList.java +++ b/src/org/fox/ttrss/types/ArticleList.java @@ -44,6 +44,14 @@ public class ArticleList extends ArrayList
implements Parcelable { readFromParcel(in); } + public boolean containsId(int id) { + for (Article a : this) { + if (a.id == id) + return true; + } + return false; + } + @SuppressWarnings("rawtypes") public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { diff --git a/src/org/fox/ttrss/util/HeadlinesRequest.java b/src/org/fox/ttrss/util/HeadlinesRequest.java index 9ad5ef91..8f0814c5 100644 --- a/src/org/fox/ttrss/util/HeadlinesRequest.java +++ b/src/org/fox/ttrss/util/HeadlinesRequest.java @@ -11,6 +11,7 @@ import org.fox.ttrss.types.Article; import org.fox.ttrss.types.ArticleList; import android.content.Context; +import android.util.Log; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -48,8 +49,9 @@ public class HeadlinesRequest extends ApiRequest { if (m_articles.get(m_articles.size()-1).id == -1) m_articles.remove(m_articles.size()-1); // remove previous placeholder - for (Article f : articles) - m_articles.add(f); + for (Article f : articles) + if (!m_articles.containsId(f.id)) + m_articles.add(f); if (articles.size() == HEADLINES_REQUEST_SIZE) { Article placeholder = new Article(-1); -- cgit v1.2.3-54-g00ecf