Fixed navigation issues + ensure friend is freed

This commit is contained in:
Sylvain Berfini 2022-03-08 11:36:01 +01:00
parent 4c616cc395
commit 465e41ae79
2 changed files with 10 additions and 4 deletions

View file

@ -979,7 +979,7 @@ internal fun CallActivity.navigateToOutgoingCall() {
findNavController(R.id.nav_host_fragment).navigate(
R.id.action_global_outgoingCallFragment,
null,
popupTo(R.id.singleCallFragment, true)
popupTo(R.id.outgoingCallFragment, true)
)
}
@ -989,7 +989,7 @@ internal fun CallActivity.navigateToIncomingCall(earlyMediaVideoEnabled: Boolean
findNavController(R.id.nav_host_fragment).navigate(
R.id.action_global_incomingCallFragment,
args,
popupTo(R.id.singleCallFragment, true)
popupTo(R.id.incomingCallFragment, true)
)
}
@ -997,7 +997,7 @@ internal fun OutgoingCallFragment.navigateToActiveCall() {
findNavController().navigate(
R.id.action_global_singleCallFragment,
null,
popupTo(R.id.outgoingCallFragment, true)
popupTo(R.id.singleCallFragment, true)
)
}
@ -1005,7 +1005,7 @@ internal fun IncomingCallFragment.navigateToActiveCall() {
findNavController().navigate(
R.id.action_global_singleCallFragment,
null,
popupTo(R.id.incomingCallFragment, true)
popupTo(R.id.singleCallFragment, true)
)
}

View file

@ -173,6 +173,12 @@ class ContactsManager(private val context: Context) {
@Synchronized
fun updateContacts(all: ArrayList<Contact>) {
friendsMap.clear()
// Contact has a Friend field and Friend can have a Contact has userData
// Friend also keeps a ref on the Core, so we have to clean them
for (contact in contacts) {
contact.friend = null
}
contacts.clear()
contacts.addAll(all)