From 61dbecff8dac7eaf69bade19902fed7df0653c51 Mon Sep 17 00:00:00 2001
From: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Date: Mon, 7 Mar 2016 16:19:13 -0500
Subject: [PATCH] contacts: fix loading for some contacts

Timer was not started since the background worker was not a QThread.
This was preventing the async load of the contact list

Change-Id: I4adf9e3d038a2c07d090cef3ad1ac3f3fc72de42
Tuleap: #408
---
 src/backends/AddressBookBackend.mm | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/backends/AddressBookBackend.mm b/src/backends/AddressBookBackend.mm
index a6fd90c6..7cc36a24 100644
--- a/src/backends/AddressBookBackend.mm
+++ b/src/backends/AddressBookBackend.mm
@@ -123,7 +123,6 @@ void AddressBookBackend::handleNotification(NSNotification* ns)
     }
 
     for (NSString* r in ns.userInfo[kABUpdatedRecords]) {
-        NSLog(@"Updated record : %@", r);
         if ([[[ABAddressBook sharedAddressBook] recordClassFromUniqueId:r] containsString:@"ABPerson"]) {
             Person* toUpdate = PersonModel::instance().getPersonByUid([r UTF8String]);
             if (toUpdate) {
@@ -135,7 +134,6 @@ void AddressBookBackend::handleNotification(NSNotification* ns)
     }
 
     for (NSString* r in ns.userInfo[kABDeletedRecords]) {
-        NSLog(@"Deleted person: %@", r);
         removePerson(r);
     }
 }
@@ -195,8 +193,7 @@ bool AddressBookEditor::edit( Person* item)
 
 bool AddressBookEditor::addNew( Person* item)
 {
-    bool ret = m_pCollection->addNewPerson(item);
-    return ret;
+    return m_pCollection->addNewPerson(item);
 }
 
 bool AddressBookEditor::addExisting(const Person* item)
@@ -243,8 +240,8 @@ void AddressBookBackend::asyncLoad(int startingPoint)
 {
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         // do your background tasks here
-        ABAddressBook *book = [ABAddressBook sharedAddressBook];
-        NSArray *everyone = [book people];
+        auto book = [ABAddressBook sharedAddressBook];
+        auto everyone = [book people];
         int endPoint = qMin(startingPoint + 10, (int)everyone.count);
 
         for (int i = startingPoint; i < endPoint; ++i) {
@@ -255,7 +252,7 @@ void AddressBookBackend::asyncLoad(int startingPoint)
         }
 
         if(endPoint < everyone.count) {
-            QTimer::singleShot(100, [=] {
+            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                 asyncLoad(endPoint);
             });
         }
@@ -264,7 +261,7 @@ void AddressBookBackend::asyncLoad(int startingPoint)
 
 Person* AddressBookBackend::abPersonToPerson(ABPerson* ab)
 {
-    Person* person = new Person(QByteArray::fromNSData(ab.vCardRepresentation),
+    auto person = new Person(QByteArray::fromNSData(ab.vCardRepresentation),
                                 Person::Encoding::vCard,
                                 this);
     if(ab.imageData)
-- 
GitLab