274 code encapsulation
The goal of this branch is to better compartmentalize, structure and simplify the code in the Android module. It does this via the following techniques:
- Extended use of Dagger by introducing a component for Activities that injects, among other things, SharedPreferences and Fragments. The latter makes it possible to mock fragments more easily and letting Dagger automatically handle its injections.
- Decouple Briar API code, from the activities and Fragments, and encapsulate in re-usable Controller classes
- Introduce a UI-thread App event bus that the Helper classes use to communicate with Activities & Fragments.
- Define the testing methods in the briar-android module per Robolectric and Mockito
NOTE! Don't be alarmed if you see the contact introduction message one more time, one of the changes was to purify UI shared preferences from the Briar shared preferences, which now only contain preferences related to the API and it's usage.
closes #274 (closed)