Sync Contact Adapter FAIL
author"Vincent Veronis"
Sun, 20 Mar 2011 13:59:04 +0100
changeset 879 4ab7484af7cb
parent 878 1860ce45ce09
child 880 085240d5be71
Sync Contact Adapter FAIL -> Problem lors de la creation de la xmppconnectionadapter avec le beemservice en parametre ....
AndroidManifest.xml
src/com/beem/project/beem/account/SyncAdapter.java
--- a/AndroidManifest.xml	Sun Mar 20 13:05:31 2011 +0100
+++ b/AndroidManifest.xml	Sun Mar 20 13:59:04 2011 +0100
@@ -79,6 +79,8 @@
 		<provider android:name=".providers.AvatarProvider"
 			android:authorities="com.beem.project.beem.providers.avatarprovider"
 			android:exported="false" />
+		<meta-data android:name="android.provider.CONTACTS_STRUCTURE"
+			android:resource="@xml/contacts" />
 		<service android:name=".account.AuthenticatorService"
 			android:exported="true" android:process=":auth">
 			<intent-filter>
@@ -87,6 +89,14 @@
 			<meta-data android:name="android.accounts.AccountAuthenticator"
 				android:resource="@xml/authenticator" />
 		</service>
+		<service android:name=".account.SyncAdapterService"
+			android:exported="true" android:process=":contacts">
+			<intent-filter>
+				<action android:name="android.content.SyncAdapter" />
+			</intent-filter>
+			<meta-data android:name="android.content.SyncAdapter"
+				android:resource="@xml/sync_contacts" />
+		</service>
 		<service android:name="BeemService" android:enabled="true"
 			android:label="Beem Service" android:permission="com.beem.project.beem.BEEM_SERVICE">
 			<intent-filter>
@@ -104,6 +114,11 @@
 	<uses-permission android:name="com.beem.project.beem.BEEM_SERVICE" />
 	<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
 	<uses-permission android:name="android.permission.GET_ACCOUNTS" />
+	<uses-permission android:name="android.permission.READ_CONTACTS" />
+	<uses-permission android:name="android.permission.WRITE_CONTACTS" />
+	<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
+	<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
+	<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
 	<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />
 	<supports-screens android:largeScreens="true"
 		android:normalScreens="true" android:smallScreens="true"
--- a/src/com/beem/project/beem/account/SyncAdapter.java	Sun Mar 20 13:05:31 2011 +0100
+++ b/src/com/beem/project/beem/account/SyncAdapter.java	Sun Mar 20 13:59:04 2011 +0100
@@ -1,27 +1,33 @@
-
 package com.beem.project.beem.account;
 
 import android.accounts.Account;
-import android.accounts.AccountManager;
+import android.accounts.OperationCanceledException;
 import android.content.AbstractThreadedSyncAdapter;
 import android.content.ContentProviderClient;
 import android.content.Context;
 import android.content.SyncResult;
 import android.os.Bundle;
-
+import android.util.Log;
 
 public class SyncAdapter extends AbstractThreadedSyncAdapter {
 
-	private Context mContext;
-	
-	public SyncAdapter(Context context, boolean autoInitialize) {
-		super(context, autoInitialize);
-		mContext = context;
+    private Context mContext;
+    private static final String TAG = "SyncAdapter";
+
+    public SyncAdapter(Context context, boolean autoInitialize) {
+	super(context, autoInitialize);
+	mContext = context;
+    }
+
+    @Override
+    public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider,
+	SyncResult syncResult) {
+	try {
+	    SyncAdapterService.performSync(mContext, account, extras, authority, provider, syncResult);
+	} catch (OperationCanceledException e) {
+	    Log.w(TAG, "Error while performSync", e);
 	}
 
-	@Override
-	public void onPerformSync(Account account, Bundle extras, String authority,
-			ContentProviderClient provider, SyncResult syncResult) {
-	}
+    }
 
 }