Services/AndroidSyncClient: Difference between revisions

m
Line 20: Line 20:
* [http://docs.services.mozilla.com/storage/ Storage API] (using version 1.1)
* [http://docs.services.mozilla.com/storage/ Storage API] (using version 1.1)


==Implementation Details==
== Implementation Details ==
* Utilize a repository pattern for writing to local database on device and talking to the sync server
* 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
** 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)


*Utilize a repository pattern for writing to local database on device and talking to the sync server
*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
**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


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
<br> 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.


==Milestones==
==Milestones==
52

edits