{"shas":[["362da7071bd3a8babd05d6bde3b1819d88f33504","2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com","Removing Szczepan's comment about explicit lock vs. synchronised after discussion.","Luke Daley"],["a7377083a3846f54a4cbbe33b0306e9f1372d5a9","2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com","Refactored the daemon internals to make the general lifecycle easier to follow.\n\nThere are 4 events; start, activity start, activity stop, and stop. What happens at each of these points in terms of informing other things (e.g. daemon registry) has been extracted into a method.\n\nThe “CompletionHandler” has also been renamed to “DaemonStateCoordinator” to more accurately reflect its role. It also no longer tries to manage the registry updates on state changes as it seemed like this was tangling things slightly. It does seem like this thing should have some kind of associated listening API so that may go back in.","Luke Daley"]],"ref":"refs/heads/master","size":2,"head":"a7377083a3846f54a4cbbe33b0306e9f1372d5a9","push_id":42698171}