Services/AndroidSyncClient: Difference between revisions

 
(5 intermediate revisions by the same user not shown)
Line 23: Line 23:


*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 middle-ware layer to the repository so it appears as if other code is just communicating with the repository object  
*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  
*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
*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
**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 accounts screen and that is how they interact with it
** Screenshots: [[Image:AndroidSyncScreenSample1|Screenshot 1]], [[Image:AndroidSyncScreenSample2|Screenshot 2]]
** Screenshots: [[Media:AddAcountPage.jpg|Add Sync Account Page]], [[Media:SyncedAccountsPage.jpg|Synced Accounts Page]]
 
<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.


==Milestones==
==Milestones==
* October 2011: Crypto Libraries
* October 2011: Crypto Libraries
* November 2011
* November 2011
** Week 1 - Repository framework?
** Week 1 - Repository framework
** Week 2 -
** Week 2 - Communication with sync server
** Week 3 -
** Week 3 - Setup of storage and accessing it on the client side
** week 4 -
** Week 4 - Work of actually syncing (make this more granular)
* December 2011
* December 2011
** Week 1 -
** Week 1 - Work of actually syncing (make this more granular)
** Week 2 -  
** Week 2 - Wrap up and hand-off
* December 16, 2011 - Last day of Jason's internship
* December 16, 2011 - Last day of Jason's internship


52

edits