Search in sources :

Example 6 with ContactSummary

use of com.vodafone360.people.datatypes.ContactSummary in project 360-Engine-for-Android by 360.

the class NowPlusContactSummaryTest method testUpdateOnlineStatus.

public void testUpdateOnlineStatus() {
    Log.i(LOG_TAG, "***** EXECUTING testUpdateOnlineStatus() *****");
    Log.i(LOG_TAG, "Create ContactSummaryTable");
    ContactSummaryTable.create(mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Add a contact to ContactSummaryTable");
    final Contact contact = mTestModule.createDummyContactData();
    contact.localContactID = new Long(10);
    contact.nativeContactId = new Integer(11);
    ContactSummaryTable.addContact(contact, mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Fetching a ContactSummary from ContactSummaryTable");
    final ContactSummary contactSummary = new ContactSummary();
    final ServiceStatus serviceStatus = ContactSummaryTable.fetchSummaryItem(contact.localContactID, contactSummary, mTestDatabase.getReadableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    compareContactWithContactSummary(contact, contactSummary);
    // create a new user
    Hashtable<String, String> status = new Hashtable<String, String>();
    status.put("google", "online");
    status.put("microsoft", "online");
    status.put("mobile", "online");
    status.put("pc", "online");
    User user = new User("any", status);
    user.setLocalContactId(contactSummary.localContactID);
    // set him online
    assertEquals(ServiceStatus.SUCCESS, ContactSummaryTable.updateOnlineStatus(user));
    // fetch again
    final ContactSummary contactSummary2 = new ContactSummary();
    assertEquals(ServiceStatus.SUCCESS, ContactSummaryTable.fetchSummaryItem(user.getLocalContactId(), contactSummary2, mTestDatabase.getReadableDatabase()));
    // check if he's online
    assertEquals(OnlineStatus.ONLINE, contactSummary2.onlineStatus);
}
Also used : ContactSummary(com.vodafone360.people.datatypes.ContactSummary) User(com.vodafone360.people.engine.presence.User) ServiceStatus(com.vodafone360.people.service.ServiceStatus) Hashtable(java.util.Hashtable) Contact(com.vodafone360.people.datatypes.Contact)

Example 7 with ContactSummary

use of com.vodafone360.people.datatypes.ContactSummary in project 360-Engine-for-Android by 360.

the class NowPlusServiceTestHelper method register.

/*
     * private IRemoteServiceCallback mCallback = new
     * IRemoteServiceCallback.Stub() {
     * @Override public void uiRequestComplete(int requestId, int statusId,
     * Bundle data) throws RemoteException { synchronized(mUiRequestLock) { if
     * (mUiRequestId != null && mUiRequestId.intValue() == requestId) {
     * mUiRequestStatusId = statusId; mUiRequestData = data;
     * mUiRequestLock.notifyAll(); } } }
     * @Override public void onContactSyncEvent(boolean syncActive, Bundle
     * bundleInfo) { Log.d(LOG_TAG, "Sync notification event received: " +
     * syncActive + ", info = " + bundleInfo); }
     * @Override public void onDatabaseChangeEvent(int changeTypeVal) throws
     * RemoteException { Database.DatabaseChangeType type = null; if
     * (changeTypeVal < Database.DatabaseChangeType.values().length) { type =
     * Database.DatabaseChangeType.values()[changeTypeVal]; } Log.d(LOG_TAG,
     * "Database change event received: " + type); mDbChanged = true; }
     * @Override public void onSettingChangeEvent(PersistSettings setting)
     * throws RemoteException { Log.d(LOG_TAG, "Setting change event received: "
     * + setting); } };
     */
// 
// public void Disconnect() {
// Log.i (LOG_TAG, "Disconnect() called");
// }
// 
// 
// public ServiceStatus LogOnTest(LoginDetails details) {
// ServiceStatus status = ServiceStatus.SUCCESS;
// synchronized(mUiRequestLock) {
// status = startSynchronousRequest(ServiceUiRequest.LOGIN);
// try {
// mRemoteService.logOn(details);
// } catch (RemoteException e) {
// status = ServiceStatus.ERROR_SERVICE_DISCONNECTED;
// }
// status = finishSynchronousRequest(status, null);
// }
// 
// Log.i(LOG_TAG, "Log on result: " + status);
// return status;
// }
// 
// public boolean runDatabaseTests() {
// Log.i (LOG_TAG, "runDatabaseTests ()");
// 
// ArrayList<ContactSummary> contactSummaryList = new
// ArrayList<ContactSummary>();
// Log.i(LOG_TAG, "Fetching number of contacts...");
// int count = fetchNoOfContacts();
// Log.i(LOG_TAG, "No of contacts = " + count);
// 
// if (count < 10) {
// Log.i (LOG_TAG,"Fewer than 10 contacts found");
// 
// Log.i(LOG_TAG, "Populating database with dummy contacts...");
// 
// for (int i = 0 ; i < 1 ; i++) {
// Log.i(LOG_TAG, "Populating group " + i + " please wait...");
// if (!populateContacts()) {
// Log.e(LOG_TAG, "Unable to add dummy contacts");
// return false;
// }
// Log.i (LOG_TAG,"Database successfully populated");
// count = fetchNoOfContacts();
// }
// }
// else
// {
// Log.i (LOG_TAG, "Enough contacts already exist, not adding any more");
// }
// 
// int startSummaryIndex = 0;
// for (int i = 0 ; i < count ; i+= 500) {
// Log.i(LOG_TAG, "Fetching contact summary list starting at " + i);
// startSummaryIndex = i;
// if (!fetchContactSummaryList(contactSummaryList, startSummaryIndex, 500))
// {
// Log.e(LOG_TAG, "Unable to fetch summary list");
// return false;
// }
// 
// for (ContactSummary s : contactSummaryList) {
// Log.i(LOG_TAG, s.toString());
// }
// }
// 
// Log.i (LOG_TAG, "Creating new contact ...");
// 
// Contact contact = new Contact();
// contact.aboutMe = "Test information\"`!$%^&*()_-+=[]{};:'@#~,<.>/?\\|";
// contact.contactID = 123L;
// contact.deleted = false;
// contact.friendOfMine = false;
// contact.profilePath = "///sdcard/test/path/picture.jpg";
// contact.updated = 0L;
// contact.userID = "982";
// {
// Log.i (LOG_TAG, "Creating contacts details #1 ...");
// ContactDetail detail = new ContactDetail();
// detail.key = ContactDetail.detailKeys.VCARD_NAME;
// detail.value = "Scott Kennedy";
// contact.details.add(detail);
// 
// Log.i (LOG_TAG, "Details Key   : " + detail.key);
// Log.i (LOG_TAG, "Details Value : " + detail.value);
// }
// Log.i (LOG_TAG, "Contact details ...");
// Log.i (LOG_TAG, "aboutMe      : " + contact.aboutMe);
// Log.i (LOG_TAG, "contactId    : " + contact.contactID);
// Log.i (LOG_TAG, "deleted      : " + contact.deleted);
// Log.i (LOG_TAG, "friendOfMine : " + contact.friendOfMine);
// Log.i (LOG_TAG, "profilePath  : " + contact.profilePath);
// Log.i (LOG_TAG, "updated      : " + contact.updated);
// Log.i (LOG_TAG, "userID       : " + contact.userID);
// 
// 
// {
// Log.i (LOG_TAG, "Creating contact details #2 ...");
// ContactDetail detail = new ContactDetail();
// detail.key = ContactDetail.detailKeys.PRESENCE_TEXT;
// detail.value = "test status 1";
// contact.details.add(detail);
// 
// Log.i (LOG_TAG, "Details Key      : " + detail.key);
// Log.i (LOG_TAG, "Details Value    : " + detail.value);
// }
// 
// {
// Log.i (LOG_TAG, "Creating contact details #3 ...");
// ContactDetail detail = new ContactDetail();
// detail.key = ContactDetail.detailKeys.PRESENCE_TEXT;
// detail.value = "Test presence text";
// contact.details.add(detail);
// contact.aboutMe = detail.value;
// 
// Log.i (LOG_TAG, "Details Key     : " + detail.key);
// Log.i (LOG_TAG, "Details Value   : " + detail.value);
// Log.i (LOG_TAG, "Contact AboutMe : " + contact.aboutMe);
// }
// 
// Log.i(LOG_TAG, "Adding test contact...");
// if (!addContact(contact)) {
// Log.e(LOG_TAG, "Unable to add contact " + contact.toString());
// return false;
// }
// Log.i(LOG_TAG, "Added Contact " + contact.toString());
// 
// Contact contact2 = new Contact();
// Log.i(LOG_TAG, "Fetching contact...");
// if (!fetchContact(contact.localContactID, contact2)) {
// Log.e(LOG_TAG, "Unable to fetch added contact " +
// contact.localContactID);
// return false;
// }
// Log.i(LOG_TAG, "Fetched Contact " + contact2.toString());
// 
// Log.i(LOG_TAG, "Deleting contact...");
// ServiceStatus status = deleteContact(contact.localContactID);
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Unable to delete contact " + contact.localContactID);
// return false;
// }
// 
// Log.i(LOG_TAG, "Fetching deleted contact...");
// if (fetchContact(contact.localContactID, contact2)) {
// Log.e(LOG_TAG, "Fetched Contact - it was not deleted");
// return false;
// }
// 
// Log.i(LOG_TAG, "SummaryList size = "+ contactSummaryList.size());
// 
// if (contactSummaryList.size() > 0)
// {
// Log.i(LOG_TAG, "Adding contact detail...");
// ContactDetail detail = new ContactDetail();
// 
// detail.key = ContactDetail.detailKeys.VCARD_PHONE;
// detail.keyType = ContactDetail.detailKeyTypes.CELL;
// detail.value = "+447955123456";
// long testContactID = contactSummaryList.get(0).localContactID;
// detail.localContactID = testContactID;
// 
// Log.i (LOG_TAG, "Details Key     : " + detail.key);
// Log.i (LOG_TAG, "Detail Key Type : " + detail.keyType);
// Log.i (LOG_TAG, "Detail Value    : " + detail.value);
// if (!addContactDetail(detail)) {
// Log.e(LOG_TAG, "Unable to add contact detail to contact " +
// contact.localContactID);
// return false;
// }
// Log.i (LOG_TAG, "Contact detail added successfully");
// 
// if (!displayContactDetail(testContactID, detail.localDetailID)) {
// Log.e(LOG_TAG, "Unable to find new detail after fetch");
// return false;
// }
// 
// Log.i (LOG_TAG, "New details etrieved successfully");
// Log.i(LOG_TAG, "Modifying contact detail...");
// detail.value = "+4479654321";
// 
// Log.i (LOG_TAG, "Modifying detail value to " + detail.value);
// if (!modifyContactDetail(detail)) {
// Log.e(LOG_TAG, "Unable to modify contact detail " +
// detail.localDetailID);
// return false;
// }
// 
// Log.i (LOG_TAG, "Contact detail modified successfully");
// 
// if (!displayContactDetail(testContactID, detail.localDetailID)) {
// Log.e(LOG_TAG, "Unable to find modified detail after fetch");
// return false;
// }
// Log.i (LOG_TAG, "Modified details found successfully");
// 
// Log.i(LOG_TAG, "Deleting contact detail...");
// if (!removeContactDetail(detail.localDetailID)) {
// Log.e(LOG_TAG, "Unable to delete contact detail " +
// detail.localDetailID);
// return false;
// }
// Log.i (LOG_TAG, "Contact detail deleted successfully");
// 
// if (displayContactDetail(testContactID, detail.localDetailID)) {
// Log.e(LOG_TAG, "Contact detail has been fetched after delete");
// return false;
// }
// Log.i (LOG_TAG,"Correctly, unable to get non-existent contact detail");
// 
// Log.i(LOG_TAG, "Fetching contact (2)...");
// if (!fetchContact(testContactID, contact2)) {
// Log.e(LOG_TAG, "Unable to fetch contact before adding detail " +
// testContactID);
// return false;
// }
// 
// Log.i (LOG_TAG,"Fetched contact successfully before adding detail");
// 
// for (ContactDetail d : contact2.details ) {
// if (d.key == ContactDetail.detailKeys.PRESENCE_TEXT ) {
// Log.i(LOG_TAG, "Removing presence status detail...");
// if (!removeContactDetail(d.localDetailID)) {
// Log.e(LOG_TAG, "Unable to remove presence status detail " +
// d.localDetailID);
// return false;
// }
// Log.i (LOG_TAG, "Presence status detail successfully removed");
// }
// }
// 
// {
// Log.i(LOG_TAG, "Fetching contact summary for test contact...");
// final ArrayList<ContactSummary> tempList = new
// ArrayList<ContactSummary>();
// if (!fetchContactSummaryList(tempList, startSummaryIndex, 1) ||
// tempList.size() < 1) {
// Log.e(LOG_TAG, "Unable to fetch contact summary after deleting detail " +
// startSummaryIndex);
// return false;
// }
// if (tempList.get(0).statusText != null) {
// Log.e(LOG_TAG,
// "There is no presence text contact detail so \"ContactSummary.statusText\" field should be null, but ContactSummary.statusText="
// + tempList.get(0).statusText);
// return false;
// }
// }
// 
// Log.i(LOG_TAG, "Adding contact detail (4)...");
// detail.key = ContactDetail.detailKeys.PRESENCE_TEXT;
// detail.keyType = ContactDetail.detailKeyTypes.UNKNOWN;
// detail.value = "This is my new presence status";
// detail.localContactID = testContactID;
// 
// Log.i (LOG_TAG, "Detail Key              : " + detail.key);
// Log.i (LOG_TAG, "Detail KeyType          : " + detail.keyType);
// Log.i (LOG_TAG, "Detail Value            : " + detail.value);
// Log.i (LOG_TAG, "Details local contactID : " + detail.localContactID);
// if (!addContactDetail(detail)) {
// Log.e(LOG_TAG, "Unable to add contact detail to contact " +
// contact.localContactID);
// return false;
// }
// Log.i (LOG_TAG, "Contact detail added successfully");
// 
// {
// Log.i(LOG_TAG, "Fetching contact summary for test contact...");
// final ArrayList<ContactSummary> tempList = new
// ArrayList<ContactSummary>();
// if (!fetchContactSummaryList(tempList, startSummaryIndex, 1) ||
// tempList.size() < 1) {
// Log.e(LOG_TAG, "Unable to fetch contact summary after deleting detail " +
// startSummaryIndex);
// return false;
// }
// if (!tempList.get(0).localContactID.equals(detail.localContactID)) {
// Log.e(LOG_TAG,
// "Contact ID mismatch - the test code has failed (Expected id = " +
// detail.localContactID + ", actual ID = " + tempList.get(0).localContactID
// + ")");
// return false;
// }
// if (tempList.get(0).statusText == null ||
// !detail.value.equals(tempList.get(0).statusText)) {
// Log.e(LOG_TAG,
// "The ContactSummary.statusText field was not updated when status text contact detail was added: Expected value: \""
// + detail.value + "\", actual value: \"" + tempList.get(0).statusText +
// "\"");
// return false;
// }
// Log.i (LOG_TAG, "Status text field was updated successfully with \"" +
// tempList.get(0).statusText + "\"");
// }
// }
// 
// return true;
// }
// 
// public boolean displayContactDetail(long contactID, long detailID) {
// Contact contact = new Contact();
// 
// Log.i (LOG_TAG, "Calling displayContactDetail ()");
// Log.i (LOG_TAG, "contactID: " + contactID+ ", detailID : " + detailID);
// if (!fetchContact(contactID, contact)) {
// Log.e(LOG_TAG, "Unable to fetch contact with modified detail");
// return false;
// }
// Log.i (LOG_TAG, "Fetched contact with modified details successfully");
// 
// for (ContactDetail d : contact.details) {
// if (d.localDetailID == detailID) {
// Log.i(LOG_TAG, "Fetched Contact Detail" + d.toString());
// return true;
// }
// }
// Log.e (LOG_TAG, "displayContactDetail() has failed!!");
// return false;
// }
// 
// public boolean addContact(Contact contact) {
// Log.i(LOG_TAG, "Calling addContact ()");
// 
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.addContact(contact));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Add contact failed: " + status);
// return false;
// }
// } catch (RemoteException e) {
// Log.e(LOG_TAG, "Remote exception has occurred while adding contact");
// return false;
// }
// return true;
// }
// 
// public ServiceStatus deleteContact(long localContactID) {
// Log.i (LOG_TAG, "Calling deletedContact ()");
// Log.i (LOG_TAG, "localContactID : "+ localContactID);
// 
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.deleteContact(localContactID));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Delete Contact Failed: " + status);
// return status;
// }
// Log.i (LOG_TAG, "Contact deleted successfully");
// 
// } catch (RemoteException e) {
// Log.e(LOG_TAG, "Remote exception has occurred while deleting contact");
// return ServiceStatus.ERROR_UNKNOWN;
// }
// return ServiceStatus.SUCCESS;
// }
// 
// public boolean populateContacts() {
// Log.i (LOG_TAG,"Calling populateContacts ()");
// 
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.testPopulate());
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Test populate failed: " + status);
// return false;
// }
// } catch (RemoteException e) {
// Log.e(LOG_TAG, "Remote exception has occurred while populating");
// return false;
// }
// return true;
// }
// 
// public boolean fetchContact(long localContactID, Contact contact) {
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.fetchContact(localContactID,
// contact));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Fetch contact failed: " + status);
// return false;
// }
// } catch (RemoteException e) {
// Log.e(LOG_TAG, "Remote exception has occurred while fetching contact");
// return false;
// }
// return true;
// }
// 
// public int fetchNoOfContacts() {
// Log.i (LOG_TAG,"Calling fetchNoOfContacts ()");
// try {
// int count = mRemoteService.fetchNoOfContacts();
// Log.i (LOG_TAG,"Number Of Contacts Fetched = "+ count);
// return count;
// } catch (RemoteException e) {
// Log.e(LOG_TAG, "Unable to fetch number of contacts");
// return 0;
// }
// 
// }
// public boolean fetchContactSummaryList(ArrayList<ContactSummary> list,
// int first, int count) {
// Log.i (LOG_TAG, "Calling fetchContactSummaryList ()");
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.fetchContactList(list, first,
// count));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Fetch contact list failed: " + status);
// return false;
// }
// } catch (RemoteException e) {
// Log.e(LOG_TAG,
// "Remote exception has occurred while fetching contact list");
// return false;
// }
// return true;
// }
// 
// public boolean addContactDetail(ContactDetail detail) {
// Log.i (LOG_TAG, "Calling addContactDetail ()");
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.addContactDetail(detail));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Add contact detail failed: " + status);
// return false;
// }
// Log.i (LOG_TAG, "Contact detail added successfully");
// } catch (RemoteException e) {
// Log.e(LOG_TAG,
// "Remote exception has occurred while adding contact detail");
// return false;
// }
// return true;
// }
// 
// public boolean removeContactDetail(long localDetailID) {
// Log.i (LOG_TAG, "Calling removeContactDetail ()");
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.removeContactDetail(localDetailID));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Remove contact detail failed: " + status);
// return false;
// }
// Log.i (LOG_TAG, "Contact detail removed successfully");
// } catch (RemoteException e) {
// Log.e(LOG_TAG,
// "Remote exception has occurred while removing contact detail");
// return false;
// }
// return true;
// }
// 
// public boolean modifyContactDetail(ContactDetail detail) {
// Log.i (LOG_TAG, "Calling modifyContactDetail ()");
// try {
// ServiceStatus status =
// ServiceStatus.fromInteger(mRemoteService.modifyContactDetail(detail));
// if (ServiceStatus.SUCCESS != status) {
// Log.e(LOG_TAG, "Modify contact detail failed: " + status);
// return false;
// }
// Log.i (LOG_TAG, "Modify contact details successful");
// } catch (RemoteException e) {
// Log.e("NowPlusServiceTestHelper",
// "Remote exception has occurred while modifying contact detail");
// return false;
// }
// return true;
// }
// 
public boolean register(RegistrationDetails details) {
    ServiceStatus status = ServiceStatus.SUCCESS;
    synchronized (mUiRequestLock) {
        status = startSynchronousRequest(ServiceUiRequest.REGISTRATION);
        mPeopleService.register(details);
    // status = finishSynchronousRequest(status, null);
    }
    Log.i("NowPlusServiceTestHelper", "Registration result: " + status);
    return (status.equals(ServiceStatus.SUCCESS));
}
Also used : ServiceStatus(com.vodafone360.people.service.ServiceStatus)

Example 8 with ContactSummary

use of com.vodafone360.people.datatypes.ContactSummary in project 360-Engine-for-Android by 360.

the class NowPlusContactSummaryTest method testRemovingContactSummary.

/**
 * Tests removing a contact summary.
 */
@SmallTest
public void testRemovingContactSummary() {
    Log.i(LOG_TAG, "***** EXECUTING testRemovingContactSummary *****");
    Log.i(LOG_TAG, "Create ContactSummaryTable");
    ContactSummaryTable.create(mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Add a contact to ContactSummaryTable");
    final Contact contact = mTestModule.createDummyContactData();
    contact.localContactID = new Long(10);
    contact.nativeContactId = new Integer(11);
    ContactSummaryTable.addContact(contact, mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Fetching a ContactSummary from ContactSummaryTable to check that it exists");
    ContactSummary contactSummary = new ContactSummary();
    ServiceStatus serviceStatus = ContactSummaryTable.fetchSummaryItem(contact.localContactID, contactSummary, mTestDatabase.getReadableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    Log.i(LOG_TAG, "Delete the contact from ContactSummaryTable");
    serviceStatus = ContactSummaryTable.deleteContact(contact.localContactID, mTestDatabase.getWritableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    Log.i(LOG_TAG, "Try to fetching a ContactSummary from ContactSummaryTable to check that it is not possible anymore");
    contactSummary = new ContactSummary();
    serviceStatus = ContactSummaryTable.fetchSummaryItem(contact.localContactID, contactSummary, mTestDatabase.getReadableDatabase());
    assertTrue(ServiceStatus.SUCCESS != serviceStatus);
}
Also used : ContactSummary(com.vodafone360.people.datatypes.ContactSummary) ServiceStatus(com.vodafone360.people.service.ServiceStatus) Contact(com.vodafone360.people.datatypes.Contact) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 9 with ContactSummary

use of com.vodafone360.people.datatypes.ContactSummary in project 360-Engine-for-Android by 360.

the class NowPlusContactSummaryTest method testModifyingingContactSummary.

/**
 * Tests modifying a contact summary.
 */
@SmallTest
public void testModifyingingContactSummary() {
    Log.i(LOG_TAG, "***** EXECUTING testModifyingingContactSummary *****");
    Log.i(LOG_TAG, "Create ContactSummaryTable");
    ContactSummaryTable.create(mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Add a contact to ContactSummaryTable");
    final Contact contact = mTestModule.createDummyContactData();
    contact.localContactID = new Long(10);
    contact.nativeContactId = new Integer(11);
    ContactSummaryTable.addContact(contact, mTestDatabase.getWritableDatabase());
    Log.i(LOG_TAG, "Fetching a ContactSummary from ContactSummaryTable");
    ContactSummary contactSummary = new ContactSummary();
    ServiceStatus serviceStatus = ContactSummaryTable.fetchSummaryItem(contact.localContactID, contactSummary, mTestDatabase.getReadableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    compareContactWithContactSummary(contact, contactSummary);
    Log.i(LOG_TAG, "Modify a contact");
    final Contact contact2 = copyContact(contact);
    contact2.synctophone = !contact.synctophone;
    serviceStatus = ContactSummaryTable.modifyContact(contact2, mTestDatabase.getWritableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    Log.i(LOG_TAG, "Fetching a ContactSummary from ContactSummaryTable");
    contactSummary = new ContactSummary();
    serviceStatus = ContactSummaryTable.fetchSummaryItem(contact.localContactID, contactSummary, mTestDatabase.getReadableDatabase());
    assertEquals(ServiceStatus.SUCCESS, serviceStatus);
    // by doing so, we should get back to the original if it was correctly
    // modified
    contactSummary.synctophone = !contactSummary.synctophone;
    compareContactWithContactSummary(contact, contactSummary);
}
Also used : ContactSummary(com.vodafone360.people.datatypes.ContactSummary) ServiceStatus(com.vodafone360.people.service.ServiceStatus) Contact(com.vodafone360.people.datatypes.Contact) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 10 with ContactSummary

use of com.vodafone360.people.datatypes.ContactSummary in project 360-Engine-for-Android by 360.

the class ChatDbUtils method fillInContactDetails.

/**
 * Remove hard code
 *
 * @param msg
 * @param item
 * @param databaseHelper
 * @param incoming
 */
private static void fillInContactDetails(ChatMessage msg, TimelineSummaryItem item, DatabaseHelper databaseHelper, TimelineSummaryItem.Type incoming) {
    item.mTimestamp = System.currentTimeMillis();
    // here we set the time stamp back into the chat message
    // in order to be able to remove it from the chat history by time stamp in case its delivery fails
    msg.setTimeStamp(item.mTimestamp);
    item.mType = ActivityItem.Type.MESSAGE_IM_CONVERSATION;
    item.mDescription = msg.getBody();
    item.mTitle = DateFormat.getDateInstance().format(new Date(item.mTimestamp));
    // we store sender's localContactId for incoming msgs and recipient's
    // localContactId for outgoing msgs
    item.mLocalContactId = msg.getLocalContactId();
    if (item.mLocalContactId != null && item.mLocalContactId != -1) {
        ContactDetail cd = ContactDetailsTable.fetchDetail(item.mLocalContactId, DetailKeys.VCARD_NAME, databaseHelper.getReadableDatabase());
        if (cd == null || cd.getName() == null) {
            // if we don't get any details, we have to check the summary
            // table because gtalk contacts
            // without name will be otherwise show as unknown
            ContactSummary contactSummary = new ContactSummary();
            ServiceStatus error = ContactSummaryTable.fetchSummaryItem(item.mLocalContactId, contactSummary, databaseHelper.getReadableDatabase());
            if (error == ServiceStatus.SUCCESS) {
                item.mContactName = (contactSummary.formattedName != null) ? contactSummary.formattedName : ContactDetail.UNKNOWN_NAME;
            } else {
                item.mContactName = ContactDetail.UNKNOWN_NAME;
            }
        } else {
            /**
             * Get name from contact details. *
             */
            VCardHelper.Name name = cd.getName();
            item.mContactName = (name != null) ? name.toString() : ContactDetail.UNKNOWN_NAME;
        }
    }
    item.mIncoming = incoming;
    item.mContactNetwork = SocialNetwork.getSocialNetworkValue(msg.getNetworkId()).toString();
    item.mNativeItemType = TimelineNativeTypes.ChatLog.ordinal();
}
Also used : ContactDetail(com.vodafone360.people.datatypes.ContactDetail) ContactSummary(com.vodafone360.people.datatypes.ContactSummary) ServiceStatus(com.vodafone360.people.service.ServiceStatus) VCardHelper(com.vodafone360.people.datatypes.VCardHelper) Date(java.util.Date)

Aggregations

ContactSummary (com.vodafone360.people.datatypes.ContactSummary)18 ServiceStatus (com.vodafone360.people.service.ServiceStatus)18 Contact (com.vodafone360.people.datatypes.Contact)15 ContactDetail (com.vodafone360.people.datatypes.ContactDetail)9 Cursor (android.database.Cursor)8 Suppress (android.test.suitebuilder.annotation.Suppress)8 ContentValues (android.content.ContentValues)7 MediumTest (android.test.suitebuilder.annotation.MediumTest)6 Uri (android.net.Uri)5 VCardHelper (com.vodafone360.people.datatypes.VCardHelper)4 SmallTest (android.test.suitebuilder.annotation.SmallTest)3 SQLException (android.database.SQLException)2 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)2 LargeTest (android.test.suitebuilder.annotation.LargeTest)2 User (com.vodafone360.people.engine.presence.User)2 Hashtable (java.util.Hashtable)2 SQLiteException (android.database.sqlite.SQLiteException)1 SQLiteStatement (android.database.sqlite.SQLiteStatement)1 ActivityContact (com.vodafone360.people.datatypes.ActivityContact)1 ActivityItem (com.vodafone360.people.datatypes.ActivityItem)1