From 6d7e0aab07014922a59ecc33bae4a3673165d9d5 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 16 Aug 2016 18:11:09 -0300 Subject: [PATCH] Reblogging and Comment UI --- .../org/briarproject/BlogManagerTest.java | 18 +- briar-android/AndroidManifest.xml | 11 + briar-android/res/drawable/bubble_white.xml | 17 ++ ...on.xml => activity_fragment_container.xml} | 2 +- briar-android/res/layout/author_view.xml | 22 +- .../res/layout/fragment_reblog_dialog.xml | 46 ++++ .../res/layout/list_item_blog_comment.xml | 36 +++ .../res/layout/list_item_blog_post.xml | 88 ++++-- briar-android/res/menu/blogs_blog_actions.xml | 15 +- .../res/menu/blogs_my_blog_actions.xml | 12 - briar-android/res/values/attrs.xml | 9 + briar-android/res/values/dimens.xml | 4 + briar-android/res/values/strings.xml | 5 +- briar-android/res/values/styles.xml | 1 - .../android/ActivityComponent.java | 10 +- .../android/BriarFragmentActivity.java | 4 +- .../android/NavDrawerActivity.java | 6 +- .../android/blogs/BaseController.java | 39 +++ .../android/blogs/BaseControllerImpl.java | 250 ++++++++++++++++++ .../android/blogs/BlogActivity.java | 15 +- .../android/blogs/BlogCommentItem.java | 63 +++++ .../android/blogs/BlogController.java | 12 +- .../android/blogs/BlogControllerImpl.java | 162 ++---------- .../android/blogs/BlogFragment.java | 69 +++-- .../android/blogs/BlogListAdapter.java | 5 - .../android/blogs/BlogPostAdapter.java | 52 +--- .../android/blogs/BlogPostFragment.java | 10 +- .../android/blogs/BlogPostItem.java | 30 ++- .../android/blogs/BlogPostViewHolder.java | 142 ++++++++++ .../android/blogs/BlogsFragment.java | 118 --------- .../android/blogs/CreateBlogActivity.java | 4 - .../android/blogs/FeedController.java | 17 +- .../android/blogs/FeedControllerImpl.java | 99 ++----- .../android/blogs/FeedFragment.java | 81 +++--- .../android/blogs/MyBlogsFragment.java | 169 ------------ .../android/blogs/ReblogActivity.java | 73 +++++ .../android/blogs/ReblogFragment.java | 196 ++++++++++++++ .../android/fragment/BaseFragment.java | 4 + .../introduction/IntroductionActivity.java | 6 +- .../keyagreement/ShowQrCodeFragment.java | 4 +- .../briarproject/android/util/AuthorView.java | 81 +++++- .../android/util/TrustIndicatorView.java | 3 + .../briarproject/api/blogs/BlogManager.java | 2 +- .../briarproject/blogs/BlogManagerImpl.java | 9 +- 44 files changed, 1274 insertions(+), 747 deletions(-) create mode 100644 briar-android/res/drawable/bubble_white.xml rename briar-android/res/layout/{activity_introduction.xml => activity_fragment_container.xml} (82%) create mode 100644 briar-android/res/layout/fragment_reblog_dialog.xml create mode 100644 briar-android/res/layout/list_item_blog_comment.xml delete mode 100644 briar-android/res/menu/blogs_my_blog_actions.xml create mode 100644 briar-android/src/org/briarproject/android/blogs/BaseController.java create mode 100644 briar-android/src/org/briarproject/android/blogs/BaseControllerImpl.java create mode 100644 briar-android/src/org/briarproject/android/blogs/BlogCommentItem.java create mode 100644 briar-android/src/org/briarproject/android/blogs/BlogPostViewHolder.java delete mode 100644 briar-android/src/org/briarproject/android/blogs/BlogsFragment.java delete mode 100644 briar-android/src/org/briarproject/android/blogs/MyBlogsFragment.java create mode 100644 briar-android/src/org/briarproject/android/blogs/ReblogActivity.java create mode 100644 briar-android/src/org/briarproject/android/blogs/ReblogFragment.java diff --git a/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java b/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java index e2893714d..3bfaae9a2 100644 --- a/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java +++ b/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java @@ -32,7 +32,6 @@ import org.briarproject.lifecycle.LifecycleModule; import org.briarproject.properties.PropertiesModule; import org.briarproject.sync.SyncModule; import org.briarproject.transport.TransportModule; -import org.briarproject.util.StringUtils; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -60,7 +59,6 @@ import static org.briarproject.api.sync.ValidationManager.State.DELIVERED; import static org.briarproject.api.sync.ValidationManager.State.INVALID; import static org.briarproject.api.sync.ValidationManager.State.PENDING; import static org.briarproject.api.sync.ValidationManager.State.VALID; -import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -193,8 +191,7 @@ public class BlogManagerTest { assertEquals(1, headers0.size()); // check that body is there - assertArrayEquals(StringUtils.toUtf8(body), - blogManager0.getPostBody(p.getMessage().getId())); + assertEquals(body, blogManager0.getPostBody(p.getMessage().getId())); // make sure that blog0 at author1 doesn't have the post yet Collection headers1 = @@ -211,8 +208,7 @@ public class BlogManagerTest { assertEquals(POST, headers1.iterator().next().getType()); // check that body is there - assertArrayEquals(StringUtils.toUtf8(body), - blogManager1.getPostBody(p.getMessage().getId())); + assertEquals(body, blogManager1.getPostBody(p.getMessage().getId())); stopLifecycles(); } @@ -334,8 +330,7 @@ public class BlogManagerTest { assertEquals(author0, h.getParent().getAuthor()); // ensure that body can be retrieved from wrapped post - assertArrayEquals(StringUtils.toUtf8(body), - blogManager0.getPostBody(h.getParentId())); + assertEquals(body, blogManager0.getPostBody(h.getParentId())); // 1 has only their own comment in their blog headers1 = blogManager1.getPostHeaders(blog1.getId()); @@ -375,6 +370,13 @@ public class BlogManagerTest { Collection headers1 = blogManager1.getPostHeaders(blog0.getId()); assertEquals(2, headers1.size()); + for (BlogPostHeader h : headers1) { + if (h.getType() == POST) { + assertEquals(body, blogManager1.getPostBody(h.getId())); + } else { + assertEquals(comment, ((BlogCommentHeader)h).getComment()); + } + } stopLifecycles(); } diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml index 0ce2865ec..5da35cdf4 100644 --- a/briar-android/AndroidManifest.xml +++ b/briar-android/AndroidManifest.xml @@ -211,6 +211,17 @@ /> + + + + + + + + + + + + + + diff --git a/briar-android/res/layout/activity_introduction.xml b/briar-android/res/layout/activity_fragment_container.xml similarity index 82% rename from briar-android/res/layout/activity_introduction.xml rename to briar-android/res/layout/activity_fragment_container.xml index f351897d0..e6c20760f 100644 --- a/briar-android/res/layout/activity_introduction.xml +++ b/briar-android/res/layout/activity_fragment_container.xml @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/briar-android/res/layout/author_view.xml b/briar-android/res/layout/author_view.xml index 2f4a33564..405376fac 100644 --- a/briar-android/res/layout/author_view.xml +++ b/briar-android/res/layout/author_view.xml @@ -7,11 +7,25 @@ + + diff --git a/briar-android/res/layout/fragment_reblog_dialog.xml b/briar-android/res/layout/fragment_reblog_dialog.xml new file mode 100644 index 000000000..28b59e7b9 --- /dev/null +++ b/briar-android/res/layout/fragment_reblog_dialog.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + +