From 19e334e66baeb7ddb3da43dcbabbf90cb1f2da8e Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 8 Apr 2026 09:11:22 -0300 Subject: [PATCH] Use locales from locale_config.xml for localized screenshots --- .../ui/screenshots/LocalizedScreenshotTest.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/androidTest/java/org/fdroid/ui/screenshots/LocalizedScreenshotTest.kt b/app/src/androidTest/java/org/fdroid/ui/screenshots/LocalizedScreenshotTest.kt index 72e416ef4..f0036444f 100644 --- a/app/src/androidTest/java/org/fdroid/ui/screenshots/LocalizedScreenshotTest.kt +++ b/app/src/androidTest/java/org/fdroid/ui/screenshots/LocalizedScreenshotTest.kt @@ -1,5 +1,7 @@ package org.fdroid.ui.screenshots +import android.app.LocaleConfig +import android.os.Build.VERSION.SDK_INT import androidx.compose.material3.adaptive.layout.PaneScaffoldDirective import androidx.compose.runtime.Composable import androidx.compose.ui.test.DeviceConfigurationOverride @@ -30,7 +32,22 @@ abstract class LocalizedScreenshotTest(val localeName: String) { @get:Rule val composeRule = createComposeRule() companion object { - val locales = listOf("en-US", "de-DE", "ar-SA", "he", "zh-CN") + val locales: List by lazy { + val fallback = listOf("en-US", "de-DE", "ar-SA", "he", "zh-CN") + if (SDK_INT >= 33) { + val localeConfig = LocaleConfig(InstrumentationRegistry.getInstrumentation().targetContext) + mutableListOf().apply { + localeConfig.supportedLocales?.let { localeList -> + for (i in 0 until localeList.size()) { + val locale = localeList.get(i) + add(locale.toLanguageTag()) + } + } ?: addAll(fallback) + } + } else { + fallback + } + } } private val context = InstrumentationRegistry.getInstrumentation().targetContext