mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Use the new setIsFavorite api
This commit is contained in:
+1
-1
@@ -156,7 +156,7 @@ interface MatrixRoom : Closeable {
|
||||
|
||||
suspend fun reportContent(eventId: EventId, reason: String, blockUserId: UserId?): Result<Unit>
|
||||
|
||||
suspend fun updateNotableTags(notableTags: RoomNotableTags): Result<Unit>
|
||||
suspend fun setIsFavorite(isFavorite: Boolean): Result<Unit>
|
||||
|
||||
/**
|
||||
* Share a location message in the room.
|
||||
|
||||
+2
@@ -19,7 +19,9 @@ package io.element.android.libraries.matrix.api.room.tags
|
||||
/**
|
||||
* Represents the notable tags of a room.
|
||||
* @param isFavorite true if the room is marked as favorite.
|
||||
* @param isLowPriority true if the room is marked as low priority.
|
||||
*/
|
||||
data class RoomNotableTags(
|
||||
val isFavorite: Boolean = false,
|
||||
val isLowPriority: Boolean = false,
|
||||
)
|
||||
|
||||
+2
-7
@@ -435,14 +435,9 @@ class RustMatrixRoom(
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun updateNotableTags(notableTags: RoomNotableTags): Result<Unit> = withContext(roomDispatcher) {
|
||||
override suspend fun setIsFavorite(isFavorite: Boolean): Result<Unit> = withContext(roomDispatcher) {
|
||||
runCatching {
|
||||
Timber.i("Update notable tags with : $notableTags")
|
||||
innerRoom.updateNotableTags(notableTags.map())
|
||||
}.onFailure {
|
||||
Timber.w("Failed to update notable tags: $it")
|
||||
}.onSuccess {
|
||||
Timber.i("Successfully updated notable tags")
|
||||
innerRoom.setIsFavorite(isFavorite, null)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-2
@@ -20,9 +20,11 @@ import io.element.android.libraries.matrix.api.room.tags.RoomNotableTags
|
||||
import uniffi.matrix_sdk_base.RoomNotableTags as RustRoomNotableTags
|
||||
|
||||
fun RustRoomNotableTags.map() = RoomNotableTags(
|
||||
isFavorite = isFavorite
|
||||
isFavorite = isFavorite,
|
||||
isLowPriority = isLowPriority
|
||||
)
|
||||
|
||||
fun RoomNotableTags.map() = RustRoomNotableTags(
|
||||
isFavorite = isFavorite
|
||||
isFavorite = isFavorite,
|
||||
isLowPriority = isLowPriority
|
||||
)
|
||||
|
||||
+12
-6
@@ -114,7 +114,7 @@ class FakeMatrixRoom(
|
||||
private var getWidgetDriverResult: Result<MatrixWidgetDriver> = Result.success(FakeWidgetDriver())
|
||||
private var canUserTriggerRoomNotificationResult: Result<Boolean> = Result.success(true)
|
||||
private var canUserJoinCallResult: Result<Boolean> = Result.success(true)
|
||||
private var updateNotableTagsResult = Result.success(Unit)
|
||||
private var setIsFavoriteResult = Result.success(Unit)
|
||||
var sendMessageMentions = emptyList<Mention>()
|
||||
val editMessageCalls = mutableListOf<Pair<String, String?>>()
|
||||
private val _typingRecord = mutableListOf<Boolean>()
|
||||
@@ -171,7 +171,7 @@ class FakeMatrixRoom(
|
||||
private val _roomInfoFlow: MutableSharedFlow<MatrixRoomInfo> = MutableSharedFlow(replay = 1)
|
||||
override val roomInfoFlow: Flow<MatrixRoomInfo> = _roomInfoFlow
|
||||
|
||||
private val _notableTagsFlow: MutableSharedFlow<RoomNotableTags> = MutableStateFlow(aRoomNotableTags())
|
||||
private val _notableTagsFlow: MutableStateFlow<RoomNotableTags> = MutableStateFlow(aRoomNotableTags())
|
||||
override val notableTagsFlow: Flow<RoomNotableTags> = _notableTagsFlow
|
||||
|
||||
override val membersStateFlow: MutableStateFlow<MatrixRoomMembersState> = MutableStateFlow(MatrixRoomMembersState.Unknown)
|
||||
@@ -379,9 +379,15 @@ class FakeMatrixRoom(
|
||||
return reportContentResult
|
||||
}
|
||||
|
||||
override suspend fun updateNotableTags(notableTags: RoomNotableTags): Result<Unit> {
|
||||
return updateNotableTagsResult.also { result ->
|
||||
override suspend fun setIsFavorite(isFavorite: Boolean): Result<Unit> {
|
||||
return setIsFavoriteResult.also { result ->
|
||||
if (result.isSuccess) {
|
||||
val lowPriority = if (isFavorite) {
|
||||
false
|
||||
} else {
|
||||
_notableTagsFlow.value.isLowPriority
|
||||
}
|
||||
val notableTags = RoomNotableTags(isFavorite, lowPriority)
|
||||
_notableTagsFlow.emit(notableTags)
|
||||
}
|
||||
}
|
||||
@@ -584,8 +590,8 @@ class FakeMatrixRoom(
|
||||
getWidgetDriverResult = result
|
||||
}
|
||||
|
||||
fun givenUpdateNotableTagsResult(result: Result<Unit>) {
|
||||
updateNotableTagsResult = result
|
||||
fun givenSetIsFavoriteResult(result: Result<Unit>) {
|
||||
setIsFavoriteResult = result
|
||||
}
|
||||
|
||||
fun givenRoomInfo(roomInfo: MatrixRoomInfo) {
|
||||
|
||||
Reference in New Issue
Block a user