Description: This implemented W3C Contacts Manager API on Android
Affected component: N/A
Related feature: XWALK-49<https://crosswalk-project.org/jira/browse/XWALK-49>
Target Release: Crosswalk M4

Implementation details:

Spec: http://www.w3.org/2012/sysapps/contacts-manager-api/

Summary:
This API is designed as an internal extension based the 
XWalkExtensionBridge<https://github.com/crosswalk-project/crosswalk/pull/513>.

JSAPI part:
Promise <http://dom.spec.whatwg.org/> will be used as per spec indicates. This 
Promise interface would be the same as other extensions which also has Promise 
defined in their specs.

Java part:
Most operations are based on Content 
Provider<http://developer.android.com/guide/topics/providers/content-providers.html>,
 which is, using 
ContentResolver<http://developer.android.com/reference/android/content/ContentResolver.html>
 to access and modify system's Contact data table 
<http://developer.android.com/reference/android/provider/ContactsContract.html> 
as required. There are several major parts described below:
1> For saving or updating a contact, will build an array list of 
ContentProviderOperation 
<http://developer.android.com/reference/android/content/ContentProviderOperation.html>
 and apply to the system's contact table in batch in order to increase 
performance.
2> For finding a contact, will construct a SQL clause by find option to query 
contact data table and build results to JSON string to post back to caller. 
Similarly when removing one or more contacts, will construct a SQL selection 
clause to delete rows of contact data table.
3> For message handler of Contacts change, will register a Content 
Observer<http://developer.android.com/reference/android/database/ContentObserver.html>
 to listen change of contact data table by 
ContentResolver<http://developer.android.com/reference/android/content/ContentResolver.html>.

Regards,
Deqing



_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to