Commit Graph

6014 Commits

Author SHA1 Message Date
akwizgran 9e35e96ce4 Removed unnecessary calls to default super constructors. 2013-05-15 12:35:00 +01:00
akwizgran 630cfde81e Executors and Services register themselves with the LifecycleManager.
Fixes issue #3612607.
2013-05-15 12:26:56 +01:00
akwizgran dddd15cd10 Fixed a race conditon when adding a transport and then an endpoint.
To fix issue #3611966, KeyManagerImpl's handling of TransportAddedEvent
was made asynchronous. This made it possible for a thread to call
KeyManager.endpointAdded() before the KeyManager had asynchronously
handled the TransportAddedEvent from a previous call to
DatabaseComponent.addTransport().
2013-05-14 20:54:23 +01:00
akwizgran 673d7fa0c3 Moved lifecycle management into briar-core and reconfigured executors.
CryptoExecutor and DatabaseExecutor now use bounded thread pools with
unbounded queues, since running too many tasks in parallel is likely to
harm performance; IncomingConnectionExecutor, PluginExecutor and
ReliabilityExecutor use unbounded thread pools with direct handoff,
since their tasks may run indefinitely. There are no longer any bounded
executors, and all executors discard tasks when shutting down, which
fixes issue #3612189.

Responsibility for starting and stopping services has been moved from
BriarService in briar-android to LifecycleManagerImpl in briar-core.
However, BriarService is still responsible for stopping the
Android-specific executors, which is ugly. It would be better if
executors registered themselves with LifecycleManager.
2013-05-04 01:26:11 +01:00
akwizgran e1842e11c5 Unit tests for batched SQL UPDATE and DELETE operations. 2013-05-03 12:18:06 +01:00
akwizgran c008340587 Added loading progress bars to all ListViews that load from the DB.
Fixes issue #3611923.
2013-05-01 16:49:35 +01:00
akwizgran fae67ca32b Added a hook to wait for the DB without waiting for plugins to load. 2013-05-01 16:15:40 +01:00
akwizgran 48396262d7 Reuse invitation connections as BTP connections. Fixes issue #3611916. 2013-05-01 14:59:31 +01:00
akwizgran eeb1ce27ab Added a unit test for batched DB operations. 2013-05-01 12:44:19 +01:00
akwizgran 4290e3d1e5 Fixed a receiver leak, added a FIXME. 2013-05-01 11:54:28 +01:00
akwizgran 5179e2fde1 Turn off Bluetooth at shutdown if we turned it on at startup.
Also, turn on Bluetooth if necessary before polling. Fixes issue
#3611935
2013-05-01 11:39:10 +01:00
akwizgran d24d4adf7f Reference retrieved from reference manager may be null.
Fixes issue #3612379.
2013-05-01 00:08:33 +01:00
akwizgran 1aa701ceee Save and restore UI state when screen is rotated.
Fixes issue #3611920, but keep the issue open because more activities
will be added.
2013-04-30 17:24:04 +01:00
akwizgran d5720c085f Removed bundle encryption.
Android doesn't currently store bundles persistently, so it's premature
to protect against accidental information leaks through persistent
bundle storage. Protecting against deliberate information leaks by the
OS is probably futile, so there's currently no need for bundle
encryption.
2013-04-30 15:05:23 +01:00
akwizgran 1d610209d0 Changed the expiry date to 1 June 2013. 2013-04-30 14:30:37 +01:00
akwizgran 2da873aa01 Moved synchronisation out of event handler. Fixes issue #3611966. 2013-04-29 13:28:25 +01:00
akwizgran ae76a7935c Moved a couple of annotations from API to core. 2013-04-29 13:15:17 +01:00
akwizgran 458258f2ff Moved blocking call out of event handler. Fixes issue #3611961. 2013-04-29 12:56:58 +01:00
akwizgran f8d9170a25 Removed override annotation from abstract method. 2013-04-29 12:46:39 +01:00
akwizgran 3d9912b4ff Update invitation UI when Bluetooth or WiFi status changes.
Fixes issue #3611925.
2013-04-26 21:06:08 +01:00
akwizgran 421ce90469 Replaced a FIXME with an explanation of why it doesn't need to be fixed. 2013-04-26 18:50:55 +01:00
akwizgran 3787ed9e2f Progress spinners weren't shown when retrying invitation connections.
Fixes issue #3611959.
2013-04-26 18:43:30 +01:00
akwizgran 2c9ce014a5 Renamed a method and expanded the javadoc to be clear that it blocks. 2013-04-26 18:15:51 +01:00
akwizgran 9cf1486778 Added a comment about a potential deadlock. 2013-04-26 18:01:44 +01:00
akwizgran 239e532f23 A ScheduledExecutorService is overkill for one task; use a Thread. 2013-04-26 13:39:56 +01:00
akwizgran 80ac368cab Start and stop plugins in parallel for faster startup and shutdown. 2013-04-25 19:34:46 +01:00
akwizgran ee641db600 Record the PID of the Tor process so we can make sure it gets killed. 2013-04-25 18:46:05 +01:00
akwizgran 6f206bf270 Use a shutdown hook to kill the Tor process if the plugin isn't stopped. 2013-04-25 15:37:20 +01:00
akwizgran 1f8c9cc977 Don't create lots of temporary File objects. 2013-04-25 15:18:36 +01:00
akwizgran 6c4c0926c5 Randomise initial polling intervals to spread out connection attempts. 2013-04-25 14:57:32 +01:00
akwizgran db475577c8 Validate onion hostnames, only try to launch Tor on ARM, added comments. 2013-04-25 14:56:51 +01:00
akwizgran 32b575d16a Stripped Tor binary, reducing APK size by a megabyte. 2013-04-25 14:47:00 +01:00
akwizgran 3939ae6d60 Tor plugin for Android using native Tor binary, jtorctl and jsocks.
Only the ARM binary is included at present. Better control of the Tor
process is needed - it's possible for it to be left running when Briar
exits, and if the cookie file is deleted it's no longer possible to stop
the process.
2013-04-25 05:09:25 +01:00
akwizgran 1e5e78cc44 Use Integer.parseInt(String) to get a primitive int. 2013-04-25 05:07:26 +01:00
akwizgran 178c486a4a Put Android plugins and Java SE plugins in separate modules. 2013-04-24 21:09:38 +01:00
akwizgran 9c61e4e01c Cleaned up Bluetooth reflection code. 2013-04-24 11:33:21 +01:00
akwizgran 927d411045 Upgraded android.jar stub library to match target API version (17). 2013-04-24 11:07:48 +01:00
akwizgran 79233a47ba Throw an exception if BriarService is (re)created without a password. 2013-04-22 16:00:08 +01:00
akwizgran 371cdf0f90 Show a placeholder if the list of available blogs/groups is empty. 2013-04-21 18:35:43 +01:00
akwizgran c184458d9b Added app sharing button to contact list activity. 2013-04-19 00:33:21 +01:00
akwizgran a2b3af8718 Make groups/blogs visible to all contacts by default. 2013-04-18 22:30:15 +01:00
akwizgran cc32b000a7 Fixed some broken format strings. 2013-04-18 22:23:42 +01:00
akwizgran 0e681b9416 Removed padding between text entry fields and their labels. 2013-04-18 22:22:15 +01:00
akwizgran 6b5229a390 Don't try to load a group before subscribing to it. 2013-04-18 22:21:50 +01:00
akwizgran 9e17db5db1 Added activities for managing blog and group subscriptions. 2013-04-18 21:28:04 +01:00
akwizgran 34c3776b06 Added an expiry date to prevent unsafe builds from being used long-term. 2013-04-16 15:09:23 +01:00
akwizgran 374bff2fb6 UI for setting and entering the password that encrypts the database key. 2013-04-16 14:49:14 +01:00
akwizgran e343c9f4bb Added PBKDF2 to crypto component. 2013-04-16 12:04:23 +01:00
akwizgran 0dcc1a6d54 Redraw the contact list when contacts connect or disconnect. 2013-04-15 15:19:37 +01:00
akwizgran fa38c3b6bb Use 5 pixels of padding around icons. 2013-04-15 15:19:10 +01:00