diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 00cb46a..fb334d8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -20,8 +20,8 @@ android { applicationId = "com.docmost.app" minSdk = 26 targetSdk = 34 - versionCode = 5 - versionName = "1.0.4" + versionCode = 6 + versionName = "1.0.5" } signingConfigs { diff --git a/app/src/main/java/com/docmost/app/ui/VersionViewerActivity.kt b/app/src/main/java/com/docmost/app/ui/VersionViewerActivity.kt index e1234ce..3c77573 100644 --- a/app/src/main/java/com/docmost/app/ui/VersionViewerActivity.kt +++ b/app/src/main/java/com/docmost/app/ui/VersionViewerActivity.kt @@ -109,13 +109,26 @@ class VersionViewerActivity : AppCompatActivity() { CoroutineScope(Dispatchers.IO).launch { try { val history = api.getPageHistoryInfo(pageId, historyId) - val htmlContent = if (history.content != null) { - val gson = Gson() - val json = gson.toJson(history.content) - originalTipTapJson = json - ContentConverter.tipTapToHtml(json) + val htmlContent: String + if (history.content != null) { + val content = history.content + if (content is String && content.trimStart().startsWith("<")) { + htmlContent = content + originalTipTapJson = "" + } else if (content is Map<*, *>) { + val gson = Gson() + originalTipTapJson = gson.toJson(content) + htmlContent = ContentConverter.contentToHtml(content) + } else if (content is String) { + originalTipTapJson = content + htmlContent = ContentConverter.tipTapToHtml(content) + } else { + htmlContent = "
Sin contenido
" + originalTipTapJson = "" + } } else { - "Sin contenido
" + htmlContent = "Sin contenido
" + originalTipTapJson = "" } withContext(Dispatchers.Main) { diff --git a/app/src/main/java/com/docmost/app/utils/ContentConverter.kt b/app/src/main/java/com/docmost/app/utils/ContentConverter.kt index 01abd69..dbe39ec 100644 --- a/app/src/main/java/com/docmost/app/utils/ContentConverter.kt +++ b/app/src/main/java/com/docmost/app/utils/ContentConverter.kt @@ -1,16 +1,16 @@ package com.docmost.app.utils import com.google.gson.Gson -import com.google.gson.JsonObject +import com.google.gson.reflect.TypeToken object ContentConverter { private val gson = Gson() fun tipTapJsonToHtml(tipTapJson: String): String { return try { - val doc = gson.fromJson(tipTapJson, JsonObject::class.java).asMap() - @Suppress("UNCHECKED_CAST") - nodeToHtml(doc as Map