Commit Graph

215 Commits

Author SHA1 Message Date
akwizgran
25b165ac1e Set ongoing notification to minimum priority. #154 2016-05-03 14:14:15 +01:00
str4d
cb8bfeb2ce Merge branch '307-background-color' into 'master'
Change the window background system-wide

This also sneaks in some small UI modifications desired by @Megalox.

Closes #307

See merge request !157
2016-04-29 23:10:25 +00:00
akwizgran
c72e5be804 Removed old user feedback activity. #336 2016-04-29 22:54:37 +01:00
Torsten Grote
bbc4ac99c1 This changes the window background system-wide
Closes #307
2016-04-28 11:07:20 -03:00
str4d
c44b6a4095 Implement encrypted feedback 2016-04-28 16:44:01 +12:00
str4d
f73f0aa4ab Migrate crash reports to ACRA 2016-04-27 22:22:16 +12:00
akwizgran
11a4ca6b9c Merge branch '271-port-splash-and-create-forum' into 'master'
Converts the splash screen to XML format

Removes all programatic calls that modify the layout and uses the XML
resource instead.

See merge request !123
2016-04-26 08:13:29 +00:00
Torsten Grote
9ea7113423 Refactor ContactListAdapter to be reusable for other use cases.
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
2016-04-25 13:50:31 -03:00
Santiago Torres
e535be6d18 WIP: Converts the splash screen to XML format
Removes all programatic calls that modify the layout and uses the XML
resource instead.
2016-04-25 12:19:48 -04:00
akwizgran
3200a9f8f8 Merge branch '313-move-forum-buttons-to-toolbar' into 'master'
Move create forum post and share forum buttons in action bar

According to the designs in #305, the 'create forum post' and 'share forum' buttons will go into the in action bar.

In the spirit of keeping MRs small and to avoid conflicts with #306, I did this first and independently of future work.

This also introduces constants for the `GROUP_ID`, `FORUM_NAME` and `MIN_TIMESTAMP` as they were used for the two buttons.

Closes #313

See merge request !150
2016-04-25 13:57:14 +00:00
akwizgran
41c9916e8e Merge branch '293-remove-avatar-from-conversation' into 'master'
Remove avatar code and layout from ConversationActivity and ConversationAdapter

Please note that I have not been able to test this MR on an actual device as I have none at the moment :(

Closes #293

See merge request !148
2016-04-25 12:40:42 +00:00
akwizgran
3b8689f892 Tweaked introduction wording, use Collections.emptyList(). 2016-04-25 13:14:22 +01:00
akwizgran
7779319f9a Merge branch '295-show-declined-introductions' into 'master'
Show relevant introduction decline responses in the conversation

* If the user has already declined, we don't show that the other
  introducee has declined as well. The backend doesn't have that information, so
  this is compatible with the principle of showing what we know.
* If the user has already accepted or hasn't yet responded, we now show the
  decline response in the private conversation with the introducer. If
  the user hasn't yet responded, we hide the accept/decline buttons
  in the introduction request message.

Please note that I do not have three devices at the moment to test this MR in its entirety in practice. I created another test which is hopefully sufficient to ensure that the modifications are correct.

Closes #295 

See merge request !149
2016-04-25 12:07:13 +00:00
Torsten Grote
44b3d4c14f Move create forum post and share forum buttons in action bar
This also introduces constants for the GROUP_ID, FORUM_NAME and
MIN_TIMESTAMP as they were used for the two buttons.

Closes #313
2016-04-21 12:06:42 -03:00
Torsten Grote
11e6d64e4d Show relevant decline responses in the conversation
* If the user has already declined, we don't show that the other
  introducee has declined as well. The backend doesn't have that information, so
  this is compatible with the principle of showing what we know.
* If the user has already accepted or hasn't yet responded, we show the
  decline response in the private conversation with the introducer. If
  the user hasn't yet responded, we hide the accept/decline buttons
  in the introduction request message.

Messages an introducee receives in a `FINISHED` state are now being
ignored and deleted.

Closes #295
2016-04-21 11:08:15 -03:00
str4d
d545aaa892 Encrypt and save crash reports, send them the next time TorPlugin start
Will currently fail at runtime; requires a public key and a server onion.
2016-04-20 23:42:46 +00:00
Torsten Grote
db9734044d Remove avatar code and layout from ConversationActivity and ConversationAdapter
Closes #293
2016-04-20 12:22:43 -03:00
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
akwizgran
98b6b1f471 Don't use inverse style for progress bars. #286 2016-04-15 15:20:32 +01: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
884d8530b4 Migrate CrashReportActivity to XML layout 2016-04-02 16:54:05 +13:00
str4d
8cacc73bef Implement BQP Android UI using QR codes 2016-03-26 15:53:09 +13:00
str4d
d7c7a72710 Factor out loading screen activity XML 2016-03-26 15:53:02 +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
299a541dee Set category and visibility of notifications. #241 2016-02-10 10:31:31 +00:00
akwizgran
ead4aac56c No alpha for white icons on dark backgrounds. 2016-02-08 16:48:06 +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
90eded1421 Make identicons round
This commit renames identicons to avatars in field names, and uses an ImageView
derivative to show the identicons, which should make implementing #214 easier.
2016-01-26 20:21:35 +00:00
str4d
9318a50cb7 Migrate LocalAuthorSpinnerAdapter to XML, add identicons 2016-01-26 18:34:03 +00:00
str4d
35c59fdb39 Migrate AuthorView to XML, add identicon 2016-01-26 18:34:03 +00:00
str4d
88d81634ca Add identicons to conversations 2016-01-26 18:34:02 +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
0d2e12e7ff Merge branch '210-support-panic-kit-purge' into 'master'
Support for Destructive Panic Actions

This MR is based on and requires !52.

More details are available in the commit message.

All known issues have now been fixed by new upstream releases.

See merge request !54
2016-01-13 15:37:38 +00:00
akwizgran
d8c65d0029 Capitalise panic button header, tweak wording. 2016-01-13 15:32:11 +00:00
Torsten Grote
63d87ae085 Support for Destructive Panic Actions
PanicKit does distinguish between two kinds of panic responses:

* default responses such as logging out which are non-destructive and
  do not require user interaction, so that the basics work without
  configuration
* destructive responses such as deleting user data. These require
  some sort of authentication to make sure they are not triggered
  by malicious apps

The second type of responses is implemented with this commit.

Authentication is done by comparing the package name
which is very weak. It requires the user to opt-in to
destructive responses and to configure from which app
to receive those (since there might be many different panic
trigger apps).

While possible to uninstall an app and install one with the same
package name afterwards, this always triggers notifications to
the user (if the attacker does not have root access).

Still that is no sufficient security for Briar's requirements,
so that TrustedIntents are used as well to make sure that the
app sending the destructive trigger is signed by a signing key
that we specified before. Currently, that is the one from the
GuardianProject and from IilabEngineering who does the Amnesty
International Panic App.

The responsibility of checking that the panic TRIGGER is
legitimate lies with the app responding to the trigger, so Briar
in this case. This commit checks whether the TRIGGER comes from
a trusted app before performing destructive actions,
but does perform the default action even when triggered from
untrusted apps.

Closes #210
2016-01-12 11:05:14 -02: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
akwizgran
7e48267f92 Consistent styling for setup and password activities.
Also removed some unused code from BaseActivity.
2016-01-08 13:22:33 +00:00