X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/cf2c2eedc56dfd3b4b116b82a907ce72c59b942b..a4ba6170ea7696e085b07adfef73eeb8b77cb8e2:/src/eu/alefzero/owncloud/syncadapter/ContactSyncAdapter.java diff --git a/src/eu/alefzero/owncloud/syncadapter/ContactSyncAdapter.java b/src/eu/alefzero/owncloud/syncadapter/ContactSyncAdapter.java deleted file mode 100644 index 8ddc4149..00000000 --- a/src/eu/alefzero/owncloud/syncadapter/ContactSyncAdapter.java +++ /dev/null @@ -1,98 +0,0 @@ -package eu.alefzero.owncloud.syncadapter; - -import java.io.FileInputStream; -import java.io.IOException; - -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.entity.ByteArrayEntity; - -import eu.alefzero.owncloud.authenticator.AccountAuthenticator; -import eu.alefzero.owncloud.authenticator.AuthUtils; -import eu.alefzero.owncloud.db.ProviderMeta; -import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta; -import android.accounts.Account; -import android.accounts.AccountManager; -import android.accounts.AuthenticatorException; -import android.accounts.OperationCanceledException; -import android.content.ContentProviderClient; -import android.content.Context; -import android.content.SyncResult; -import android.content.res.AssetFileDescriptor; -import android.database.Cursor; -import android.net.Uri; -import android.os.Bundle; -import android.provider.ContactsContract; -import android.util.Log; - -public class ContactSyncAdapter extends AbstractOwnCloudSyncAdapter { - private String mAddrBookUri; - - public ContactSyncAdapter(Context context, boolean autoInitialize) { - super(context, autoInitialize); - mAddrBookUri = null; - } - - @Override - public void onPerformSync(Account account, Bundle extras, String authority, - ContentProviderClient provider, SyncResult syncResult) { - setAccount(account); - setContentProvider(provider); - Cursor c = getLocalContacts(false); - if (c.moveToFirst()) { - do { - String lookup = c.getString(c.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)); - String a = getAddressBookUri(); - String uri = a + lookup + ".vcf"; - FileInputStream f; - try { - f = getContactVcard(lookup); - HttpPut query = new HttpPut(uri); - byte[] b = new byte[f.available()]; - f.read(b); - query.setEntity(new ByteArrayEntity(b)); - HttpResponse response = fireRawRequest(query); - } catch (IOException e) { - e.printStackTrace(); - return; - } catch (OperationCanceledException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (AuthenticatorException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }while (c.moveToNext()); - //} while (c.moveToNext()); - } - - } - - private String getAddressBookUri() { - if (mAddrBookUri != null) return mAddrBookUri; - - AccountManager am = getAccountManager(); - String uri = am.getUserData(getAccount(), AccountAuthenticator.KEY_OC_URL) - .replace(AuthUtils.WEBDAV_PATH_2_0, AuthUtils.CARDDAV_PATH_2_0); - uri += "/addressbooks/" + getAccount().name.substring(0, getAccount().name.lastIndexOf('@')) - + "/default/"; - mAddrBookUri = uri; - return uri; - } - - private FileInputStream getContactVcard(String lookupKey) throws IOException { - Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey); - AssetFileDescriptor fd = getContext().getContentResolver().openAssetFileDescriptor(uri, "r"); - return fd.createInputStream(); - } - - private Cursor getLocalContacts(boolean include_hidden_contacts) { - return getContext().getContentResolver().query( - ContactsContract.Contacts.CONTENT_URI, - new String[] {ContactsContract.Contacts._ID, ContactsContract.Contacts.LOOKUP_KEY}, - ContactsContract.Contacts.IN_VISIBLE_GROUP + " = ?", - new String[]{ (include_hidden_contacts?"0":"1")}, - ContactsContract.Contacts._ID + " DESC"); - } - -}