Commit Graph

153 Commits

Author SHA1 Message Date
Torsten Grote
d0036deaf7 This addresses two types of introduction corner cases:
* force decline when two of our own identities are introduced to each
  other
* throw away introduction requests to the same identity
  (impossible to trigger from UI)

Closes #284
2016-04-20 11:31:54 -03:00
Torsten Grote
c5bfea2155 address issues found in final review
(except refactoring of conversation item classes)
2016-04-12 17:04:52 -03:00
Torsten Grote
90d984ee52 Ensure responses shown after requests, clarify wording, reuse transactions
When devices' clocks are out of sync, it is possible that a response is
shown before the request. This commit makes sure that the timestamp of
responses is always later than the last message in the conversation.

Some wording could be misunderstood to thing introductions were
successful even though they were not. That has been clarified.

A new database transaction was created when getting contacts and local
transport properties. This has been changed to re-use the existing
transaction.

Also addresses minor issues found in review.
2016-04-12 17:04:52 -03:00
Torsten Grote
5ea7ff2857 UI for introducing two contacts to each other
Show system notification for successful introductions
2016-04-12 17:04:52 -03:00
str4d
8cacc73bef Implement BQP Android UI using QR codes 2016-03-26 15:53:09 +13:00
akwizgran
d605e1cae4 Reverted text colour to black.
@color/briar_text_primary is used in a lot of places other than the settings screen - if we want to use grey text in the settings screen we'll need to find another way.

Also fixed some misspelled resource names and included the colours from the Briar palette in color.xml.
2016-03-15 20:46:24 +00:00
Ernir Erlingsson
95d89553d5 merged with master 2016-03-14 21:02:51 +01:00
str4d
770d9ddc5f Migrate settings to PreferenceFragmentCompat
Includes code from https://github.com/consp1racy/android-support-preference
License: Apache License v2.0
2016-03-11 21:06:06 +00:00
akwizgran
10561a2df3 Added new module to roboguice.xml. 2016-02-29 16:38:55 +00:00
akwizgran
3f356b999a Increase contrast between identicon and background. 2016-02-10 15:48:35 +00:00
akwizgran
4decdbf3e6 Giant whitespace-only indentation patch. 2016-02-05 14:54:17 +00:00
akwizgran
1589279c2f Merge branch '229-transport-client' into 'master'
Transport properties client. #229

This branch moves support for exchanging transport properties from the sync layer to the client layer.

Local properties are stored in an unshared group. When a contact is added, the latest local properties are copied into a group shared with the contact. Whenever the local properties are updated, they're copied into the groups shared with all contacts.

The transport update messages include a unique device ID that prevents collisions between local and remote messages, and will be used in future for multi-device support.

See merge request !80
2016-01-28 15:05:00 +00:00
akwizgran
88475bdd54 Transport properties client. #229 2016-01-27 12:51:55 +00:00
str4d
9318a50cb7 Migrate LocalAuthorSpinnerAdapter to XML, add identicons 2016-01-26 18:34:03 +00:00
str4d
e62d60ff52 Add identicons to contact list 2016-01-26 18:34:02 +00:00
Ernir Erlingsson
dae29eecce Navigation drawer (squashed and rebased). 2016-01-21 16:49:21 +00:00
Santiago Torres
190bb12964 ENH: Replaces transport config with namespaced settings 2016-01-20 00:57:16 -05:00
Torsten Grote
8b817be076 Offer option to uninstall Briar in a panic event
Due to the nature of how Android app install/uninstall works without
root, this requires manual confirmation after a panic was triggered.

Closes #211
2016-01-18 14:31:10 -02:00
akwizgran
42d1f6ded0 Use verbs instead of yes/no for lost password dialog. 2016-01-13 17:17:45 +00:00
akwizgran
d8c65d0029 Capitalise panic button header, tweak wording. 2016-01-13 15:32:11 +00:00
Torsten Grote
e603b4f60e Implemented Sign Out as a first PanicKit Response
This closes #204
2016-01-12 10:49:14 -02:00
akwizgran
25c9cff8d6 Merge branch '112-transport-properties-manager' into 'master'
Transport properties manager facade, key manager refactoring. #112

Refactoring for #112: decouple the invitation and plugin code from the database with a TransportPropertiesManager facade (which will become a BSP client), and move some key management logic from the invitation code to the KeyManager. Update the integration tests to use the new FooManager facades.

See merge request !49
2016-01-12 11:35:18 +00:00
Torsten Grote
4460d69a06 Improve PasswordActivity by
* removing screen border visible on small screens
* showing noticeable error message on wrong password input
* showing keyboard again after entering wrong password
* making lost password link easier to recognize as link
* renaming keyboard toggle method from 'hide' to 'toggle'
2016-01-07 14:15:57 -02:00
akwizgran
805bf39ec8 Created TransportPropertyManager facade. 2016-01-04 12:56:06 +00:00
akwizgran
b1f2f7d120 Merge branch '198-briar-recycler-view' into 'master'
Create custom BriarRecyclerView and use it for the contact list.

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

See merge request !45
2015-12-31 11:32:58 +00:00
akwizgran
d0092ee5aa Merge branch '9-conversation-view' into 'master'
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
2015-12-31 11:20:29 +00:00
Torsten Grote
f309cb36d4 Create custom BriarRecyclerView and use it for the contact list.
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
2015-12-30 11:50:15 -02:00
Torsten Grote
a51726f147 This introduces 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
2015-12-30 10:58:05 -02:00
Torsten Grote
68cd1ff28c New Conversation View in XML
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.
2015-12-28 14:49:03 -02:00
Torsten Grote
4bcd204687 Use a RecyclerView for the Contact List 2015-12-28 14:37:23 -02:00
akwizgran
52720c5c04 Pass-through implementations of UI/DB interfaces. 2015-12-17 16:56:57 +00:00
akwizgran
545a2c04bb Merge branch 'explain-tor-setting' into 'master'
Longer explanatory text for Tor mobile data setting



See merge request !29
2015-12-17 16:56:27 +00:00
Torsten Grote
264285ecf7 Show all transports on the dashboard
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
2015-12-17 11:34:10 -02:00
Torsten Grote
2d28dcada2 Create two new events to signal enabling and disabling of transports 2015-12-17 11:34:10 -02:00
akwizgran
2c52a95ad5 Explanatory text for Tor mobile data setting. 2015-12-17 12:39:23 +00:00
akwizgran
01ecfb435a Updated Roboguice modules list. 2015-12-16 12:13:43 +00:00
akwizgran
8fa05e545f Merge branch '174-bsp-renaming' 2015-12-16 10:39:16 +00:00
akwizgran
d710841728 Merge branch '37_optionally_disable_tor' into 'master'
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
2015-12-15 17:12:39 +00:00
Santiago Torres
403ab75d13 [plugins/tor/TorPlugin] Adds tor-over-wifi setting
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.
2015-12-15 10:17:29 -05:00
Torsten Grote
327073f514 Put conversation view layout in XML file
and fix message divider background for lower API levels.
2015-12-15 13:11:11 -02:00
Torsten Grote
2bd53f8363 Show connection status of contact in conversation view
Closes #97
2015-12-15 13:11:11 -02:00
akwizgran
e7e7bf35ea Use 'forum' instead of 'group'. #174 2015-12-15 13:23:52 +00:00
akwizgran
4dd9e25079 Merge branch '52-appcompat-action-bar' into 'master'
Added AppCompatActivity

Closes #52 

See merge request !14
2015-12-15 11:34:03 +00:00
Ernir Erlingsson
cdf8392725 code nitpicks and color fix 2015-12-14 22:22:49 +01:00
akwizgran
f6cb3926fb More compact layout for first add contact screen. 2015-12-14 17:43:12 +00:00
Torsten Grote
527ac0c1e0 Show current step and total number of steps when adding a contact.
UI was transferred into XML files
and lots of redundant code was deleted such as the custom CodeEntryView.

Closes #33
2015-12-14 15:02:04 -02:00
Ernir Erlingsson
6ac999c113 Added AppCompatBar and fixed dependencies 2015-12-14 14:03:55 +01:00
Torsten Grote
04be7c9b92 Providing more detailed instructions for adding contacts
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
2015-12-14 09:29:55 -02:00
Ernir Erlingsson
b33d8d1ee5 fixed missing string 2015-12-10 11:07:10 +01:00
Ernir Erlingsson
886cad91f0 Added a dialog and refactored code 2015-12-10 11:02:15 +01:00