From 364a374292f587780d7ce23c1e6393f58ba8a0c1 Mon Sep 17 00:00:00 2001 From: ganfra Date: Mon, 9 Dec 2024 11:22:53 +0100 Subject: [PATCH] knock request : emit accept single request from banner --- .../knockrequests/impl/banner/KnockRequestsBannerEvents.kt | 4 +--- .../impl/banner/KnockRequestsBannerPresenter.kt | 2 +- .../knockrequests/impl/banner/KnockRequestsBannerView.kt | 6 +++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerEvents.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerEvents.kt index 28938a2c26..14239d93ef 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerEvents.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerEvents.kt @@ -7,9 +7,7 @@ package io.element.android.features.knockrequests.impl.banner -import io.element.android.features.knockrequests.impl.KnockRequest - sealed interface KnockRequestsBannerEvents { - data class Accept(val knockRequest: KnockRequest) : KnockRequestsBannerEvents + data object AcceptSingleRequest : KnockRequestsBannerEvents data object Dismiss : KnockRequestsBannerEvents } diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerPresenter.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerPresenter.kt index 513042fc37..a61236bbb0 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerPresenter.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerPresenter.kt @@ -24,7 +24,7 @@ class KnockRequestsBannerPresenter @Inject constructor() : Presenter Unit + is KnockRequestsBannerEvents.AcceptSingleRequest -> Unit is KnockRequestsBannerEvents.Dismiss -> { shouldShowBanner = false } diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt index 4ef26d460e..402b8ba182 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt @@ -90,6 +90,10 @@ private fun KnockRequestsBannerContent( state.eventSink(KnockRequestsBannerEvents.Dismiss) } + fun onAcceptClick() { + state.eventSink(KnockRequestsBannerEvents.AcceptSingleRequest) + } + Column( modifier .fillMaxWidth() @@ -149,7 +153,7 @@ private fun KnockRequestsBannerContent( if (state.canAccept) { Button( text = stringResource(R.string.screen_room_single_knock_request_accept_button_title), - onClick = {}, + onClick = ::onAcceptClick, size = ButtonSize.MediumLowPadding, modifier = Modifier.weight(1f), )