Try to prevent crash if contacts changes happens while no activity is available

This commit is contained in:
Sylvain Berfini 2018-10-11 11:29:25 +02:00
parent a9bba699a6
commit 2bd684a7ea

View file

@ -49,6 +49,7 @@ import org.linphone.LinphonePreferences;
import org.linphone.LinphoneService; import org.linphone.LinphoneService;
import org.linphone.LinphoneUtils; import org.linphone.LinphoneUtils;
import org.linphone.R; import org.linphone.R;
import org.linphone.activities.LinphoneActivity;
import org.linphone.core.Address; import org.linphone.core.Address;
import org.linphone.core.Core; import org.linphone.core.Core;
import org.linphone.core.Friend; import org.linphone.core.Friend;
@ -212,7 +213,10 @@ public class ContactsManager extends ContentObserver implements FriendListListen
} else if (mActivity != activity) { } else if (mActivity != activity) {
mActivity = activity; mActivity = activity;
} }
if (mContacts.size() == 0 && hasContactsAccess()) { if (mActivity == null && LinphoneActivity.isInstanciated()) {
mActivity = LinphoneActivity.instance();
}
if (mActivity != null && mContacts.size() == 0 && hasContactsAccess()) {
mActivity.getLoaderManager().initLoader(CONTACTS_LOADER, null, this); mActivity.getLoaderManager().initLoader(CONTACTS_LOADER, null, this);
} }
} }
@ -365,6 +369,13 @@ public class ContactsManager extends ContentObserver implements FriendListListen
} }
public void fetchContactsSync() { public void fetchContactsSync() {
if (mActivity == null && LinphoneActivity.isInstanciated()) {
mActivity = LinphoneActivity.instance();
}
if (mActivity == null) {
Log.w("Can't fetch contacts right now, activity is null...");
return;
}
mActivity.getLoaderManager().initLoader(CONTACTS_LOADER, null, this); mActivity.getLoaderManager().initLoader(CONTACTS_LOADER, null, this);
} }