Hi All,

Here is updated version of the Intent to Implement:

Description: This implemented W3C Contacts Manager API on Android
Affected component: runtime/android/java/src/org/xwalk/runtime/extension/api
Related feature: XWALK-49<https://crosswalk-project.org/jira/browse/XWALK-49>
Target Release: Crosswalk-3
Target Platform: Android

Implementation details:

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

Summary:
This API is designed as an internal extension inherited from XWalkExtension.

Status of the Spec:
The outstanding question since the last F2F (August) is whether to use 
DataStore API for Contacts and Messaging (and CallHistory): 
https://wiki.mozilla.org/WebAPI/DataStore

Support from other venders:
AFAIK Firefox Mobile(Gecko) supports this API since 18.0
Not supported on Android, Opera, Safari, Chrome, and Firefox desktop.

Compatibility Risk:
Low. This is a new feature, which implemented as an individual internal 
extension.

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


_____________________________________________
From: Huang, Deqing
Sent: Friday, November 08, 2013 3:19 PM
To: crosswalk-dev@lists.crosswalk-project.org
Subject: Intent to Implement: [Android] W3C SysApps Contacts API


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