From 4c6f68c255ac47edcc3952e281c34e088f790cc7 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 21 Mar 2019 09:59:33 -0300 Subject: [PATCH] [android] optimize method to update unread counts --- .../android/threaded/ThreadScrollListener.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadScrollListener.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadScrollListener.java index 1091d507c..d8af8a354 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadScrollListener.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadScrollListener.java @@ -61,14 +61,15 @@ class ThreadScrollListener setUnreadButtons(0, 0); return; } - int unreadCounterFirst = 0, unreadCounterLast = 0; - for (int i = 0; i < count; i++) { + int unreadCounterFirst = 0; + for (int i = 0; i < firstVisible; i++) { I item = requireNonNull(adapter.getItemAt(i)); - if (i < firstVisible && !item.isRead()) { - unreadCounterFirst++; - } else if (i > lastVisible && !item.isRead()) { - unreadCounterLast++; - } + if (!item.isRead()) unreadCounterFirst++; + } + int unreadCounterLast = 0; + for (int i = lastVisible + 1; i < count; i++) { + I item = requireNonNull(adapter.getItemAt(i)); + if (!item.isRead()) unreadCounterLast++; } setUnreadButtons(unreadCounterFirst, unreadCounterLast); }