Code cleanup, added FIXMEs for bigger issues.

This commit is contained in:
akwizgran
2016-07-30 16:37:10 +01:00
parent d8272d875b
commit 1bfa1016b4
5 changed files with 33 additions and 21 deletions

View File

@@ -21,7 +21,6 @@ import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.MessageId;
import java.util.Collection;
import java.util.logging.Logger;
import javax.inject.Inject;
@@ -38,8 +37,6 @@ public class BlogActivity extends BriarActivity implements BlogPostListener,
static final String IS_NEW_BLOG = "briar.IS_NEW_BLOG";
private static final String BLOG_PAGER_ADAPTER = "briar.BLOG_PAGER_ADAPTER";
private static final Logger LOG =
Logger.getLogger(BlogActivity.class.getName());
private ProgressBar progressBar;
private ViewPager pager;

View File

@@ -7,14 +7,14 @@ import org.briarproject.android.controller.handler.ResultHandler;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.MessageId;
import java.util.TreeSet;
import java.util.SortedSet;
public interface BlogController extends ActivityLifecycleController {
void loadBlog(final GroupId groupId, final boolean reload,
final ResultHandler<Boolean> resultHandler);
void loadBlog(GroupId groupId, boolean reload,
ResultHandler<Boolean> resultHandler);
TreeSet<BlogPostItem> getBlogPosts();
SortedSet<BlogPostItem> getBlogPosts();
@Nullable
BlogPostItem getBlogPost(MessageId postId);
@@ -22,10 +22,10 @@ public interface BlogController extends ActivityLifecycleController {
@Nullable
MessageId getBlogPostId(int position);
void deleteBlog(final ResultHandler<Boolean> resultHandler);
void deleteBlog(ResultHandler<Boolean> resultHandler);
interface BlogPostListener {
void onBlogPostAdded(final BlogPostItem post, final boolean local);
void onBlogPostAdded(BlogPostItem post, boolean local);
}
}

View File

@@ -19,6 +19,7 @@ import org.briarproject.api.sync.MessageId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.logging.Logger;
@@ -42,6 +43,7 @@ public class BlogControllerImpl extends DbControllerImpl
private volatile BlogPostListener listener;
private volatile GroupId groupId = null;
// FIXME: This collection isn't thread-safe, isn't updated atomically
private volatile TreeSet<BlogPostItem> posts = null;
@Inject
@@ -81,9 +83,11 @@ public class BlogControllerImpl extends DbControllerImpl
LOG.info("New blog post added");
if (posts == null) {
LOG.info("Posts have not loaded, yet");
// FIXME: Race condition, new post may not get loaded
return;
}
final BlogPostHeader header = m.getHeader();
// FIXME: Don't make blocking calls in event handlers
try {
final byte[] body = blogManager.getPostBody(header.getId());
final BlogPostItem post = new BlogPostItem(header, body);
@@ -112,7 +116,6 @@ public class BlogControllerImpl extends DbControllerImpl
public void loadBlog(final GroupId g, final boolean reload,
final ResultHandler<Boolean> resultHandler) {
LOG.info("Loading blog...");
runOnDbThread(new Runnable() {
@Override
public void run() {
@@ -132,8 +135,7 @@ public class BlogControllerImpl extends DbControllerImpl
posts.addAll(newPosts);
long duration = System.currentTimeMillis() - now;
if (LOG.isLoggable(INFO))
LOG.info("Post header load took " + duration +
" ms");
LOG.info("Loading blog took " + duration + " ms");
}
resultHandler.onResult(true);
} catch (DbException e) {
@@ -147,7 +149,7 @@ public class BlogControllerImpl extends DbControllerImpl
@Override
@Nullable
public TreeSet<BlogPostItem> getBlogPosts() {
public SortedSet<BlogPostItem> getBlogPosts() {
return posts;
}