From dd562eccc8e695f04d76e01a5df4b0bb02db41b9 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 28 Jun 2023 18:59:08 +0200 Subject: [PATCH] Create a dummy value by default for `LocalSnackbarDispatcher`. (#715) This should solve the issue with needing to provide a `LocalSnackbarDispatcher` for previews and screenshot tests. --- .../element/android/libraries/designsystem/utils/Snackbar.kt | 4 +--- .../kotlin/io/element/android/tests/uitests/ScreenshotTest.kt | 4 ---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Snackbar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Snackbar.kt index ba9f2d3121..c24268852d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Snackbar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Snackbar.kt @@ -59,9 +59,7 @@ class SnackbarDispatcher { } /** Used to provide a [SnackbarDispatcher] to composable functions, it's needed for [rememberSnackbarHostState]. */ -val LocalSnackbarDispatcher = compositionLocalOf { - error("No SnackbarDispatcher provided") -} +val LocalSnackbarDispatcher = compositionLocalOf { SnackbarDispatcher() } @Composable fun SnackbarDispatcher.collectSnackbarMessageAsState(): State { diff --git a/tests/uitests/src/test/kotlin/io/element/android/tests/uitests/ScreenshotTest.kt b/tests/uitests/src/test/kotlin/io/element/android/tests/uitests/ScreenshotTest.kt index 845792215a..1c8f1232d0 100644 --- a/tests/uitests/src/test/kotlin/io/element/android/tests/uitests/ScreenshotTest.kt +++ b/tests/uitests/src/test/kotlin/io/element/android/tests/uitests/ScreenshotTest.kt @@ -39,8 +39,6 @@ import com.android.ide.common.rendering.api.SessionParams import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector import io.element.android.libraries.theme.ElementTheme -import io.element.android.libraries.designsystem.utils.LocalSnackbarDispatcher -import io.element.android.libraries.designsystem.utils.SnackbarDispatcher import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -98,8 +96,6 @@ class ScreenshotTest { LocalConfiguration provides Configuration().apply { setLocales(LocaleList(localeStr.toLocale())) }, - // Needed to display Snackbars and avoid crashes during screenshot tests - LocalSnackbarDispatcher provides SnackbarDispatcher(), // Needed so that UI that uses it don't crash during screenshot tests LocalOnBackPressedDispatcherOwner provides object : OnBackPressedDispatcherOwner { override val lifecycle: Lifecycle get() = lifecycleOwner.lifecycle