From a7539d0f9508cfe40347cdccd73147ffee3cdda3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 26 Mar 2021 12:15:06 +0100 Subject: [PATCH] Be more robust when parsing some enums --- CHANGES.md | 1 + .../room/model/RoomHistoryVisibilityContent.kt | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 68b6194734..53383c14de 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,7 @@ Improvements 🙌: - Improve message with Emoji only detection (#3017) - Picture preview when replying. Also add the image preview in the message detail bottomsheet (#2916) - Api interceptor to allow app developers peek responses (#2986) + - Be more robust when parsing some enums Bugfix 🐛: - Fix bad theme change for the MainActivity diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt index 31493be7ea..b16d81dbaa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt @@ -18,8 +18,20 @@ package org.matrix.android.sdk.api.session.room.model import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import timber.log.Timber @JsonClass(generateAdapter = true) data class RoomHistoryVisibilityContent( - @Json(name = "history_visibility") val historyVisibility: RoomHistoryVisibility? = null -) + @Json(name = "history_visibility") private val _historyVisibility: String? = null +) { + val historyVisibility: RoomHistoryVisibility? = when (_historyVisibility) { + "world_readable" -> RoomHistoryVisibility.WORLD_READABLE + "shared" -> RoomHistoryVisibility.SHARED + "invited" -> RoomHistoryVisibility.INVITED + "joined" -> RoomHistoryVisibility.JOINED + else -> { + Timber.w("Invalid value for RoomHistoryVisibility: `$_historyVisibility`") + null + } + } +}