*/\r
package eu.alefzero.owncloud.ui.fragment;\r
\r
+import java.util.ArrayList;\r
import java.util.Stack;\r
import java.util.Vector;\r
\r
import android.accounts.Account;\r
import android.accounts.AccountManager;\r
import android.app.Service;\r
+import android.content.ContentProviderOperation;\r
import android.content.Intent;\r
import android.os.Bundle;\r
+import android.provider.ContactsContract;\r
+import android.provider.ContactsContract.RawContacts;\r
+import android.util.Log;\r
import android.view.View;\r
import android.widget.AdapterView;\r
import eu.alefzero.owncloud.R;\r
mAccountManager = (AccountManager)getActivity().getSystemService(Service.ACCOUNT_SERVICE);\r
mAccount = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE)[0];\r
populateFileList();\r
+ //addContact(mAccount, "Bartek Przybylski", "czlowiek");\r
}\r
\r
@Override\r
mFiles = file.getDirectoryContent();\r
setListAdapter(new FileListListAdapter(file, getActivity()));\r
}\r
+ \r
+ private void addContact(Account account, String name, String username) {\r
+ Log.i("ASD", "Adding contact: " + name);\r
+ ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();\r
+ \r
+ //Create our RawContact\r
+ ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);\r
+ builder.withValue(RawContacts.ACCOUNT_NAME, account.name);\r
+ builder.withValue(RawContacts.ACCOUNT_TYPE, account.type);\r
+ builder.withValue(RawContacts.SYNC1, username);\r
+ operationList.add(builder.build());\r
+ \r
+ //Create a Data record of common type 'StructuredName' for our RawContact\r
+ builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);\r
+ builder.withValueBackReference(ContactsContract.CommonDataKinds.StructuredName.RAW_CONTACT_ID, 0);\r
+ builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);\r
+ builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);\r
+ operationList.add(builder.build());\r
+ \r
+ //Create a Data record of custom type "vnd.android.cursor.item/vnd.fm.last.android.profile" to display a link to the Last.fm profile\r
+ builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);\r
+ builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);\r
+ builder.withValue(ContactsContract.Data.MIMETYPE, "vnd.android.cursor.item/vnd.owncloud.contact.profile");\r
+ builder.withValue(ContactsContract.Data.DATA1, username);\r
+ builder.withValue(ContactsContract.Data.DATA2, "Last.fm Profile");\r
+ builder.withValue(ContactsContract.Data.DATA3, "View profile");\r
+ operationList.add(builder.build());\r
+ \r
+ try {\r
+ getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, operationList);\r
+ } catch (Exception e) {\r
+ Log.e("ASD", "Something went wrong during creation! " + e);\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ \r
}\r