mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-27 13:57:19 +02:00
Only shows translations if the result is different than the origin
This commit is contained in:
@@ -38,6 +38,8 @@ import com.vitorpamplona.amethyst.service.lang.LanguageTranslatorService
|
|||||||
import com.vitorpamplona.amethyst.service.lang.ResultOrError
|
import com.vitorpamplona.amethyst.service.lang.ResultOrError
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TranslateableRichTextViewer(
|
fun TranslateableRichTextViewer(
|
||||||
@@ -62,12 +64,13 @@ fun TranslateableRichTextViewer(
|
|||||||
val account = accountState?.account ?: return
|
val account = accountState?.account ?: return
|
||||||
|
|
||||||
LaunchedEffect(accountState) {
|
LaunchedEffect(accountState) {
|
||||||
|
withContext(Dispatchers.IO) {
|
||||||
LanguageTranslatorService.autoTranslate(
|
LanguageTranslatorService.autoTranslate(
|
||||||
content,
|
content,
|
||||||
account.dontTranslateFrom,
|
account.dontTranslateFrom,
|
||||||
account.translateTo
|
account.translateTo
|
||||||
).addOnCompleteListener { task ->
|
).addOnCompleteListener { task ->
|
||||||
if (task.isSuccessful) {
|
if (task.isSuccessful && content != task.result.result) {
|
||||||
if (task.result.sourceLang != null && task.result.targetLang != null) {
|
if (task.result.sourceLang != null && task.result.targetLang != null) {
|
||||||
val preference = account.preferenceBetween(task.result.sourceLang!!, task.result.targetLang!!)
|
val preference = account.preferenceBetween(task.result.sourceLang!!, task.result.targetLang!!)
|
||||||
showOriginal = preference == task.result.sourceLang
|
showOriginal = preference == task.result.sourceLang
|
||||||
@@ -78,6 +81,7 @@ fun TranslateableRichTextViewer(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val toBeViewed = if (showOriginal) content else translatedTextState.value.result ?: content
|
val toBeViewed = if (showOriginal) content else translatedTextState.value.result ?: content
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user