/* This is the callback function which is called when server returns the addressbook*/ public void postAddressBook_Callback(JObject jsonForAddressBookAndBlockList) { // test this is called JObject obj = jsonForAddressBookAndBlockList; if (obj == null) { Debug.WriteLine("Post addbook request returned unsuccessfully .... "); ContactUtils.ContactState = ContactUtils.ContactScanState.ADDBOOK_STORE_FAILED; Deployment.Current.Dispatcher.BeginInvoke(() => { // if next button is clicked show the error msg if (isClicked) { this.msgTxtBlk.Opacity = 0; this.nameErrorTxt.Text = AppResources.Contact_Scanning_Failed_Txt; this.nameErrorTxt.Visibility = Visibility.Visible; this.progressBar.IsEnabled = false; this.progressBar.Opacity = 0; this.nextIconButton.IsEnabled = true; this.txtBxEnterName.IsReadOnly = false; isClicked = false; } }); return; } Debug.WriteLine("Post addbook request returned successfully .... "); List <ContactInfo> addressbook = AccountUtils.getContactList(jsonForAddressBookAndBlockList, ContactUtils.contactsMap, false); List <string> blockList = AccountUtils.getBlockList(jsonForAddressBookAndBlockList); int count = 1; // waiting for DB to be created while (!App.appSettings.Contains(App.IS_DB_CREATED) && count <= 120) { Thread.Sleep(1 * 500); count++; } if (!App.appSettings.Contains(App.IS_DB_CREATED)) // if DB is not created for so long { Deployment.Current.Dispatcher.BeginInvoke(() => { Debug.WriteLine("Phone DB is not created in time .... "); ContactUtils.ContactState = ContactUtils.ContactScanState.ADDBOOK_STORE_FAILED; this.msgTxtBlk.Text = AppResources.EnterName_Failed_Txt; }); return; } try { // if addressbook is null, then also user should be able to move inside app. UsersTableUtils.deleteAllContacts(); UsersTableUtils.deleteBlocklist(); Stopwatch st = Stopwatch.StartNew(); UsersTableUtils.addContacts(addressbook); // add the contacts to hike users db. st.Stop(); long msec = st.ElapsedMilliseconds; Debug.WriteLine("Time to add addressbook {0}", msec); UsersTableUtils.addBlockList(blockList); } catch (Exception e) { Debug.WriteLine("EnterName :: postAddressBook_Callback : Exception : " + e.StackTrace); } Debug.WriteLine("Addbook stored in Hike Db .... "); App.WriteToIsoStorageSettings(ContactUtils.IS_ADDRESS_BOOK_SCANNED, true); ContactUtils.ContactState = ContactUtils.ContactScanState.ADDBOOK_STORED_IN_HIKE_DB; }