From 7be17668c10e51021508ef773666c1bdec7558d2 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 4 Aug 2016 19:07:30 -0300 Subject: [PATCH] Fix regression where forum entries were not shown Closes #565 --- .../android/forum/ForumActivity.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java index 610c2b3e6..a87764b1d 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java @@ -111,8 +111,7 @@ public class ForumActivity extends BriarActivity implements recyclerView.setAdapter(forumAdapter); linearLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(linearLayoutManager); - recyclerView.setEmptyText(getString(R.string.no_forum_posts)); - recyclerView.showProgressBar(); + recyclerView.setEmptyText(R.string.no_forum_posts); forumController.loadForum(groupId, new UiResultHandler(this) { @Override @@ -120,13 +119,18 @@ public class ForumActivity extends BriarActivity implements if (result) { Forum forum = forumController.getForum(); if (forum != null) setTitle(forum.getName()); - forumAdapter.setEntries(forumController.getForumEntries()); - if (state != null) { - byte[] replyId = state.getByteArray(KEY_REPLY_ID); - if (replyId != null) - forumAdapter.setReplyEntryById(replyId); + List entries = + forumController.getForumEntries(); + if (entries.isEmpty()) { + recyclerView.showData(); + } else { + forumAdapter.setEntries(entries); + if (state != null) { + byte[] replyId = state.getByteArray(KEY_REPLY_ID); + if (replyId != null) + forumAdapter.setReplyEntryById(replyId); + } } - recyclerView.showData(); } else { // TODO Maybe an error dialog ? finish(); @@ -383,6 +387,7 @@ public class ForumActivity extends BriarActivity implements void setEntries(List entries) { forumEntries.clear(); forumEntries.addAll(entries); + notifyItemRangeInserted(0, entries.size()); } void addEntry(int index, ForumEntry entry, boolean isScrolling) { @@ -494,7 +499,7 @@ public class ForumActivity extends BriarActivity implements return indexList; } - public void showDescendants(ForumEntry forumEntry) { + void showDescendants(ForumEntry forumEntry) { forumEntry.setShowingDescendants(true); int visiblePos = getVisiblePos(forumEntry); List indexList = @@ -509,7 +514,7 @@ public class ForumActivity extends BriarActivity implements } } - public void hideDescendants(ForumEntry forumEntry) { + void hideDescendants(ForumEntry forumEntry) { int visiblePos = getVisiblePos(forumEntry); List indexList = getSubTreeIndexes(visiblePos, forumEntry.getLevel()); @@ -536,7 +541,7 @@ public class ForumActivity extends BriarActivity implements @Nullable - public ForumEntry getVisibleEntry(int position) { + ForumEntry getVisibleEntry(int position) { int levelLimit = UNDEFINED; for (ForumEntry forumEntry : forumEntries) { if (levelLimit >= 0) {