change (media preview config) : introduce new apis from sdk
This commit is contained in:
parent
03fded9ae7
commit
416f4f2215
8 changed files with 227 additions and 0 deletions
|
|
@ -17,7 +17,10 @@ import io.element.android.libraries.matrix.api.core.SessionId
|
|||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.createroom.CreateRoomParameters
|
||||
import io.element.android.libraries.matrix.api.encryption.EncryptionService
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewConfig
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewValue
|
||||
import io.element.android.libraries.matrix.api.media.MatrixMediaLoader
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewService
|
||||
import io.element.android.libraries.matrix.api.notification.NotificationService
|
||||
import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService
|
||||
import io.element.android.libraries.matrix.api.oidc.AccountManagementAction
|
||||
|
|
@ -36,6 +39,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
|
|||
import io.element.android.libraries.matrix.api.verification.SessionVerificationService
|
||||
import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService
|
||||
import io.element.android.libraries.matrix.test.media.FakeMatrixMediaLoader
|
||||
import io.element.android.libraries.matrix.test.media.FakeMediaPreviewService
|
||||
import io.element.android.libraries.matrix.test.notification.FakeNotificationService
|
||||
import io.element.android.libraries.matrix.test.notificationsettings.FakeNotificationSettingsService
|
||||
import io.element.android.libraries.matrix.test.pushers.FakePushersService
|
||||
|
|
@ -72,6 +76,7 @@ class FakeMatrixClient(
|
|||
private val syncService: FakeSyncService = FakeSyncService(),
|
||||
private val encryptionService: FakeEncryptionService = FakeEncryptionService(),
|
||||
private val roomDirectoryService: RoomDirectoryService = FakeRoomDirectoryService(),
|
||||
private val mediaPreviewService: MediaPreviewService = FakeMediaPreviewService(),
|
||||
private val accountManagementUrlResult: (AccountManagementAction?) -> Result<String?> = { lambdaError() },
|
||||
private val resolveRoomAliasResult: (RoomAlias) -> Result<Optional<ResolvedRoomAlias>> = {
|
||||
Result.success(
|
||||
|
|
@ -91,6 +96,7 @@ class FakeMatrixClient(
|
|||
private val canReportRoomLambda: () -> Boolean = { false },
|
||||
private val isLivekitRtcSupportedLambda: () -> Boolean = { false },
|
||||
override val ignoredUsersFlow: StateFlow<ImmutableList<UserId>> = MutableStateFlow(persistentListOf()),
|
||||
|
||||
) : MatrixClient {
|
||||
var setDisplayNameCalled: Boolean = false
|
||||
private set
|
||||
|
|
@ -234,11 +240,13 @@ class FakeMatrixClient(
|
|||
override fun notificationService(): NotificationService = notificationService
|
||||
override fun notificationSettingsService(): NotificationSettingsService = notificationSettingsService
|
||||
override fun encryptionService(): EncryptionService = encryptionService
|
||||
override fun mediaPreviewService(): MediaPreviewService = mediaPreviewService
|
||||
|
||||
override fun roomMembershipObserver(): RoomMembershipObserver {
|
||||
return RoomMembershipObserver()
|
||||
}
|
||||
|
||||
|
||||
// Mocks
|
||||
|
||||
fun givenCreateRoomResult(result: Result<RoomId>) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright 2025 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.test.media
|
||||
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewConfig
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewService
|
||||
import io.element.android.libraries.matrix.api.media.MediaPreviewValue
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
import io.element.android.tests.testutils.simulateLongTask
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
|
||||
class FakeMediaPreviewService(
|
||||
private val fetchMediaPreviewConfigResult: () -> Result<MediaPreviewConfig?> = { lambdaError() },
|
||||
private val mediaPreviewConfigFlow: Flow<MediaPreviewConfig?> = flowOf(null),
|
||||
private val getMediaPreviewValue: ()-> MediaPreviewValue? = { null },
|
||||
private val getHideInviteAvatars: () -> Boolean = { false },
|
||||
private val setMediaPreviewValueResult: (MediaPreviewValue) -> Result<Unit> = { lambdaError() },
|
||||
private val setHideInviteAvatarsResult: (Boolean) -> Result<Unit> = { lambdaError() },
|
||||
): MediaPreviewService {
|
||||
|
||||
override suspend fun fetchMediaPreviewConfig(): Result<MediaPreviewConfig?> = simulateLongTask {
|
||||
fetchMediaPreviewConfigResult()
|
||||
}
|
||||
|
||||
override fun getMediaPreviewConfigFlow(): Flow<MediaPreviewConfig?> {
|
||||
return mediaPreviewConfigFlow
|
||||
}
|
||||
|
||||
override suspend fun getMediaPreviewValue(): MediaPreviewValue? = simulateLongTask {
|
||||
getMediaPreviewValue.invoke()
|
||||
}
|
||||
|
||||
override suspend fun getHideInviteAvatars(): Boolean = simulateLongTask {
|
||||
getHideInviteAvatars.invoke()
|
||||
}
|
||||
|
||||
override suspend fun setMediaPreviewValue(mediaPreviewValue: MediaPreviewValue): Result<Unit> = simulateLongTask {
|
||||
setMediaPreviewValueResult(mediaPreviewValue)
|
||||
}
|
||||
|
||||
override suspend fun setHideInviteAvatars(hide: Boolean): Result<Unit> = simulateLongTask {
|
||||
setHideInviteAvatarsResult(hide)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue