Commit Graph

17 Commits

Author SHA1 Message Date
akwizgran
28be7d5de3 Added UI thread methods to AndroidExecutor. 2016-08-20 18:41:05 +01:00
akwizgran
6873dbc493 UI code cleanup. 2016-05-11 13:52:40 +01:00
Ernir Erlingsson
c93e78f178 modifications based on Akwizgran's comments 2016-05-11 11:55:17 +02:00
Ernir Erlingsson
64d1e25ad7 cleanup 2016-05-11 11:55:16 +02:00
Ernir Erlingsson
a14e981236 Switched AppBus for ResultHandler, Controller for Helper. Added the basics for LifecycleControllers and implemented it for BriarActivity and NavDrawerActivity 2016-05-11 11:50:34 +02:00
Ernir Erlingsson
a9de12520d phase 2: helpers and app bus 2016-05-11 11:42:38 +02:00
Ernir Erlingsson
7b552bde1e phase 1: Activities and Fragments 2016-05-11 11:42:38 +02:00
akwizgran
c21854fbe4 Use AndroidExecutor for background tasks that make API calls. 2016-05-02 16:54:35 +01:00
akwizgran
b5fc7cf724 Use consistent styling for dialogs. #296 2016-04-25 12:52:28 +01:00
Ernir Erlingsson
4da63b3800 Modified the project structure, removed module extension and went instead for a non-complete core dependency graph 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
1be400eb84 Switched Roboguice/Guice out for Dagger 2 2016-03-14 21:01:21 +01:00
akwizgran
30c3a33a0a Delete all app data when deleting account. #263 2016-03-03 16:23:10 +00:00
akwizgran
ea02caf577 Don't use FLAG_ACTIVITY_CLEAR_TASK on API < 11. 2016-01-27 12:51:00 +00: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
Torsten Grote
c8d0e64542 Delete database as panic response even when signed out
The method `runOnDbThread()` depends on an executor
that's created by roboguice at startup.
It requires to be signed in, so use a different thread instead.
2016-01-13 16:49:44 -02: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