This commit addes a combined blog feed that shows all posts of all
subscribed blogs in the order the blog posts have been received.
For now, this commit also hides other blog functionality like adding
additional blogs and browsing individual blogs.
Closes#417
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
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
This commit introduces an abstract `BaseContactListAdapter` which provides
most of the adapter logic. The original `ContactListAdapter` extends it to
show date and online status of the contacts.
The new `ContactChooserAdapter` which is used for introductions extends
the `ContactListAdapter` and adds logic for graying out contacts from
different identities than the currently used one.
A new `ContactSelectorAdapter` extends the `BaseContactListAdapter` and
allows to select multiple contacts. It offers a method to return a
collection of all selected `ContactId`s.
This commit also sneaks in an animation when the 'Share Forum' button
is clicked.
Closes#292
Overhauled Conversation View with Message Bubbles
The Conversation View now uses a RecyclerView with conversation bubbles
in alternating colors and vector drawables to indicate message state.
The conversation bubbles have been taken from Telegram
and can be replaced by a UX designer later.
There's also a special bubble for unread messages,
so they are not overlooked when they come in delayed.
This commit also addresses #9, because message text can
now be selected and copied. This is done by using
android:textIsSelectable="true"
which only works for API level 11 or higher.
If we want copy and paste on lower API levels,
additional measures have to be implemented.
See merge request !36
The button hides itself when you scroll down the list of contacts
and shows again when you scroll up.
To properly color the button, the accent color has been defined.
It uses the same color as the action bar (primary color).
I leave it to a UX designer to adapt the color scheme.
Please note that the design support library was used.
It includes the app-compat library, so this has been removed
from the `build.gradle` file.
Closes#199
It now uses conversation bubbles in alternating colors
and vector drawables to indicate message state.
The conversation bubbles have been taken from Telegram
and can be replaced by a UX designer later.
This commit also addresses #9, because message text can
now be selected and copied. This is done by using
android:textIsSelectable="true"
which only works for API level 11 or higher.
If we want copy and paste on lower API levels,
additional measures have to be implemented.
Replace bluetooth diagram PNG image with vector XML file.
I decided to not use several raster graphics, but use an XML file instead, so the android gradle plugin creates the raster files itself at build-time. I hope that this resolves the problem you saw on that device of yours.
See merge request !30
and indicate which transports are currently available.
The icons have been chosen from the official material icons and might be
replaced later with icons that better represent the given transport.
Please note that I used vector drawables which will be automatically
converted at build time to raster graphics.
Closes#96
Users were confused by the process of adding a contact for the first time.
This change adds additional explanation and a picture of what is going on.
It also moves part of the UI into XML files.
Closes#87