diff --git a/app/src/main/java/org/linphone/contact/ContactsManager.kt b/app/src/main/java/org/linphone/contact/ContactsManager.kt index 401f2c560..623cc1be9 100644 --- a/app/src/main/java/org/linphone/contact/ContactsManager.kt +++ b/app/src/main/java/org/linphone/contact/ContactsManager.kt @@ -92,6 +92,16 @@ class ContactsManager(private val context: Context) { } } + private val coreListener: CoreListenerStub = object : CoreListenerStub() { + override fun onFriendListCreated(core: Core, friendList: FriendList) { + friendList.addListener(friendListListener) + } + + override fun onFriendListRemoved(core: Core, friendList: FriendList) { + friendList.removeListener(friendListListener) + } + } + init { initSyncAccount() @@ -109,6 +119,7 @@ class ContactsManager(private val context: Context) { ) val core = coreContext.core + core.addListener(coreListener) for (list in core.friendsLists) { list.addListener(friendListListener) } @@ -236,6 +247,7 @@ class ContactsManager(private val context: Context) { fun destroy() { val core = coreContext.core for (list in core.friendsLists) list.removeListener(friendListListener) + core.removeListener(coreListener) } private fun initSyncAccount() {