Skip to content

Commit

Permalink
chore: address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
ohassine committed Feb 10, 2025
1 parent 2493acd commit 4572ce6
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ import com.wire.kalium.logic.feature.call.usecase.UpdateConversationClientsForCu
import com.wire.kalium.logic.feature.call.usecase.video.SetVideoSendStateUseCase
import com.wire.kalium.logic.feature.call.usecase.video.UpdateVideoStateUseCase
import com.wire.kalium.logic.feature.user.ShouldAskCallFeedbackUseCase
import com.wire.kalium.logic.feature.user.shouldAskCallFeedbackUseCase
import com.wire.kalium.logic.feature.user.UpdateNextTimeCallFeedbackUseCase
import com.wire.kalium.logic.featureFlags.KaliumConfigs
import com.wire.kalium.logic.sync.SyncManager
Expand Down Expand Up @@ -236,7 +235,7 @@ class CallsScope internal constructor(
get() = observeAskCallFeedbackUseCase(EndCallResultListenerImpl)

private val shouldAskCallFeedback: ShouldAskCallFeedbackUseCase by lazy {
shouldAskCallFeedbackUseCase(userConfigRepository)
ShouldAskCallFeedbackUseCase(userConfigRepository)
}

val updateNextTimeCallFeedback: UpdateNextTimeCallFeedbackUseCase by lazy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import com.wire.kalium.util.KaliumDispatcher
import com.wire.kalium.util.KaliumDispatcherImpl
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.withContext
import kotlinx.datetime.toInstant

/**
* This use case is responsible for ending a call.
Expand Down Expand Up @@ -77,6 +78,6 @@ internal class EndCallUseCaseImpl(

callManager.value.endCall(conversationId)
callRepository.updateIsCameraOnById(conversationId, false)
endCallListener.onCallEndedAskForFeedback(shouldAskCallFeedback(endedCall?.establishedTime))
endCallListener.onCallEndedAskForFeedback(shouldAskCallFeedback(endedCall?.establishedTime?.toInstant()))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,19 @@ import kotlinx.datetime.Instant
*/
interface ShouldAskCallFeedbackUseCase {
suspend operator fun invoke(
establishedTime: String?,
currentTime: String = DateTimeUtil.currentIsoDateTimeString()
establishedTime: Instant?,
currentTime: Instant = DateTimeUtil.currentInstant()
): ShouldAskCallFeedbackUseCaseResult
}

internal fun shouldAskCallFeedbackUseCase(
@Suppress("FunctionNaming")
internal fun ShouldAskCallFeedbackUseCase(
userConfigRepository: UserConfigRepository
) = object : ShouldAskCallFeedbackUseCase {

override suspend fun invoke(
establishedTime: String?,
currentTime: String
establishedTime: Instant?,
currentTime: Instant
): ShouldAskCallFeedbackUseCaseResult {
val callDurationInSeconds = establishedTime?.let {
DateTimeUtil.calculateMillisDifference(it, currentTime) / MILLIS_IN_SECOND
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import com.wire.kalium.logic.util.arrangement.repository.UserConfigRepositoryArr
import com.wire.kalium.util.DateTimeUtil
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.runTest
import kotlinx.datetime.Instant
import kotlin.test.Test
import kotlin.test.assertTrue
import kotlin.time.Duration.Companion.days
Expand Down Expand Up @@ -94,12 +95,12 @@ class ShouldAskCallFeedbackUseCaseTest {

fun arrange(block: suspend Arrangement.() -> Unit): Pair<Arrangement, ShouldAskCallFeedbackUseCase> {
runBlocking { block() }
return this to shouldAskCallFeedbackUseCase(userConfigRepository)
return this to ShouldAskCallFeedbackUseCase(userConfigRepository)
}
}

companion object {
const val ESTABLISHED_TIME = "2024-02-03T15:36:00.000Z"
const val CURRENT_TIME = "2024-02-03T15:36:09.000Z"
val ESTABLISHED_TIME = Instant.parse("2024-02-03T15:36:00.000Z")
val CURRENT_TIME = Instant.parse("2024-02-03T15:36:09.000Z")
}
}

0 comments on commit 4572ce6

Please sign in to comment.