Commit Graph

49 Commits

Author SHA1 Message Date
akwizgran
79d9b4b6af Raised minimum Android version to 2.3 (API 9). #23 2015-12-02 13:20:55 +00:00
akwizgran
7eb7257076 Added project files for Android Studio. 2015-11-30 11:49:44 +00:00
akwizgran
027ae8340f Whitespace-only code formatting changes. 2015-11-30 09:38:25 +00:00
akwizgran
a1d2aaf10e Use JDK 1.7, target Android 5.1. 2015-04-03 20:56:01 +01:00
akwizgran
0dbfd7073f Comments to indicate which locks guard which variables. 2015-01-29 11:12:41 +00:00
akwizgran
47bd84122e Code formatting and small cleanups. 2015-01-28 21:18:31 +00:00
Abraham Kiggundu
851151041e Pull-Merge of latest changes from main repo 2015-01-08 11:54:47 +03:00
Abraham Kiggundu
be2a92d6c2 Revert lock variable rename for clarity 2015-01-07 00:37:28 +03:00
Abraham Kiggundu
2b9c469063 Merge branch 'improve-thread-encapsulation' into upstream 2015-01-06 07:15:11 +03:00
akwizgran
d3bf2d59a1 Use the same maximum frame length for all transports. 2015-01-05 16:24:44 +00:00
Abraham Kiggundu
9a2e93ebb9 cleanup 2014-12-26 17:35:37 +03:00
Abraham Kiggundu
b074978472 Improved encapsulation of thread synchronisation as follows
- replaced use of Object instance mutex with a private final Lock object
- replaced Object signaling with specific condition signalling
2014-12-26 16:40:46 +03:00
akwizgran
388b36b6be Check periodically for retransmittable packets. Bug #46. 2014-12-14 20:26:41 +00:00
akwizgran
29a6596ee3 Use the transport's idle timeout, not a hardcoded value. 2014-12-14 15:18:39 +00:00
akwizgran
d4fa656dbb Application layer keepalives to detect dead TCP connections.
DuplexOutgoingSession flushes its output stream if it's idle for a
transport-defined interval, causing an empty frame to be sent. The TCP
and Tor plugins use a socket timeout equal to twice the idle interval to
detect dead connections.

See bugs #27, #46 and #60.
2014-12-13 12:00:40 +00:00
akwizgran
d94637b5cf Removed polling from ModemPlugin. 2014-12-05 12:46:11 +00:00
akwizgran
6b4a72aea7 Added Gradle build files because Ant's too efficient for some people. 2014-11-25 14:54:34 +00:00
akwizgran
7b8181e309 Massive refactoring to merge handling of simplex and duplex connections. 2014-11-04 16:51:25 +00:00
akwizgran
b24f153704 Renamed a load of things from 'connection' to 'stream'. 2014-10-08 16:21:55 +01:00
akwizgran
07de50f03a Upgraded JNA to 4.1.0. 2014-10-03 11:54:36 +01:00
akwizgran
941efb4bbe Merged IncomingConnectionExecutor and PluginExecutor into IoExecutor.
We don't need two separate executors for long-running IO threads.
2014-10-02 18:02:53 +01:00
akwizgran
4c9296d286 Merged all licensing info into a single file to avoid APK build problems. 2014-07-02 23:01:13 +01:00
akwizgran
b4e02a7196 Release Briar code (but not bundled libraries) under Apache 2 license. 2014-06-23 10:26:16 +01:00
akwizgran
eaff042601 Don't try to close server sockets twice.
This may have been the cause of bug #69. Removed the wait-for-shutdown
code in DroidtoothPlugin that was added to attempt to avoid that bug.
2014-05-09 19:09:13 +01:00
akwizgran
0eaf46209c Show more debugging info: system memory, VM memory and disk space. 2014-04-10 15:48:15 +01:00
akwizgran
08b91d2483 Poll plugins when connectivity changes. Bug #66.
This should enable us to connect to contacts faster at startup and
whenever a new means of connecting becomes available.
2014-04-04 22:06:36 +01:00
akwizgran
e260aac3d2 All tryToClose() methods should check for null arguments. 2014-04-04 20:04:47 +01:00
akwizgran
8310f00848 JNotify native libraries recompiled by infinity0. Bug #41. 2014-03-27 10:32:37 +00:00
akwizgran
b99a503f24 Removed unnecessary conditionals from logging statements.
Very important stuff.
2014-03-12 21:00:14 +00:00
akwizgran
511b470aa4 Less verbose logging for plugins. 2014-03-03 15:31:46 +00:00
akwizgran
a2d099ea17 Added debugging screen to alpha and beta builds. Dev task #73. 2014-02-28 23:44:35 +00:00
akwizgran
4154119ea5 Convert to and from UTF-8 without catching impossible exceptions.
All JVMs must support UTF-8 encoding.
2014-02-07 22:02:02 +00:00
akwizgran
5c78b4808d Use new IOException(String) for consistency with other calls. 2014-02-07 15:03:58 +00:00
Ximin Luo
217ff30c54 update classpath for jnotify 2014-02-06 17:52:43 +00:00
Ximin Luo
8ff2b60000 support an older Android API level 2014-01-30 12:37:18 +00:00
Ximin Luo
c000a69f5b lazily load JNotify to avoid bloating the guice initialization 2014-01-30 12:37:18 +00:00
Ximin Luo
2bdccef705 upgrade to jnotify 0.94 (patched) for 64-bit support, and improve error reporting in tests
- add a UnixRemovableDriveMonitor.checkEnabled to pre-emptively check if it's loaded
- os.arch is always x86,x86_64 on windows, i386,amd64 on linux
- source: http://www.java-gaming.org/index.php/topic,14110
- we'll deal with freebsd support when we come to it, jnotify doesn't even do this atm
2014-01-30 12:37:18 +00:00
akwizgran
822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran
44bb9134d4 Reversing unintentionally pushed change: don't share Timer instances. 2014-01-16 19:31:28 +00:00
akwizgran
66619ec1e7 Use a single Timer instance. 2014-01-16 19:12:27 +00:00
akwizgran
6af3c54c28 Removed shouldFlush() from plugins, added missing PacketWriter method. 2014-01-15 17:10:25 +00:00
akwizgran
8886d954d7 Reorganised Guice modules. Contribute entropy to pool on Linux/Android. 2014-01-14 19:33:17 +00:00
akwizgran
832476412c Changed the root package from net.sf.briar to org.briarproject. 2014-01-08 16:18:30 +00:00
akwizgran
dce70f487c Merged clock and os packages, moved events into their own package. 2014-01-08 15:45:02 +00:00
akwizgran
26eebee8d9 Reverted some changes that were made for Java 1.5 compatibility.
Removed Commons IO, which we were only using as a replacement for
File.getFreeSpace() on desktop plaftorms.

Note: The Huawei U8210 (Android 2.1) doesn't have all the Java 1.6
standard library methods, and crashes if they're called. Specifically,
String.isEmpty() and NetworkInterface.supportsMulticast() are missing,
so the changes removing those methods were not reverted.
2013-11-22 12:49:20 +00:00
akwizgran
3b5769cf8a Use Java 1.6 instead of 1.5. We no longer aim to support OS X 10.4. 2013-11-22 12:00:00 +00:00
akwizgran
c868764244 Separate FileUtils implementations for Android and desktop builds.
The method used by Commons IO to get the available disk space fails on
Android devices that lack a df binary - use the Android API instead.
2013-07-27 20:50:05 +01:00
akwizgran
d02266d827 Moved Android-specific plugin code into briar-android project.
This removes the other projects' dependency on the Android API.
2013-06-27 16:26:52 +01:00
akwizgran
473cec8735 Moved desktop-specific code into a separate project (other task #34). 2013-06-27 16:05:31 +01:00