52
edits
| Line 22: | Line 22: | ||
==Implementation Details== | ==Implementation Details== | ||
* Utilize a repository pattern for writing to local database on device and talking to the sync server | * Utilize a repository pattern for writing to local database on device and talking to the sync server | ||
* Add crypto as a | * Add crypto as a middle-ware layer to the repository so it appears as if other code is just communicating with the repository object | ||
* Run as a lightweight Android service so that sync data is available as soon as Fennec starts | * Run as a lightweight Android service so that sync data is available as soon as Fennec starts | ||
** Perhaps run service more aggressively when Fennec is actually running, back down when Fennec isn't running to avoid using too large of a memory footprint (Android kills background services when it is in need of more memory) | ** Perhaps run service more aggressively when Fennec is actually running, back down when Fennec isn't running to avoid using too large of a memory footprint (Android kills background services when it is in need of more memory) | ||
** Ideally we'd like to write this as an [[http://developer.android.com/resources/samples/SampleSyncAdapter/index.html|Android Sync Service]] so that it shows up in the user's sync screen and that is how they interact with it (Screenshots: [[media:AndroidSyncScreenSample1|[1]]], [[media:AndroidSyncScreenSample1|[2]]]) | |||
Here is the beginning of a [[media:ClassDiagram.png|class diagram]] for the Sync Client. Details will be filled in as the client is designed. | Here is the beginning of a [[media:ClassDiagram.png|class diagram]] for the Sync Client. Details will be filled in as the client is designed. | ||
edits