##GSoC 2016 Work Product - Prempal Singh - DHIS2
My work involved contributing to the existing DHIS2 Android SDK to implement a shared database functionality using content provider and making the DHIS2 Core app which exposes the content provider to other client apps. The content provider was generated using DbFlow and all the CRUD operation calls were proxied to the content provider which ensured no changes in the existing codebase making DB calls.
My contributions can be seen here -
DHIS2 Android SDK (IPC code not included since that is still WIP)
What works: Shared database functionality - All the apps no longer have a sandboxed database. They share a common database hosted by the DHIS2 Android Core app.
What's left: IPC - Although, sync and pull works fine but as a good practice, it should be delegated to the Core app and not handled by the client apps. The logic for IPC has been finalized but its implementation so as to not break the Clean architecture still needs to be decided upon.
I am grateful to the DHIS2 organisation for providing me the opportunity to work on this project and would like to thank my mentor Araz Abishov for guiding me.