Import: Fix address book import.

The import code assumed there can be only one address book, and that
it's the main one. This commit fixes that wrong assumption.
pull/14/head
Tom Hacohen 7 years ago
parent e729bcff42
commit 2f95ddbda2

@ -307,7 +307,7 @@ public class ImportFragment extends DialogFragment {
finishParsingFile(contacts.length);
ContentProviderClient provider = getContext().getContentResolver().acquireContentProviderClient(ContactsContract.RawContacts.CONTENT_URI);
LocalAddressBook localAddressBook = new LocalAddressBook(getContext(), account, provider);
LocalAddressBook localAddressBook = LocalAddressBook.findByUid(getContext(), provider, account, info.uid);
for (Contact contact : contacts) {
try {
@ -332,7 +332,7 @@ public class ImportFragment extends DialogFragment {
} catch (FileNotFoundException e) {
result.e = e;
return result;
} catch (InvalidCalendarException | IOException e) {
} catch (InvalidCalendarException | IOException | ContactsStorageException e) {
result.e = e;
return result;
}

@ -152,8 +152,9 @@ public class LocalContactImportFragment extends Fragment {
private ResultFragment.ImportResult importContacts(LocalAddressBook localAddressBook) {
ResultFragment.ImportResult result = new ResultFragment.ImportResult();
try {
LocalAddressBook addressBook = new LocalAddressBook(getContext(), account,
getContext().getContentResolver().acquireContentProviderClient(ContactsContract.RawContacts.CONTENT_URI));
LocalAddressBook addressBook = LocalAddressBook.findByUid(getContext(),
getContext().getContentResolver().acquireContentProviderClient(ContactsContract.RawContacts.CONTENT_URI),
account, info.uid);
LocalContact[] localContacts = localAddressBook.getAll();
int total = localContacts.length;
progressDialog.setMax(total);

Loading…
Cancel
Save