Make use of Existing Translations
Adds first translations to source code and sets up transifex config
file. Pull more translations later with:
```bash
cd briar-android
tx pull --mode=developer
```
Closes#448

See merge request !226
Adds first translations to source code and sets up transifex config
file. Pull more translations later with:
cd briar-android
tx pull --mode=developer
Closes#448
Separate Date and Author Name in Forum Posts
This also fixes the issue there the trust indicator was shown at the top on some devices.

Closes#442
See merge request !227
Fix IdentityManager hooks
This commit makes sure that there is only one identity manager that is
initialized early enough so hooks can be added properly.
Closes#446
See merge request !225
Backend for Automatic Micro Blogs
This MR introduces automatic personal blogs to the Blog client. When a contact is added, her personal blog will also be added automatically. Also, when a new identity is added, a personal blog for that identity is created.
The first commit changes the blog paradigm to short-form blogs and introduces other things that will be useful later in the UI (!214) such as a BlogPostAdded event and the possibility to delete/remove blogs (not the personal ones).
This MR is based on !224 to prevent crashes that are fixed by it. So please review and merge !224 first.
See merge request !223
When a contact is added, her personal blog will also be added automatically.
Also, when a new identity is added, a personal blog for that identity is created.
Part of #436
Removes teaser and makes body mandatory.
It also adds support for deleting blogs and
introduces a getAuthorStatus() method to the IdentityManager
that takes a running transaction.
Forum improvements
Forum Activity improvements:
* Orientation changes now restore the activity properly, e.g. input text and state is retained
* Snack bar is now, when appropriate, clickable
* The bottom divider is no longer visible for the bottom entry
* Code refactoring for improved simplicity and less redundancy
* Timestamp check to ensure that new posts are not older than the latest post
Closes#426Closes#423Closes#424
See merge request !218
Fixing fragment instance restore
Alas, it turns out that my neat way of integrating the Fragments into the dependency graph was not without problems. Me and @grote discovered that this presented us with a lot of problems on orientation changes as the Activity is re-created, and therefore parts of the dependency graph. The simplest solution was simply to abandon the idea, i.e. with this branch Fragments are no longer part of the dependency graph.
See merge request !215
Blog Client with Factories and Validator
This implements a simple initial blog client that covers the basic blog actions, but no deletion/removal of blogs, yet.
Classes for Blogs and Blog Post Headers have been introduced along with the associated factories.
A `BlogPostValidator` has been added that validates incoming blog posts.
Closes#402Closes#404
See merge request !212
New Trust Level Indicator Replaces The Stars
This implements a generic `TrustIndicatorView` with a `setTrustLevel()`
method which updates the drawable according to the `Author.State`.
It also removes unused files from the repo.
This is based on !212 and should only be merged after it.
Closes#78
See merge request !217
This implements a simple initial blog client that covers the basic blog
actions, but no deletion/removal of blogs, yet.
Classes for Blogs and Blog Post Headers have been introduced along with
the associated factories.
A `BlogPostValidator` has been added that validates incoming blog posts.
Closes#402Closes#404
Fix NPE in ForumSharingStatusActivity by only accessing group in contact list
Only access group in contact list where it is guaranteed to exist.
Closes#430
See merge request !211
Client layer events for messaging
Adds and uses a new `PrivateMessageReceivedEvent` and eliminate the need for an event for adding local messages. Both done in separate commits.
This addresses part of #309
See merge request !208
Address Race-Condition in Forum Sharing
When Two Contacts Share Same Forum with each other at the same time a race condition causes them both to delete each other's invitation. This is solved by an Alice/Bob test as suggested in #388.
See merge request !205
Adds badges to the forum list that indicate unread posts
This MR adds badges to the forum list that indicate unread posts. It does so by extending the compound view `TextAvatarView` and provides convenient setters that take care of the required UI changes. The new badge can also be used to indicate a problem with the forum.

I decided not to check if the forum is shared from someone or with someone and indicate a problem in this case, because this requires iterating two times over all contacts and their group metadata for each forum. If someone considers it important to check for this information, we can create a ticket for doing this within the forum and not in the forum list.
See merge request !207
Blog Fragment in Navigation Drawer with Tabs
This replaces the custom layouts in the navigation drawer with a
`NavigationView` and adds a menu entry for Blogs.
A Main Blogs fragment is added that holds a `TabLayout` and a
`ViewPager`. Five tabs are already added, but they just have a single
placeholder fragment that is to be replaced by the actual fragments.
Please note that the header in the navigation drawer is just provisional. I am sure @Megalox can design a better one.


Closes#409
See merge request !210
This replaces the custom layouts in the navigation drawer with a
`NavigationView` and adds a menu entry for Blogs.
A Main Blogs fragment is added that holds a `TabLayout` and a
`ViewPager`. Five tabs are already added, but they just have a single
placeholder fragment that is to be replaced by the actual fragments.
Closes#409
It does so by extending the compound view `TextAvatarView` and provides
convienient setters that take care of the required UI changes.
The new badge can also be used to indicate a problem with the forum.
Closes#408
122 threaded discussions
This branch contains the complete code for the nested forums (UI & back-end).
* This branch has an optional randomized set of dummy test data, uncomment one line in ForumActivity.java and then open up any forum.
See merge request !201
Message Dependencies
This MR adds a new table to the database to hold message dependencies.
It introduces two more message states (pending and delivered) and completely changes the validation and message delivery logic.
Since this is a **very invasive** change, please **review carefully**. It is better to catch issues now than having to debug things later. If you notice an area without tests, please let me know. I tried to have tests for all changes.
Unfortunately, this MR turned out rather large, but most of it are actually tests and you can review one commit after the other without needing to see the full changelog.
In order to reflect the new states, things that were previously true for `VALID` messages have been changed to now be true for `DELIVERED` messages. This might have changed the semantics in some places and can have unindented side-effects.
The `DatabaseComponent` was extended with methods for:
* adding dependencies
* getting dependencies and states of a message
* getting messages that depend on a message (dependents) and their states
* getting messages to be delivered (by startup hook)
* getting pending messages to be possibly delivered (by startup hook)
The `valid` column in the database was renamed to `state` along with the associated methods to better reflect its new extended meaning.
Since pending messages should not be available to clients, many database queries have been modified to only return results for delivered messages. I might have missed some. Please check carefully. Also you might want to think about how you could create arbitrarily large transactions by sending malicious messages.
Please note that the database version was bumped in this MR.
Closes#382
See merge request !198