These counters are already reset when the user clicks the notification
or vists the area of the app the notifications are for.
This also removes a potential intent hijacking vulnerability.
Remove code for collapsing threads and for reply count
Besides removing lots of code, this MR also improves the encapsulation between adapter and view holders.
Closes#478, #502, #526, #682, #683, #835, #836
See merge request !477
New Forum Sharing Client
This is very similar to how the private group invitations work and I am sure there's still some tiny bugs that I didn't catch.
All existing integration tests either pass or have been modified to pass.
Once this has been merged, the code should be usable for blog sharing as well.
Closes#475
See merge request !467
and a corresponding method for fragments that calls through to the activity.
For now, the method just finishes the activity
and NavDrawerActivity overrides it to do nothing,
and all the error places marked with TODO that finish the activity call the method instead.
That gives us zero functional improvement over the status quo,
but it allows us to change the default behaviour easily,
and then we can start thinking about which cases should have non-default behaviour.
Show open button in private conversation after accepting invitations
To keep the implementation simple, the Open button does appear where the Accept button had been previously.
In order to make the Open button functional, I had to make the `GroupId` of the invitation target available to the UI. Most code in this MR is due to that.

Closes#793
See merge request !457
Add creator and online information to group member list


Closes#813
See merge request !448
Add sharing info to ForumActivity action bar subtitle
This indirectly does also most of the work for adding the same information to private groups. However, completing this is blocked by !448.

Second part of #646
See merge request !451
Fix Sharing Status screens
* Remove distinction between "shared with" and "shared by"
* Show all contacts a blog is shared with
* Show online status of contacts in sharing screen

Closes#810
See merge request !445
* Remove distinction between "shared with" and "shared by"
* Show all contacts a blog is shared with
* Show online status of contacts in sharing screen
Ensure key agreement tasks finish if they ignore interrupts
The problem here was that `BluetoothSocket#connect()` was throwing an IOException when the task was interrupted - the task treated this like any other connection failure and retried, so the task never finished.
The fix is to check whether the timeout has expired before retrying, so the task eventually finishes even if it ignores the original interrupt.
Closes#283
See merge request !443
* Add a string label argument to CryptoComponent#hash()
* Convert DoubleDigest from implementing MessageDigest
to implementing org.spongycastle.crypto.Digest
(we need to keep DoubleDigest for FortunaGenerator)
* Convert all other uses of MessageDigest to CryptoComponent#hash()
* Remove CryptoComponent#getMessageDigest(), MessageDigest and DigestWrapper
This wasn't as simple as changing the persona in the XML,
because the same layout is used for a post whether reblogged or not.
So the persona needs to be changed programmatically for reblogged posts.
For this, the `AuthorView#setPersona()` method has been made public and
was changed to always set all views into the desired state to support
usage in a RecyclerView.
Remove old signature class from API
I decided not to remove the SignatureImpl class, as it's not a trivial wrapper around the Bouncy Castle class, but I moved the interface into briar-core and made it package-private.
Closes#763
See merge request !424