From b13bf661658452611123522dea8d2a70ca51f359 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 13 May 2016 15:36:49 -0300 Subject: [PATCH] Add a new activity that shows sharing status of forum The new activity shows who you are sharing a forum with and who shares a forum with you. It is accessible from the overflow menu when in a forum. Closes #398 --- .../ForumSharingIntegrationTest.java | 13 +- briar-android/AndroidManifest.xml | 10 ++ .../layout/activity_forum_sharing_status.xml | 48 +++++ .../res/layout/list_item_contact_small.xml | 32 ++++ briar-android/res/menu/forum_actions.xml | 5 + briar-android/res/values/color.xml | 1 + briar-android/res/values/dimens.xml | 1 + briar-android/res/values/strings.xml | 4 + briar-android/res/values/styles.xml | 2 +- .../android/ActivityComponent.java | 3 + .../android/contact/ContactListItem.java | 2 +- .../android/forum/ForumActivity.java | 12 +- .../forum/ForumSharingStatusActivity.java | 169 ++++++++++++++++++ .../forum/ForumSharingStatusAdapter.java | 36 ++++ .../android/util/BriarRecyclerView.java | 5 +- .../api/forum/ForumSharingManager.java | 2 +- .../forum/ForumSharingManagerImpl.java | 6 +- 17 files changed, 334 insertions(+), 17 deletions(-) create mode 100644 briar-android/res/layout/activity_forum_sharing_status.xml create mode 100644 briar-android/res/layout/list_item_contact_small.xml create mode 100644 briar-android/src/org/briarproject/android/forum/ForumSharingStatusActivity.java create mode 100644 briar-android/src/org/briarproject/android/forum/ForumSharingStatusAdapter.java diff --git a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java b/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java index bfbdf5c8c..87cfec097 100644 --- a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java +++ b/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java @@ -273,8 +273,9 @@ public class ForumSharingIntegrationTest extends BriarTestCase { assertTrue(forumManager1.getForums().contains(forum0)); // sharer shares forum with invitee + Contact c1 = contactManager0.getContact(contactId1); assertTrue(forumSharingManager0.getSharedWith(forum0.getId()) - .contains(contactId1)); + .contains(c1)); // invitee gets forum shared by sharer Contact contact0 = contactManager1.getContact(contactId1); assertTrue(forumSharingManager1.getSharedBy(forum0.getId()) @@ -292,12 +293,11 @@ public class ForumSharingIntegrationTest extends BriarTestCase { // sharer no longer shares forum with invitee assertFalse(forumSharingManager0.getSharedWith(forum0.getId()) - .contains(contactId1)); + .contains(c1)); // invitee no longer gets forum shared by sharer assertFalse(forumSharingManager1.getSharedBy(forum0.getId()) .contains(contact0)); // forum can be shared again - Contact c1 = contactManager0.getContact(contactId1); assertTrue(forumSharingManager0.canBeShared(forum0.getId(), c1)); Contact c0 = contactManager1.getContact(contactId0); assertTrue(forumSharingManager1.canBeShared(forum0.getId(), c0)); @@ -333,8 +333,9 @@ public class ForumSharingIntegrationTest extends BriarTestCase { assertTrue(forumManager1.getForums().contains(forum0)); // sharer shares forum with invitee + Contact c1 = contactManager0.getContact(contactId1); assertTrue(forumSharingManager0.getSharedWith(forum0.getId()) - .contains(contactId1)); + .contains(c1)); // invitee gets forum shared by sharer Contact contact0 = contactManager1.getContact(contactId1); assertTrue(forumSharingManager1.getSharedBy(forum0.getId()) @@ -351,13 +352,13 @@ public class ForumSharingIntegrationTest extends BriarTestCase { assertEquals(1, forumManager1.getForums().size()); // invitee no longer shares forum with sharer + Contact c0 = contactManager1.getContact(contactId0); assertFalse(forumSharingManager1.getSharedWith(forum0.getId()) - .contains(contactId0)); + .contains(c0)); // sharer no longer gets forum shared by invitee assertFalse(forumSharingManager1.getSharedBy(forum0.getId()) .contains(contact0)); // forum can be shared again - Contact c0 = contactManager1.getContact(contactId0); assertTrue(forumSharingManager1.canBeShared(forum0.getId(), c0)); } finally { stopLifecycles(); diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml index bce061cef..025e452b2 100644 --- a/briar-android/AndroidManifest.xml +++ b/briar-android/AndroidManifest.xml @@ -149,6 +149,16 @@ /> + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/briar-android/res/layout/list_item_contact_small.xml b/briar-android/res/layout/list_item_contact_small.xml new file mode 100644 index 000000000..c6cdd0e97 --- /dev/null +++ b/briar-android/res/layout/list_item_contact_small.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file diff --git a/briar-android/res/menu/forum_actions.xml b/briar-android/res/menu/forum_actions.xml index 292fe2b9c..599529b50 100644 --- a/briar-android/res/menu/forum_actions.xml +++ b/briar-android/res/menu/forum_actions.xml @@ -15,6 +15,11 @@ android:title="@string/forum_share_button" app:showAsAction="ifRoom"/> + + @color/briar_accent + #c1c1c1 #000000 #ffffff #FFFFFF diff --git a/briar-android/res/values/dimens.xml b/briar-android/res/values/dimens.xml index 392bb9885..5ca081c56 100644 --- a/briar-android/res/values/dimens.xml +++ b/briar-android/res/values/dimens.xml @@ -26,6 +26,7 @@ 56dp 68dp 48dp + 23dp 50dp 40dp 32dp diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml index 447d3dc6a..0e01dde61 100644 --- a/briar-android/res/values/strings.xml +++ b/briar-android/res/values/strings.xml @@ -80,6 +80,7 @@ Show Leave Forum Left Forum + Sharing Status No posts no unread posts @@ -109,6 +110,9 @@ Joined Forum Forum Invitation Declined Shared by %s + Shared by + Shared with + Nobody You don\'t have any contacts. Add a contact now? Add Cancel diff --git a/briar-android/res/values/styles.xml b/briar-android/res/values/styles.xml index d0a190b9f..abb3e2457 100644 --- a/briar-android/res/values/styles.xml +++ b/briar-android/res/values/styles.xml @@ -93,7 +93,7 @@