diff --git a/CHANGELOG.md b/CHANGELOG.md index 29c2c3c..fdb1f52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [0.0.9] - October 10th, 2018 +* Fix an issue when fetching contacts on Android + ## [0.0.8] - August 16th, 2018 * Fix an issue with phones being added to emails on Android * Update plugin for dart 2 diff --git a/android/src/main/java/flutter/plugins/contactsservice/contactsservice/ContactsServicePlugin.java b/android/src/main/java/flutter/plugins/contactsservice/contactsservice/ContactsServicePlugin.java index 18fdbc7..6168643 100644 --- a/android/src/main/java/flutter/plugins/contactsservice/contactsservice/ContactsServicePlugin.java +++ b/android/src/main/java/flutter/plugins/contactsservice/contactsservice/ContactsServicePlugin.java @@ -39,8 +39,6 @@ public class ContactsServicePlugin implements MethodCallHandler { private final ContentResolver contentResolver; - private Result getContactResult; - public static void registerWith(Registrar registrar) { final MethodChannel channel = new MethodChannel(registrar.messenger(), "github.com/clovisnicolas/flutter_contacts"); channel.setMethodCallHandler(new ContactsServicePlugin(registrar.context().getContentResolver())); @@ -50,8 +48,7 @@ public static void registerWith(Registrar registrar) { public void onMethodCall(MethodCall call, Result result) { switch(call.method){ case "getContacts": - getContactResult = result; - this.getContacts((String)call.arguments); + this.getContacts((String)call.arguments, result); break; case "addContact": Contact c = Contact.fromMap((HashMap)call.arguments); @@ -108,13 +105,19 @@ public void onMethodCall(MethodCall call, Result result) { @TargetApi(Build.VERSION_CODES.ECLAIR) - private void getContacts(String query) { - new GetContactsTask().execute(new String[] {query}); + private void getContacts(String query, Result result) { + new GetContactsTask(result).execute(new String[] {query}); } @TargetApi(Build.VERSION_CODES.CUPCAKE) private class GetContactsTask extends AsyncTask> { + private Result getContactResult; + + public GetContactsTask(Result result){ + this.getContactResult = result; + } + @TargetApi(Build.VERSION_CODES.ECLAIR) protected ArrayList doInBackground(String... query) { ArrayList contacts = getContactsFrom(getCursor(query[0])); diff --git a/pubspec.yaml b/pubspec.yaml index 34e11d7..dfd9c78 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: contacts_service description: A Flutter plugin to retrieve and manage contacts on Android and iOS devices. -version: 0.0.8 +version: 0.0.9 author: Clovis Nicolas homepage: https://github.com/clovisnicolas/flutter_contacts