diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java index 4c391f7fb7bbc3d20e130e7595357a444df87d07..712a7f3fe24714519c2541c9d44fe0a83ed6d6c8 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java @@ -307,7 +307,7 @@ public class ForumActivity extends BriarActivity implements private final List<ForumEntry> forumEntries; // highlight not depandant on time private ForumEntry replyEntry; -// temporary highlight + // temporary highlight private ForumEntry addedEntry; public ForumAdapter(@NonNull List<ForumEntry> forumEntries) { @@ -334,6 +334,7 @@ public class ForumActivity extends BriarActivity implements isShowingDescendants = true; showDescendants(higherEntry); } + notifyItemChanged(getVisiblePos(higherEntry)); break; } } @@ -359,8 +360,9 @@ public class ForumActivity extends BriarActivity implements return false; } - private boolean hasVisibleDescendants(int visiblePos) { - int levelLimit = forumEntries.get(visiblePos).getLevel(); + private boolean hasVisibleDescendants(ForumEntry forumEntry) { + int visiblePos = getVisiblePos(forumEntry); + int levelLimit = forumEntry.getLevel(); for (int i = visiblePos + 1; i < getItemCount(); i++) { ForumEntry entry = getVisibleEntry(i); if (entry.getLevel() <= levelLimit) @@ -525,7 +527,7 @@ public class ForumActivity extends BriarActivity implements if (hasDescendants(data)) { ui.chevron.setVisibility(VISIBLE); - if (hasVisibleDescendants(position)) { + if (hasVisibleDescendants(data)) { ui.chevron.setSelected(false); } else { ui.chevron.setSelected(true); @@ -566,7 +568,7 @@ public class ForumActivity extends BriarActivity implements } setReplyEntry(data); linearLayoutManager - .scrollToPositionWithOffset(position, 0); + .scrollToPositionWithOffset(getVisiblePos(data), 0); } }); }