use of com.vodafone360.people.service.PersistSettings 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));
}
use of com.vodafone360.people.service.PersistSettings in project 360-Engine-for-Android by 360.
the class StateTable method create.
/**
* Create Settings Table and add a record with default setting values.
*
* @param writableDb A writable SQLite database.
*/
public static void create(final SQLiteDatabase writableDb) {
DatabaseHelper.trace(true, "StateTable.create()");
String createSql = "CREATE TABLE " + TABLE_NAME + " (" + Field.STATEID + " INTEGER PRIMARY KEY, " + Field.USERNAME + " TEXT, " + Field.PASSWORD + " BINARY, " + Field.MOBILENO + " TEXT, " + Field.SUBSCIBERID + " TEXT, " + Field.REMEMBERME + " BOOLEAN, " + Field.AUTOCONNECT + " BOOLEAN, " + Field.REGISTRATIONCOMPLETE + " BOOLEAN," + Field.SESSIONID + " TEXT," + Field.SESSIONSECRET + " TEXT," + Field.SESSIONUSERID + " LONG," + Field.SESSIONUSERNAME + " TEXT," + Field.CONTACTSREVISION + " LONG," + Field.MYCONTACTID + " LONG," + /**
* AA added fields to store the public key. *
*/
Field.PUBLICKEYEXPONENTIAL + " BINARY," + Field.PUBLICKEYMODULO + " BINARY," + Field.PUBLICKEYBASE64 + " TEXT," + Field.PUBLICKEYX509 + " BINARY," + /**
* End added fields to store the public key. *
*/
Field.MYCONTACTCHANGED + " BOOLEAN," + Field.MYCONTACTPICTURECHANGED + " BOOLEAN," + Field.NATIVEDBCHANGED + " BOOLEAN," + Field.LASTSTATUSUPDATE + " LONG," + Field.OLDESTSTATUSUPDATE + " LONG," + Field.LASTPHONECALLUPDATE + " LONG," + Field.OLDESTPHONECALL + " LONG," + Field.LASTSMSUPDATE + " LONG," + Field.OLDESTSMS + " LONG," + Field.LASTMMSUPDATE + " LONG," + Field.OLDESTMMS + " LONG," + Field.MEPROFILEREVISION + " LONG," + Field.MEPROFILEAVATARCHANGED + " BOOLEAN,";
// Add additional settings from the PersistSettings object
for (PersistSettings.Option option : PersistSettings.Option.values()) {
createSql += option.tableFieldName() + " " + option.getType().getDbType() + ",";
}
createSql = createSql.substring(0, createSql.length() - 1);
createSql += ");";
writableDb.execSQL(createSql);
/*
* Insert a setting record with default values into the table
*/
final ContentValues values = new ContentValues();
values.put(Field.STATEID.toString(), PRIMARY_STATE_KEY_VALUE);
final PersistSettings setting = new PersistSettings();
for (PersistSettings.Option option : PersistSettings.Option.values()) {
setting.putDefaultOptionData(option);
PersistSettings.addToContentValues(values, setting);
}
writableDb.insertOrThrow(TABLE_NAME, null, values);
}
use of com.vodafone360.people.service.PersistSettings in project 360-Engine-for-Android by 360.
the class StateTable method fetchOption.
/**
* Fetches an option from the settings table.
*
* @param option Specifies which option is required
* @param readableDb Readable SQLite database for fetching the information
* @return A PersistSettings object containing the option data if
* successful, null otherwise.
*/
public static PersistSettings fetchOption(final PersistSettings.Option option, final SQLiteDatabase readableDb) {
if (Settings.ENABLED_DATABASE_TRACE) {
DatabaseHelper.trace(false, "StateTable.fetchOption() name[" + option.tableFieldName() + "] value[" + option.defaultValue() + "] type[" + option.getType() + "]");
}
Cursor c = null;
try {
c = readableDb.rawQuery("SELECT " + option.tableFieldName() + " FROM " + TABLE_NAME + " WHERE " + Field.STATEID + " = " + PRIMARY_STATE_KEY_VALUE, null);
if (!c.moveToFirst()) {
LogUtils.logE("StateTable.fetchOption() Unable to find option " + "in the database, option[" + option + "]");
return null;
}
final PersistSettings setting = new PersistSettings();
Object data = null;
if (!c.isNull(0)) {
data = PersistSettings.fetchValueFromCursor(c, 0, c.getColumnName(0));
}
setting.putOptionData(option, data);
LogUtils.logD("StateTable.fetchOption() Fetched option[" + option + "]");
return setting;
} catch (Exception e) {
LogUtils.logE("StateTable.fetchOption() Exception - Unable to " + "fetch options from database", e);
return null;
} finally {
CloseUtils.close(c);
c = null;
}
}
use of com.vodafone360.people.service.PersistSettings in project 360-Engine-for-Android by 360.
the class ContactSyncEngine method setFirstTimeSyncComplete.
/**
* Helper function to update the database when the state of the
* {@link #mFirstTimeSyncComplete} flag changes.
*
* @param value New value to the flag. True indicates that first time sync
* has been completed. The flag is never set to false again by
* the engine, it will be only set to false when a remove user
* data is done (and the database is deleted).
* @return SUCCESS or a suitable error code if the database could not be
* updated.
*/
private ServiceStatus setFirstTimeSyncComplete(boolean value) {
if (mFirstTimeSyncComplete == value) {
return ServiceStatus.SUCCESS;
}
PersistSettings setting = new PersistSettings();
setting.putFirstTimeSyncComplete(value);
ServiceStatus status = mDb.setOption(setting);
if (ServiceStatus.SUCCESS == status) {
synchronized (this) {
mFirstTimeSyncComplete = value;
}
}
return status;
}
use of com.vodafone360.people.service.PersistSettings in project 360-Engine-for-Android by 360.
the class ContactSyncEngine method onCreate.
/**
* Called after the engine has been created to do some extra initialisation.
*/
@Override
public void onCreate() {
mDb.addEventCallback(mDbChangeHandler);
PersistSettings setting1 = mDb.fetchOption(PersistSettings.Option.FIRST_TIME_SYNC_STARTED);
PersistSettings setting2 = mDb.fetchOption(PersistSettings.Option.FIRST_TIME_SYNC_COMPLETE);
PersistSettings setting3 = mDb.fetchOption(PersistSettings.Option.FIRST_TIME_NATIVE_SYNC_COMPLETE);
if (setting1 != null) {
mFirstTimeSyncStarted = setting1.getFirstTimeSyncStarted();
}
if (setting2 != null) {
mFirstTimeSyncComplete = setting2.getFirstTimeSyncComplete();
}
if (setting3 != null) {
mFirstTimeNativeSyncComplete = setting3.getFirstTimeNativeSyncComplete();
}
LogUtils.logI("ContactSyncEngine.onCreate() " + "[mFirstTimeSyncStarted==" + mFirstTimeSyncStarted + ", mFirstTimeSyncComplete==" + mFirstTimeSyncComplete + ", mFirstTimeNativeSyncComplete==" + mFirstTimeNativeSyncComplete + "]");
if (mFetchNativeContactsOnChange) {
mNativeContactsApi.registerObserver(this);
}
if (mFirstTimeSyncComplete) {
// native sync shall be performed only if the first time sync has
// been completed
startUpdateNativeContactSyncTimer();
startFetchNativeContactSyncTimer();
}
}
Aggregations