diff --git a/app/src/main/java/org/linphone/ui/main/contacts/model/ContactNumberOrAddressModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/model/ContactNumberOrAddressModel.kt index ffb1d8b80..eeb397e8f 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/model/ContactNumberOrAddressModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/model/ContactNumberOrAddressModel.kt @@ -39,15 +39,24 @@ class ContactNumberOrAddressModel ) { val selected = MutableLiveData() + private var actionDoneCallback: (() -> Unit)? = null + + @UiThread + fun setActionDoneCallback(lambda: () -> Unit) { + actionDoneCallback = lambda + } + @UiThread fun onClicked() { listener.onClicked(this) + actionDoneCallback?.invoke() } @UiThread fun onLongPress(): Boolean { selected.value = true listener.onLongPress(this) + actionDoneCallback?.invoke() return true } } diff --git a/app/src/main/java/org/linphone/ui/main/contacts/model/NumberOrAddressPickerDialogModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/model/NumberOrAddressPickerDialogModel.kt index cecf31c79..ff4d21558 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/model/NumberOrAddressPickerDialogModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/model/NumberOrAddressPickerDialogModel.kt @@ -33,6 +33,11 @@ class NumberOrAddressPickerDialogModel val dismissEvent = MutableLiveData>() init { + for (model in list) { + model.setActionDoneCallback { + dismiss() + } + } sipAddressesAndPhoneNumbers.value = list }