- The NetworkService no longer extends the Service class
- The NetworkService is now a singleton class, which is instantiated by a static method in a thread-safe manner
- Replaced Android Log.d() functions by System.out.println()
- Renamed the 'onStop' method to simply 'stop' since it will no longer work as a callback
- Renamed the 'bootstrapService' to start, since this is how this class inner workings are started
- Lots of configurable parameters were removed, we now focus on the default values, like empty strings for usernames and passwords
- Node latency verification is done by default, instead of being an optional feature enabled by parameters
- Removed the 'LocalBinder' inner class
- The sample app was modified accordingly
- A very simple HTLC creation & redemption mechanism has been put in place for testing/demonstration purposes.
- The HtlcActivity now can both create and redeem an HTLC
Introduced some synchronized methods and a block in order to prevent an aparent concurrency problem with the variable 'mSelectedNode' at the NetworkService class.
- HtlcHashType class enumerates all supported HTLC hash functions.
- The HtlcHash class is used to represent all possible HTLC hash results.
- The CreateHtlcOperation class itself is used to represent the operation that creates an HTLC
- A simple test class was introduced in order to test hash functions and subsequently also test the HTLC operation serialization
- Renamed the 'removeCurrentNodeAndReconnect' as 'reconnectNode' since it will not be removing nodes from the list anymore
- Adapted the sample app to work accordingly
- Removed the 'mStartingService' boolean flag from the NetworkServiceManager.
- Introducing the 'passInfo' flag, used to decide whether or not to pass the connection info to the NetworkService calling the 'bootstrapService' method.
- Added a check to make sure autoConnect=false and verifyLatency=false throw an exception, since that combination would cause the app to never connect to a node.
- Separeted the verifyLatency and autoConnect logic, so that the apps using NetworkService can decide wether to connect or not automatically, independently of verifying the latency.
- Preventing accidentally calling the 'bindService' twice at the NetworkServiceManager
- Providing a getter for the node list at the NodeLatencyVerifier
- Created a getter for the NodeLatencyVerifier at the NetworkService