Commit Graph

6252 Commits

Author SHA1 Message Date
akwizgran eaf17c054f Moved common fields to superclass. 2016-11-16 16:39:30 +00:00
Torsten Grote f97f30ce42 Merge branch '756-avoid-lost-messages' into 'master'
Use new group visibility state to avoid lost messages

Depends on !410. Closes #756.

See merge request !411
2016-11-16 16:22:30 +00:00
akwizgran f4c26d9cc7 Remove unnecessary unmodifiable collection wrappers. 2016-11-16 16:19:47 +00:00
akwizgran 68abf8ba1a Merge branch '756-group-visibility' into 'master'
Add third group visibility state

This branch adds a third group visibility state: each group is either invisible, visible, or shared with respect to each contact.

Invisible means that the contact doesn't see any sign that we subscribe to the group. Visible means that the contact can send us messages in the group, but we won't send the contact messages in the group. Shared means that the contact can send us messages in the group and we'll send the contact any shared messages in the group.

This is a preparatory step for #756. I'll put up another MR with the changes that close that ticket.

See merge request !410
2016-11-16 15:56:37 +00:00
akwizgran 58f6af513d Use new group visibility state to avoid lost messages. #756 2016-11-16 15:50:07 +00:00
akwizgran c9170fa5a0 Removed unnecessary use of unmodifiable collections. 2016-11-16 15:48:08 +00:00
akwizgran ec1f4dccdb Added third group visibility state. 2016-11-16 15:40:51 +00:00
akwizgran 8c3b598ab2 Unit tests for ForumSharingValidator. 2016-11-16 15:35:27 +00:00
akwizgran bd3bba6e8a Unit tests for ForumPostValidator. 2016-11-16 14:36:22 +00:00
akwizgran 11fcad89c6 Unit tests for BdfMessageValidator. 2016-11-16 14:32:22 +00:00
Torsten Grote 007df4288b Merge branch '709-track-private-group-invitation-messages' into 'master'
Use MessageTracker for private group invitation messages

Depends on !405.

See merge request !412
2016-11-16 14:14:48 +00:00
Torsten Grote 9798654c23 Merge branch 'message-tracker-refactoring' into 'master'
Factor MessageTracker out of BdfIncomingMessageHook

The branch moves the MessageTracker implementation from BdfIncomingMessageHook to a separate class. This will allow the private group invitation client to track messages from classes other than the one that implements the delivery hook.

I've also fixed a couple of bugs, removed some redundant code from the validation manager, and added null-safety annotations (which is how I noticed the bugs).

See merge request !405
2016-11-16 14:04:14 +00:00
akwizgran 7b58d003a1 Merge branch '732-reveal-contacts-ui-join-notices' into 'master'
Add visibility and OPTIONS button to private group join notices

![device-2016-11-11-180658](/uploads/e00d175a1e1f34307c5f0d80fa0d1cdf/device-2016-11-11-180658.png)
![device-2016-11-11-181325](/uploads/0f6010094d529a4f151db8ebce974885/device-2016-11-11-181325.png)

Closes #732

See merge request !408
2016-11-16 13:44:32 +00:00
akwizgran b60f6b0789 Merge branch '755-group-message-timestamp' into 'master'
Made private group timestamp greater than that of latest message

I did not change `getPreviousMsgId()` to `getPreviousMsgHeader()` because there doesn't seem to be a need for it anymore.

Closes #755

See merge request !409
2016-11-16 13:29:59 +00:00
Torsten Grote 914b72505a Made private group timestamp greater than that of latest message 2016-11-16 11:20:25 -02:00
Torsten Grote 24dd4fda69 Address review issues 2016-11-16 11:08:00 -02:00
akwizgran 52eb261a11 Unit tests for PrivateMessageValidator. 2016-11-16 11:49:49 +00:00
Torsten Grote 980a6d18bb Add visibility and OPTIONS button to private group join notices 2016-11-16 09:25:22 -02:00
akwizgran c4a152b543 Merge branch '732-reveal-contacts-ui-onboarding' into 'master'
Add onboarding dialog for revealing contacts screen

This MR is based on !406.

![device-2016-11-11-162417](/uploads/8df831905eebf41ecdbe368890cdd429/device-2016-11-11-162417.png)

See merge request !407
2016-11-14 12:44:41 +00:00
Torsten Grote ed728e816e Add onboarding dialog for revealing contacts screen 2016-11-14 09:14:30 -02:00
akwizgran efbce95399 Merge branch '732-reveal-contacts-ui' into 'master'
Add UI for revealing contacts within a private group

This addresses one part of #732. Join notices and onboarding will follow in separate MRs.

Although this MR is technically not based on !402, it does require it to be merged first to compile.

![device-2016-11-11-160454](/uploads/8cb6d8bdd0f3761657875024739e730a/device-2016-11-11-160454.png)

See merge request !406
2016-11-14 10:48:42 +00:00
akwizgran 98c81f71b4 Merge branch '709-reveal-relationships' into 'master'
Mark relationship visible when syncing group with peer

This branch updates the private group invitation protocol to use @grote's new method for marking a contact relationship visible to the group.

I've changed the method slightly because the protocol state machine allows us to leave and re-enter the BOTH_JOINED state (see diagram on #659), so the relationship may already be visible when the method is called. In that case the visibility isn't updated, so we stick with whichever of revealed-by-us and revealed-by-contact happened first.

See merge request !402
2016-11-14 10:32:56 +00:00
akwizgran da543c1004 Added javadocs, removed redundant exception. 2016-11-14 10:30:38 +00:00
akwizgran 7ab4d12d83 Track private group invitation messages. 2016-11-14 10:10:14 +00:00
Torsten Grote 59964c5087 Add UI for revealing contacts within a private group 2016-11-11 15:40:02 -02:00
Torsten Grote b885e49ba2 Don't indicate that we are sharing with ourselves in group memberlist 2016-11-11 15:40:01 -02:00
akwizgran 63da860681 Merge branch '732-reveal-contacts-ui-preparation' into 'master'
Prepare UI for revealing contacts

This changes the visibility of some methods (that need to be accessed from another package), removes unnecessary abstractions and fixes erroneous static import of GroupId constant.

See merge request !404
2016-11-11 17:33:54 +00:00
akwizgran aa210fc555 Factor MessageTracker out of BdfIncomingMessageHook. 2016-11-11 16:59:10 +00:00
Torsten Grote 68f0e91f32 Prepare UI for revealing contacts
This changes the visibility of some methods, removes unnecessary
abstractions and fixes static import of GroupId constant.
2016-11-11 14:49:26 -02:00
akwizgran 3a2205123f Added a method for revealing a contact to a private group. 2016-11-11 13:49:49 +00:00
akwizgran 2837bde774 Removed blog post pagers 2016-11-11 13:38:04 +00:00
akwizgran 411549dc0a Code cleanup, use correct fragment class. 2016-11-11 13:37:32 +00:00
akwizgran ab16ee7465 Merge branch 'exception-handler' into 'master'
Add new Exception handler

While working on #732 I again needed to use a `UiResultExceptionHandler`  when I actually don't need to return a result. We have some other places in the code like this. So I introduced a `UiExceptionHandler` without the result part and used it where appropriate. While I was touching some classes, I also added the new annotations.

This MR includes another small commit that notifies only on local group messages. Joining a group is a message as well and without this change, you are notified about a new message when you yourself joined your newly created group.

See merge request !403
2016-11-11 13:34:09 +00:00
Torsten Grote eb66924e21 Do not show notification for local group messages 2016-11-11 10:03:03 -02:00
Torsten Grote 563d897651 Introduce Exception handler for when no result needs to be returned
Also add NotNull annotation to classes that were touched
2016-11-11 10:03:02 -02:00
akwizgran 98cf6b5bba Mark relationship visible when syncing group with peer. 2016-11-11 11:29:55 +00:00
akwizgran ade7e50f65 Merge branch 'contact-selector-controller' into 'master'
Add a controller for contact selection lists

See merge request !401
2016-11-11 10:54:07 +00:00
Torsten Grote ccc9d53ac7 Address review comments 2016-11-10 16:49:20 -02:00
Torsten Grote d232529eb3 Add a controller for contact selection lists 2016-11-10 15:33:53 -02:00
akwizgran a532f03784 Merge branch '732-reveal-backennd' into 'master'
Add support for revealing contacts to the PrivateGroupManager

This also adds three integration tests and improves some small details here and there in the private group client.

Prerequisite for #732.

See merge request !396
2016-11-10 17:00:31 +00:00
Torsten Grote 5e5bf7ec05 Add ContactRelationshipRevealedEvent and address review comments 2016-11-10 13:56:42 -02:00
akwizgran 7414abd1ce Merge branch '748-qr-code-payload-order' into 'master'
Preserve the order of descriptors in QR code payloads

This fixes a regression caused by my recent changes to the Payload class.

Closes #748

See merge request !399
2016-11-10 12:21:36 +00:00
Torsten Grote dc76ce2be2 Merge branch '720-camera-surface-illegal-state-exception' into 'master'
Don't crash if camera is reopened or surface is recreated

This branch fixes the crash is described in #720, which can be reproduced easily by scanning a QR code and failing to connect (for example, scan a screenshot of a QR code from a device that's no longer listening). When the camera view becomes visible again after trying to connect, its surfaceCreated() callback is called again with the same surface. An IllegalStateException added in !340 causes the crash.

Closes #720

See merge request !397
2016-11-10 11:12:24 +00:00
Torsten Grote 3eed0bfe81 Add visibility of contact relationship to JoinMessageHeader 2016-11-09 16:35:27 -02:00
Torsten Grote ec8982438a Add support for revealing contacts to the PrivateGroupManager
This also adds two integration tests and improves some small details
2016-11-09 16:34:58 -02:00
akwizgran 501c2dab31 Preserve the order of descriptors in QR code payloads. 2016-11-09 15:57:41 +00:00
akwizgran 2fe69af6d8 Don't try to get parameters after releasing camera. 2016-11-09 14:51:05 +00:00
Torsten Grote b20c107010 Merge branch 'feed-pager-events' into 'master'
Make the feed pager respond to events, block notifications

This branch fixes a bug I found while working on #705: FeedPostPagerFragment doesn't start or stop the controller, so it doesn't load newly received posts or block notifications, unlike FeedFragment.

See merge request !398
2016-11-09 14:16:57 +00:00
akwizgran f410e4eddd Make the feed pager respond to events, block notifications. 2016-11-09 13:24:44 +00:00
akwizgran bb82bd70e2 Don't crash if camera is reopened or surface is recreated. 2016-11-09 12:43:33 +00:00