It is a common pattern to have a list with an empty view and a progress bar.
This commit introduces a custom BriarRecyclerView and uses it for the
contact list.
No more manually hiding and showing empty views and progress bars is
necessary when using the new BriarRecyclerView instead of RecyclerView.
Please note that this conflicts with !44 at the moment and needs to be
implemented for !36 once merged.
Closes#198
Add a floating action button (FAB) in the contact list
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
See merge request !44
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
Show home screen if user backs out of password activity
This borrows a technique from @grote's crash reporter patch to fix#7. If the user presses the back button in PasswordActivity, the home screen is shown. Previously, pressing the back button removed PasswordActivity from the back stack, causing the next activity in the back stack to spawn another PasswordActivity.
See merge request !41
Use XSalsa20-Poly1305 instead of AES-GCM for transport encryption and password storage.
This patch integrates @str4d's new authenticated cipher implementation. It depends on !18.
See merge request !35
When you receive a message from a contact,
it will be moved to the top of the list with a nice animation.
Also with this commit, not the entire data set is invalidated each time data changes,
but only the parts of the data that really require an update.
Furthermore, the ContactListItemComparator that is not needed anymore is
removed.
Layout tweaks for ConversationActivity.
Centre the progress wheel and empty list message, hide the empty list message until the list has loaded.
See merge request !26
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
37 optionally disable tor
Provides:
* Checkbox in the settings view to disable Tor if not connected to a wifi network
* A network change callback in the Tor plugin to identify wifi connect/disconnect events
* A settings change event handler to disable enable tor when the user enables or disables the setting
See merge request !11
Provides a checkbox in the settings view, as well as an event handler to
disable/enable the tor network if the device is not on using the wifi
connection.
Refactors network-enabling code to a separate function. This function
is ran after the network state changes, or the settings change and
will update the status accordingly.