Skip to content

Commit 62de25e

Browse files
committed
remove enum from rest model
1 parent 95049fd commit 62de25e

File tree

5 files changed

+21
-14
lines changed

5 files changed

+21
-14
lines changed

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibility.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,31 @@
1616

1717
package org.matrix.android.sdk.api.session.room.model
1818

19-
import com.squareup.moshi.Json
20-
import com.squareup.moshi.JsonClass
21-
2219
/**
2320
* Ref: https://matrix.org/docs/spec/client_server/latest#room-history-visibility
2421
*/
25-
@JsonClass(generateAdapter = false)
2622
enum class RoomHistoryVisibility {
2723
/**
2824
* All events while this is the m.room.history_visibility value may be shared by any
2925
* participating homeserver with anyone, regardless of whether they have ever joined the room.
3026
*/
31-
@Json(name = "world_readable") WORLD_READABLE,
27+
WORLD_READABLE,
3228

3329
/**
3430
* Previous events are always accessible to newly joined members. All events in the
3531
* room are accessible, even those sent when the member was not a part of the room.
3632
*/
37-
@Json(name = "shared") SHARED,
33+
SHARED,
3834

3935
/**
4036
* Events are accessible to newly joined members from the point they were invited onwards.
4137
* Events stop being accessible when the member's state changes to something other than invite or join.
4238
*/
43-
@Json(name = "invited") INVITED,
39+
INVITED,
4440

4541
/**
4642
* Events are accessible to newly joined members from the point they joined the room onwards.
4743
* Events stop being accessible when the member's state changes to something other than join.
4844
*/
49-
@Json(name = "joined") JOINED
45+
JOINED
5046
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt

+13-2
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,16 @@ import com.squareup.moshi.JsonClass
2121

2222
@JsonClass(generateAdapter = true)
2323
data class RoomHistoryVisibilityContent(
24-
@Json(name = "history_visibility") val historyVisibility: RoomHistoryVisibility? = null
25-
)
24+
@Json(name = "history_visibility") val historyVisibility: String? = null
25+
) {
26+
27+
fun safeHistoryVisibility(): RoomHistoryVisibility? {
28+
return when (historyVisibility) {
29+
"world_readable" -> RoomHistoryVisibility.WORLD_READABLE
30+
"shared" -> RoomHistoryVisibility.SHARED
31+
"invited" -> RoomHistoryVisibility.INVITED
32+
"joined" -> RoomHistoryVisibility.JOINED
33+
else -> null
34+
}
35+
}
36+
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -894,9 +894,9 @@ internal class DefaultCryptoService @Inject constructor(
894894
}
895895
}
896896

897-
private fun onRoomHistoryVisibilityEvent(roomId: String, event: Event) {
897+
private fun onRoomHistoryVisibilityEvent(roomId: String, event: Event) {
898898
val eventContent = event.content.toModel<RoomHistoryVisibilityContent>()
899-
eventContent?.historyVisibility?.let {
899+
eventContent?.safeHistoryVisibility()?.let {
900900
cryptoStore.setShouldEncryptForInvitedMembers(roomId, it != RoomHistoryVisibility.JOINED)
901901
}
902902
}

vector/src/main/java/im/vector/app/features/home/room/detail/timeline/format/NoticeEventFormatter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ class NoticeEventFormatter @Inject constructor(
273273
}
274274

275275
private fun formatRoomHistoryVisibilityEvent(event: Event, senderName: String?, rs: RoomSummary?): CharSequence? {
276-
val historyVisibility = event.getClearContent().toModel<RoomHistoryVisibilityContent>()?.historyVisibility ?: return null
276+
val historyVisibility = event.getClearContent().toModel<RoomHistoryVisibilityContent>()?.safeHistoryVisibility() ?: return null
277277

278278
val historyVisibilitySuffix = roomHistoryVisibilityFormatter.getNoticeSuffix(historyVisibility)
279279
return if (event.isSentByCurrentUser()) {

vector/src/main/java/im/vector/app/features/roomprofile/settings/RoomSettingsViewModel.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class RoomSettingsViewModel @AssistedInject constructor(@Assisted initialState:
136136
.mapOptional { it.content.toModel<RoomHistoryVisibilityContent>() }
137137
.unwrap()
138138
.subscribe {
139-
it.historyVisibility?.let {
139+
it.safeHistoryVisibility()?.let {
140140
setState { copy(currentHistoryVisibility = it) }
141141
}
142142
}

0 commit comments

Comments
 (0)