From bee17cf8516618c7cb453a5a3ca60167b281c0b9 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 9 Feb 2026 09:20:58 -0300 Subject: [PATCH] Fix update direction in MyApps for RTL languages --- .../org/fdroid/ui/apps/UpdatableAppRow.kt | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/org/fdroid/ui/apps/UpdatableAppRow.kt b/app/src/main/kotlin/org/fdroid/ui/apps/UpdatableAppRow.kt index 29ca70a8a..7fa794120 100644 --- a/app/src/main/kotlin/org/fdroid/ui/apps/UpdatableAppRow.kt +++ b/app/src/main/kotlin/org/fdroid/ui/apps/UpdatableAppRow.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.LiveRegionMode @@ -30,6 +31,7 @@ import androidx.compose.ui.semantics.hideFromAccessibility import androidx.compose.ui.semantics.liveRegion import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import org.fdroid.R import org.fdroid.ui.FDroidContent @@ -75,7 +77,12 @@ fun UpdatableAppRow( val size = app.update.size?.let { Formatter.formatFileSize(LocalContext.current, it) } - Text("${app.installedVersionName} → ${app.update.versionName} • $size") + val text = if (LocalLayoutDirection.current == LayoutDirection.Ltr) { + "${app.installedVersionName} → ${app.update.versionName} • $size" + } else { + "$size • ${app.update.versionName} ← ${app.installedVersionName}" + } + Text(text) }, trailingContent = { if (app.whatsNew != null) IconButton(onClick = { isExpanded = !isExpanded }) { @@ -135,3 +142,21 @@ fun UpdatableAppRowPreview() { } } } + +@Preview(locale = "fa") +@Composable +private fun UpdatableAppRowRtl() { + val app1 = AppUpdateItem( + repoId = 1, + packageName = "A", + name = "App Update 123", + installedVersionName = "1.0.1", + update = getPreviewVersion("1.1.0", 123456789), + whatsNew = "This is new, all is new, nothing old.", + ) + FDroidContent { + Column { + UpdatableAppRow(app1, false) + } + } +}