From bd91399621238354aed40462ed704e84c06e24a1 Mon Sep 17 00:00:00 2001 From: Floens Date: Tue, 19 May 2015 23:41:46 +0200 Subject: [PATCH] Only update some op fields instead of the while thing. --- .../chan/core/net/ChanReaderRequest.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java index 6ca1f964..f634dac5 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java +++ b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java @@ -331,19 +331,27 @@ public class ChanReaderRequest extends JsonReaderRequest> { } reader.endObject(); - Post cachedResult = null; - // Do not cache OPs to make sure the archived, replies etc. are updated - if (post.resto != 0) { - for (Post possibleCached : cached) { - if (possibleCached.no == post.no) { - cachedResult = possibleCached; - break; + Post cached = null; + for (Post item : this.cached) { + if (item.no == post.no) { + cached = item; + + if (post.resto == 0) { + // Update OP fields + cached.sticky = post.sticky; + cached.closed = post.closed; + cached.archived = post.archived; + cached.replies = post.replies; + cached.images = post.images; + cached.uniqueIps = post.uniqueIps; } + + break; } } - if (cachedResult != null) { - return cachedResult; + if (cached != null) { + return cached; } else { if (!post.finish()) { throw new IOException("Incorrect data about post received.");