Commit Graph

640 Commits

Author SHA1 Message Date
Torsten Grote
880333f094 address issues found so far in code review 2015-12-28 17:04:03 -02:00
akwizgran
590d1e8ded Merge branch '7-password-activity' into 'master'
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
2015-12-28 18:09:00 +00:00
akwizgran
d7f204019d Merge branch 'use-xsalsa20-poly1305' into 'master'
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
2015-12-28 18:07:20 +00:00
Torsten Grote
e98d4f2260 Use a RecyclerView for the ConversationView and
properly notify the view adapter of dataset changes
in order to avoid invalidating the entire dataset when not absolutely necessary.

This change also shows unread messages in a different color,
so users do not fail to notice delayed messages.
2015-12-28 14:49:03 -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
6a954021ae Sort contacts by latest activity.
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.
2015-12-28 14:37:23 -02:00
Torsten Grote
4bcd204687 Use a RecyclerView for the Contact List 2015-12-28 14:37:23 -02:00
akwizgran
bbf1770d8d Show home screen if user backs out of password activity. 2015-12-28 11:42:37 +00:00
Torsten Grote
1dd7a35685 Small Improvements for Crash Handling Activities 2015-12-21 17:11:46 -02:00
akwizgran
ec3eafbb3e If Bluetooth was enabled, reuse invitation connection. 2015-12-18 16:47:01 +00:00
akwizgran
8084d08a3a Update dashboard icons when resuming activity. #186 2015-12-17 17:52:16 +00:00
akwizgran
766179ac97 Use new UI/DB interface in BriarService. 2015-12-17 16:56:58 +00:00
akwizgran
351e1bbbe6 Facade for forum post headers. #172 2015-12-17 16:56:58 +00:00
akwizgran
f899bc0c38 Facade for private message headers. #173 2015-12-17 16:56:58 +00:00
akwizgran
87689855da Facades for private messaging. #173 2015-12-17 16:56:58 +00:00
akwizgran
4450ab171a Facades for forums. #172 2015-12-17 16:56:58 +00:00
akwizgran
d0ba274111 Use new UI/DB interfaces for adding contacts. 2015-12-17 16:56:58 +00:00
akwizgran
f72b3d6294 Use new UI/DB interfaces for forums. 2015-12-17 16:56:58 +00:00
akwizgran
412f7b994a Use new UI/DB interfaces for identities. 2015-12-17 16:56:58 +00:00
akwizgran
122380db66 Use new UI/DB interfaces for private messaging. 2015-12-17 16:56:57 +00:00
akwizgran
886074e50e Code cleanup. 2015-12-17 16:56:57 +00:00
akwizgran
c5282c5b17 Moved some API classes into packages. 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
akwizgran
3e3109254f Merge branch 'conversation-layout-tweaks' into 'master'
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
2015-12-17 16:35:36 +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
Torsten Grote
c26d1a27e7 Merge branch '178-bluetooth-setting' into 'master'
Use default value of false for Bluetooth setting. #178



See merge request !25
2015-12-16 12:56:57 +00:00
akwizgran
6e61504d24 Removed message expiry code. #180 2015-12-16 12:17:38 +00:00
akwizgran
9bb298ed44 Merge branch '174-bsp-renaming-again'
Conflicts:
	briar-android/src/org/briarproject/android/contact/ConversationActivity.java
2015-12-16 10:42:44 +00:00
akwizgran
8fa05e545f Merge branch '174-bsp-renaming' 2015-12-16 10:39:16 +00:00
akwizgran
81c9992075 Code style: squashed. 2015-12-15 17:26:28 +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
akwizgran
b6c9544373 Layout tweaks for ConversationActivity. 2015-12-15 17:08:23 +00:00
akwizgran
660f709ede Use default value of false for Bluetooth setting. #178 2015-12-15 16:09:09 +00:00
akwizgran
bab9a41981 Merge branch '97-show-connection-status-of-contact-in-conversation-view' into 'master'
Show connection status of contact in conversation view



See merge request !24
2015-12-15 15:59:40 +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
2ca2356ecc Moved MessageHeader to sync package. 2015-12-15 15:05:16 +00:00
akwizgran
e370cafb12 Moved classes from messaging package to sync package. 2015-12-15 15:05:06 +00:00
akwizgran
d99df73380 Trimmed some Roboguice boilerplate. 2015-12-15 14:00:51 +00:00
akwizgran
e7e7bf35ea Use 'forum' instead of 'group'. #174 2015-12-15 13:23:52 +00:00
akwizgran
2621ab011c Merge branch '55-key-manager-refactoring' into 'master'
Refactor KeyManager and TagRecogniser, implement new key rotation logic.

This patch implements the new key rotation logic for BTP version 2, the new transport protocol (#111).

KeyManager and TagRecogniser have been merged (#55). They no longer need to hold locks while calling each other's methods (#3, #4). TransportKeyManager holds a lock while calling CryptoComponent methods, but those methods don't block or acquire any locks.

The maximum clock difference has been increased from one hour to 24 hours because some people adjust the time rather than the timezone when travelling (#18). This will cause keys to be rotated less frequently.

For the same reason, the key manager no longer throws an Error when the clock moves backwards - keys that belong to future rotation periods are kept until they become current, then rotation resumes (#19).

The new KeyManagerImpl and TransportKeyManager need unit tests. I'm putting this up for review while I write the tests.

TransportKeyManager needs further work before #55 is complete - when a stream context is created, TransportKeyManager should wait for the database write to complete before returning the context, to avoid the risk of key reuse if the write fails. I'll make a separate patch for that as this one's big enough already.

Enjoy!

See merge request !13
2015-12-15 13:18:30 +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
akwizgran
d0ac34e894 Merge branch '153-forum-sharing-with-selected-contacts' into 'master'
Improve Forum Sharing UI when sharing with selected contacts

When sharing only with chosen contacts, checking the contact's checkbox
and pressing Done nothing happens and the forum is not shared. An
additional click on "Share Forum" is necessary to actually share.

This behavior is fixed with this change.
Now, clicking 'Done' immediately shares the forum.

Closes #153

See merge request !20
2015-12-15 10:24:43 +00:00
Ernir Erlingsson
cdf8392725 code nitpicks and color fix 2015-12-14 22:22:49 +01:00
Torsten Grote
4d2215a442 Improve Forum Sharing UI when sharing with selected contacts
When sharing only with chosen contacts, checking the contact's checkbox
and pressing Done nothing happens and the forum is not shared. An
additional click on "Share Forum" is necessary to actually share.

This behavior is fixed with this change.
Now, clicking 'Done' immediately shares the forum.

Closes #153
2015-12-14 17:32:52 -02:00
Torsten Grote
e76b326ee2 Turn off Bluetooth again when not required anymore
and when errors occur.
Also do not turn off Bluetooth when just changing device orientation.
2015-12-14 16:19:36 -02: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