Merge pull request #7468 from hayaksi1/fix/4657-preview-param-suffix

Rename PreviewParameterProvider subclasses to the PreviewParam suffix
This commit is contained in:
Benoit Marty
2026-08-24 15:38:04 +02:00
committed by GitHub
388 changed files with 491 additions and 476 deletions
+2 -2
View File
@@ -37,7 +37,7 @@ PRs must meet these rules.
- Create previews for **all main states** of a Composable. - Create previews for **all main states** of a Composable.
- Use `@PreviewsDayNight` for consistency. - Use `@PreviewsDayNight` for consistency.
- Use `PreviewParameterProvider` (e.g., `FooStateProvider`) to provide states. - Use `PreviewParameterProvider` (e.g., `FooStatePreviewParam`) to provide states.
- Wrap previews in `ElementPreview { ... }`. - Wrap previews in `ElementPreview { ... }`.
- When writing tests, never try to record the screenshots, the CI will do it. - When writing tests, never try to record the screenshots, the CI will do it.
@@ -89,7 +89,7 @@ We use [Appyx](https://bumble-tech.github.io/appyx/) for navigation and [Molecul
| `FooView.kt` | Stateless Composable rendering the UI from `FooState`. | | `FooView.kt` | Stateless Composable rendering the UI from `FooState`. |
| `FooState.kt` | Data class representing the immutable UI state. | | `FooState.kt` | Data class representing the immutable UI state. |
| `FooEvent.kt` | Sealed interface for UI actions sent to the Presenter. | | `FooEvent.kt` | Sealed interface for UI actions sent to the Presenter. |
| `FooStateProvider.kt` | Provides sample states for Previews and Screenshot tests. | | `FooStatePreviewParam.kt` | Provides sample states for Previews and Screenshot tests. |
| `FooPresenterTest.kt` | Unit tests for the Presenter logic using Turbine. | | `FooPresenterTest.kt` | Unit tests for the Presenter logic using Turbine. |
--- ---
@@ -13,7 +13,7 @@ import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.permissions.api.localnetwork.LocalNetworkPermissionDialog import io.element.android.libraries.permissions.api.localnetwork.LocalNetworkPermissionDialog
import io.element.android.libraries.push.api.PusherRegistrationFailure import io.element.android.libraries.push.api.PusherRegistrationFailure
open class LoggedInStateProvider : PreviewParameterProvider<LoggedInState> { open class LoggedInStatePreviewParam : PreviewParameterProvider<LoggedInState> {
override val values: Sequence<LoggedInState> override val values: Sequence<LoggedInState>
get() = sequenceOf( get() = sequenceOf(
aLoggedInState(), aLoggedInState(),
@@ -124,7 +124,7 @@ private fun ForceNativeSlidingSyncMigrationDialog(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LoggedInViewPreview(@PreviewParameter(LoggedInStateProvider::class) state: LoggedInState) = ElementPreview { internal fun LoggedInViewPreview(@PreviewParameter(LoggedInStatePreviewParam::class) state: LoggedInState) = ElementPreview {
LoggedInView( LoggedInView(
state = state, state = state,
navigateToNotificationTroubleshoot = {}, navigateToNotificationTroubleshoot = {},
@@ -29,7 +29,7 @@ import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.DelayedVisibility import io.element.android.libraries.designsystem.utils.DelayedVisibility
import io.element.android.libraries.matrix.ui.room.LoadingRoomState import io.element.android.libraries.matrix.ui.room.LoadingRoomState
import io.element.android.libraries.matrix.ui.room.LoadingRoomStateProvider import io.element.android.libraries.matrix.ui.room.LoadingRoomStatePreviewParam
import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.strings.CommonStrings
@Composable @Composable
@@ -84,7 +84,7 @@ private fun LoadingRoomTopBar(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LoadingRoomNodeViewPreview(@PreviewParameter(LoadingRoomStateProvider::class) state: LoadingRoomState) = ElementPreview { internal fun LoadingRoomNodeViewPreview(@PreviewParameter(LoadingRoomStatePreviewParam::class) state: LoadingRoomState) = ElementPreview {
LoadingRoomNodeView( LoadingRoomNodeView(
state = state, state = state,
onBackClick = {} onBackClick = {}
@@ -14,7 +14,7 @@ import io.element.android.features.rageshake.api.detection.aRageshakeDetectionSt
import io.element.android.services.apperror.api.AppErrorState import io.element.android.services.apperror.api.AppErrorState
import io.element.android.services.apperror.api.aAppErrorState import io.element.android.services.apperror.api.aAppErrorState
open class RootStateProvider : PreviewParameterProvider<RootState> { open class RootStatePreviewParam : PreviewParameterProvider<RootState> {
override val values: Sequence<RootState> override val values: Sequence<RootState>
get() = sequenceOf( get() = sequenceOf(
aRootState().copy( aRootState().copy(
@@ -60,7 +60,7 @@ fun RootView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RootViewPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreview { internal fun RootViewPreview(@PreviewParameter(RootStatePreviewParam::class) rootState: RootState) = ElementPreview {
RootView( RootView(
state = rootState, state = rootState,
onOpenBugReport = {}, onOpenBugReport = {},
+4 -4
View File
@@ -322,10 +322,10 @@ Example for a new feature called RoomDetails:
4. Verify that the structure looks ok and click on Finish 4. Verify that the structure looks ok and click on Finish
5. The modules api/impl should be created under `features/roomdetails` directory. 5. The modules api/impl should be created under `features/roomdetails` directory.
6. Sync project with Gradle so the modules are recognized (no need to add them to settings.gradle). 6. Sync project with Gradle so the modules are recognized (no need to add them to settings.gradle).
7. You can now add more Presentation classes (Events, State, StateProvider, View, Presenter) in the impl module with the `Template Presentation Classes`. 7. You can now add more Presentation classes (Events, State, StatePreviewParam, View, Presenter) in the impl module with the `Template Presentation Classes`.
To use it, just right click on the package where you want to generate classes, and click on `New` / `Template Presentation Classes`. To use it, just right click on the package where you want to generate classes, and click on `New` / `Template Presentation Classes`.
Fill the text field with the base name of the classes: the generated files are `<BaseName>Event.kt`, `<BaseName>State.kt`, Fill the text field with the base name of the classes: the generated files are `<BaseName>Event.kt`, `<BaseName>State.kt`,
`<BaseName>StateProvider.kt`, `<BaseName>Presenter.kt`, `<BaseName>Node.kt` and `<BaseName>View.kt`. For instance `<BaseName>StatePreviewParam.kt`, `<BaseName>Presenter.kt`, `<BaseName>Node.kt` and `<BaseName>View.kt`. For instance
`PreferencesRoot` in the `features/preferences/impl/root` package. `PreferencesRoot` in the `features/preferences/impl/root` package.
@@ -360,9 +360,9 @@ We have 3 tests frameworks in place, and this should be sufficient to guarantee
- Maestro to test the global usage of the application. See the related [documentation](../.maestro/README.md). - Maestro to test the global usage of the application. See the related [documentation](../.maestro/README.md).
- Combination of [Showkase](https://github.com/airbnb/Showkase) and [Paparazzi](https://github.com/cashapp/paparazzi), to test UI pixel perfect. To add test, - Combination of [Showkase](https://github.com/airbnb/Showkase) and [Paparazzi](https://github.com/cashapp/paparazzi), to test UI pixel perfect. To add test,
just add `@Preview` for the composable you are adding. See the related [documentation](screenshot_testing.md) and see in the template the just add `@Preview` for the composable you are adding. See the related [documentation](screenshot_testing.md) and see in the template the
file [TemplateView.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt). We create PreviewProvider to provide file [TemplateView.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt). We create PreviewParam classes to provide
different states. See for instance the different states. See for instance the
file [TemplateStateProvider.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt) file [TemplateStatePreviewParam.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateStatePreviewParam.kt)
- Tests on presenter with [Molecule](https://github.com/cashapp/molecule) and [Turbine](https://github.com/cashapp/turbine). See in the template the class [TemplatePresenterTests](../features/template/src/test/kotlin/io/element/android/features/template/TemplatePresenterTests.kt). - Tests on presenter with [Molecule](https://github.com/cashapp/molecule) and [Turbine](https://github.com/cashapp/turbine). See in the template the class [TemplatePresenterTests](../features/template/src/test/kotlin/io/element/android/features/template/TemplatePresenterTests.kt).
**Note** For now we want to avoid using class mocking (with library such as *mockk*), because this should be not necessary. We prefer to create Fake **Note** For now we want to avoid using class mocking (with library such as *mockk*), because this should be not necessary. We prefer to create Fake
@@ -10,7 +10,7 @@ package io.element.android.features.analytics.api.preferences
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
open class AnalyticsPreferencesStateProvider : PreviewParameterProvider<AnalyticsPreferencesState> { open class AnalyticsPreferencesStatePreviewParam : PreviewParameterProvider<AnalyticsPreferencesState> {
override val values: Sequence<AnalyticsPreferencesState> override val values: Sequence<AnalyticsPreferencesState>
get() = sequenceOf( get() = sequenceOf(
aAnalyticsPreferencesState().copy(isEnabled = true), aAnalyticsPreferencesState().copy(isEnabled = true),
@@ -66,7 +66,7 @@ fun AnalyticsPreferencesView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AnalyticsPreferencesViewPreview(@PreviewParameter(AnalyticsPreferencesStateProvider::class) state: AnalyticsPreferencesState) = internal fun AnalyticsPreferencesViewPreview(@PreviewParameter(AnalyticsPreferencesStatePreviewParam::class) state: AnalyticsPreferencesState) =
ElementPreview { ElementPreview {
AnalyticsPreferencesView( AnalyticsPreferencesView(
state = state, state = state,
@@ -10,7 +10,7 @@ package io.element.android.features.analytics.impl
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
open class AnalyticsOptInStateProvider : PreviewParameterProvider<AnalyticsOptInState> { open class AnalyticsOptInStatePreviewParam : PreviewParameterProvider<AnalyticsOptInState> {
override val values: Sequence<AnalyticsOptInState> override val values: Sequence<AnalyticsOptInState>
get() = sequenceOf( get() = sequenceOf(
aAnalyticsOptInState(), aAnalyticsOptInState(),
@@ -171,7 +171,7 @@ private fun AnalyticsOptInFooter(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AnalyticsOptInViewPreview(@PreviewParameter(AnalyticsOptInStateProvider::class) state: AnalyticsOptInState) = ElementPreview { internal fun AnalyticsOptInViewPreview(@PreviewParameter(AnalyticsOptInStatePreviewParam::class) state: AnalyticsOptInState) = ElementPreview {
AnalyticsOptInView( AnalyticsOptInView(
state = state, state = state,
onClickTerms = {}, onClickTerms = {},
@@ -11,7 +11,7 @@ package io.element.android.features.announcement.impl
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.announcement.api.Announcement import io.element.android.features.announcement.api.Announcement
open class AnnouncementStateProvider : PreviewParameterProvider<AnnouncementState> { open class AnnouncementStatePreviewParam : PreviewParameterProvider<AnnouncementState> {
override val values: Sequence<AnnouncementState> override val values: Sequence<AnnouncementState>
get() = sequenceOf( get() = sequenceOf(
anAnnouncementState(), anAnnouncementState(),
@@ -33,7 +33,7 @@ import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.announcement.api.Announcement import io.element.android.features.announcement.api.Announcement
import io.element.android.features.announcement.impl.AnnouncementEvent import io.element.android.features.announcement.impl.AnnouncementEvent
import io.element.android.features.announcement.impl.AnnouncementState import io.element.android.features.announcement.impl.AnnouncementState
import io.element.android.features.announcement.impl.AnnouncementStateProvider import io.element.android.features.announcement.impl.AnnouncementStatePreviewParam
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage
@@ -216,7 +216,7 @@ private fun Announcement.Fullscreen.notice(): String? = when (this) {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun FullscreenAnnouncementViewPreview(@PreviewParameter(AnnouncementStateProvider::class) state: AnnouncementState) = ElementPreview { internal fun FullscreenAnnouncementViewPreview(@PreviewParameter(AnnouncementStatePreviewParam::class) state: AnnouncementState) = ElementPreview {
FullscreenAnnouncementView( FullscreenAnnouncementView(
state = state, state = state,
) )
@@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
open class CallNotificationDataProvider : PreviewParameterProvider<CallNotificationData> { open class CallNotificationDataPreviewParam : PreviewParameterProvider<CallNotificationData> {
override val values: Sequence<CallNotificationData> override val values: Sequence<CallNotificationData>
get() = sequenceOf( get() = sequenceOf(
aCallNotificationData( aCallNotificationData(
@@ -11,7 +11,7 @@ package io.element.android.features.call.impl.ui
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
open class CallScreenStateProvider : PreviewParameterProvider<CallScreenState> { open class CallScreenStatePreviewParam : PreviewParameterProvider<CallScreenState> {
override val values: Sequence<CallScreenState> override val values: Sequence<CallScreenState>
get() = sequenceOf( get() = sequenceOf(
aCallScreenState(), aCallScreenState(),
@@ -266,7 +266,7 @@ private fun WebView.dispatchEscKeyEvent() {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun CallScreenViewPreview( internal fun CallScreenViewPreview(
@PreviewParameter(CallScreenStateProvider::class) state: CallScreenState, @PreviewParameter(CallScreenStatePreviewParam::class) state: CallScreenState,
) = ElementPreview { ) = ElementPreview {
CallScreenView( CallScreenView(
state = state, state = state,
@@ -161,7 +161,7 @@ private fun ActionButton(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun IncomingCallScreenPreview( internal fun IncomingCallScreenPreview(
@PreviewParameter(CallNotificationDataProvider::class) state: CallNotificationData, @PreviewParameter(CallNotificationDataPreviewParam::class) state: CallNotificationData,
) = ElementPreview { ) = ElementPreview {
IncomingCallScreen( IncomingCallScreen(
notificationData = state, notificationData = state,
@@ -23,7 +23,7 @@ import androidx.compose.ui.unit.dp
import io.element.android.features.createroom.impl.R import io.element.android.features.createroom.impl.R
import io.element.android.features.invitepeople.api.InvitePeopleEvents import io.element.android.features.invitepeople.api.InvitePeopleEvents
import io.element.android.features.invitepeople.api.InvitePeopleState import io.element.android.features.invitepeople.api.InvitePeopleState
import io.element.android.features.invitepeople.api.InvitePeopleStateProvider import io.element.android.features.invitepeople.api.InvitePeopleStatePreviewParam
import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage
import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -86,7 +86,7 @@ private fun AddPeopleTopBar(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AddPeopleViewPreview(@PreviewParameter(InvitePeopleStateProvider::class) state: InvitePeopleState) = ElementPreview { internal fun AddPeopleViewPreview(@PreviewParameter(InvitePeopleStatePreviewParam::class) state: InvitePeopleState) = ElementPreview {
AddPeopleView( AddPeopleView(
state = state, state = state,
invitePeopleView = {}, invitePeopleView = {},
@@ -21,7 +21,7 @@ import io.element.android.libraries.permissions.api.aPermissionsState
import io.element.android.libraries.previewutils.room.aSpaceRoom import io.element.android.libraries.previewutils.room.aSpaceRoom
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class ConfigureRoomStateProvider : PreviewParameterProvider<ConfigureRoomState> { open class ConfigureRoomStatePreviewParam : PreviewParameterProvider<ConfigureRoomState> {
override val values: Sequence<ConfigureRoomState> override val values: Sequence<ConfigureRoomState>
get() = sequenceOf( get() = sequenceOf(
aConfigureRoomState(), aConfigureRoomState(),
@@ -349,12 +349,12 @@ private fun RoomJoinRuleOptions(
@PreviewWithLargeHeight @PreviewWithLargeHeight
@Composable @Composable
internal fun ConfigureRoomViewLightPreview(@PreviewParameter(ConfigureRoomStateProvider::class) state: ConfigureRoomState) = internal fun ConfigureRoomViewLightPreview(@PreviewParameter(ConfigureRoomStatePreviewParam::class) state: ConfigureRoomState) =
ElementPreviewLight { ContentToPreview(state) } ElementPreviewLight { ContentToPreview(state) }
@PreviewWithLargeHeight @PreviewWithLargeHeight
@Composable @Composable
internal fun ConfigureRoomViewDarkPreview(@PreviewParameter(ConfigureRoomStateProvider::class) state: ConfigureRoomState) = internal fun ConfigureRoomViewDarkPreview(@PreviewParameter(ConfigureRoomStatePreviewParam::class) state: ConfigureRoomState) =
ElementPreviewDark { ContentToPreview(state) } ElementPreviewDark { ContentToPreview(state) }
@ExcludeFromCoverage @ExcludeFromCoverage
@@ -11,7 +11,7 @@ package io.element.android.features.logout.impl
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
open class AccountDeactivationStateProvider : PreviewParameterProvider<AccountDeactivationState> { open class AccountDeactivationStatePreviewParam : PreviewParameterProvider<AccountDeactivationState> {
private val filledForm = aDeactivateFormState(eraseData = true, password = "password") private val filledForm = aDeactivateFormState(eraseData = true, password = "password")
override val values: Sequence<AccountDeactivationState> override val values: Sequence<AccountDeactivationState>
get() = sequenceOf( get() = sequenceOf(
@@ -308,7 +308,7 @@ private fun String.sanitize(): String {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AccountDeactivationViewPreview( internal fun AccountDeactivationViewPreview(
@PreviewParameter(AccountDeactivationStateProvider::class) state: AccountDeactivationState, @PreviewParameter(AccountDeactivationStatePreviewParam::class) state: AccountDeactivationState,
) = ElementPreview { ) = ElementPreview {
AccountDeactivationView( AccountDeactivationView(
state, state,
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
open class ForwardMessagesStateProvider : PreviewParameterProvider<ForwardMessagesState> { open class ForwardMessagesStatePreviewParam : PreviewParameterProvider<ForwardMessagesState> {
override val values: Sequence<ForwardMessagesState> override val values: Sequence<ForwardMessagesState>
get() = sequenceOf( get() = sequenceOf(
aForwardMessagesState(), aForwardMessagesState(),
@@ -38,7 +38,7 @@ fun ForwardMessagesView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ForwardMessagesViewPreview(@PreviewParameter(ForwardMessagesStateProvider::class) state: ForwardMessagesState) = ElementPreview { internal fun ForwardMessagesViewPreview(@PreviewParameter(ForwardMessagesStatePreviewParam::class) state: ForwardMessagesState) = ElementPreview {
ForwardMessagesView( ForwardMessagesView(
state = state, state = state,
onForwardSuccess = {} onForwardSuccess = {}
@@ -11,7 +11,7 @@ package io.element.android.features.ftue.impl.notifications
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.permissions.api.aPermissionsState import io.element.android.libraries.permissions.api.aPermissionsState
open class NotificationsOptInStateProvider : PreviewParameterProvider<NotificationsOptInState> { open class NotificationsOptInStatePreviewParam : PreviewParameterProvider<NotificationsOptInState> {
override val values: Sequence<NotificationsOptInState> override val values: Sequence<NotificationsOptInState>
get() = sequenceOf( get() = sequenceOf(
aNotificationsOptInState(), aNotificationsOptInState(),
@@ -178,7 +178,7 @@ private fun NotificationRow(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun NotificationsOptInViewPreview( internal fun NotificationsOptInViewPreview(
@PreviewParameter(NotificationsOptInStateProvider::class) state: NotificationsOptInState @PreviewParameter(NotificationsOptInStatePreviewParam::class) state: NotificationsOptInState
) { ) {
ElementPreview { ElementPreview {
NotificationsOptInView( NotificationsOptInView(
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.features.logout.api.direct.aDirectLogoutState
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
class ChooseSelfVerificationModeStateProvider : class ChooseSelfVerificationModeStatePreviewParam :
PreviewParameterProvider<ChooseSelfVerificationModeState> { PreviewParameterProvider<ChooseSelfVerificationModeState> {
override val values = sequenceOf( override val values = sequenceOf(
aChooseSelfVerificationModeState( aChooseSelfVerificationModeState(
@@ -149,7 +149,7 @@ private fun ChooseSelfVerificationModeButtons(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ChooseSelfVerificationModeViewPreview( internal fun ChooseSelfVerificationModeViewPreview(
@PreviewParameter(ChooseSelfVerificationModeStateProvider::class) state: ChooseSelfVerificationModeState @PreviewParameter(ChooseSelfVerificationModeStatePreviewParam::class) state: ChooseSelfVerificationModeState
) = ElementPreview { ) = ElementPreview {
ChooseSelfVerificationModeView( ChooseSelfVerificationModeView(
state = state, state = state,
@@ -10,7 +10,7 @@ package io.element.android.features.home.impl
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.home.impl.roomlist.RoomListState import io.element.android.features.home.impl.roomlist.RoomListState
import io.element.android.features.home.impl.roomlist.RoomListStateProvider import io.element.android.features.home.impl.roomlist.RoomListStatePreviewParam
import io.element.android.features.home.impl.roomlist.aRoomListState import io.element.android.features.home.impl.roomlist.aRoomListState
import io.element.android.features.home.impl.roomlist.aRoomsContentState import io.element.android.features.home.impl.roomlist.aRoomsContentState
import io.element.android.features.home.impl.roomlist.generateRoomListRoomSummaryList import io.element.android.features.home.impl.roomlist.generateRoomListRoomSummaryList
@@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class HomeStateProvider : PreviewParameterProvider<HomeState> { open class HomeStatePreviewParam : PreviewParameterProvider<HomeState> {
override val values: Sequence<HomeState> override val values: Sequence<HomeState>
get() = sequenceOf( get() = sequenceOf(
aHomeState(), aHomeState(),
@@ -43,7 +43,7 @@ open class HomeStateProvider : PreviewParameterProvider<HomeState> {
aHomeState( aHomeState(
currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces, currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces,
), ),
) + RoomListStateProvider().values.map { ) + RoomListStatePreviewParam().values.map {
aHomeState(roomListState = it) aHomeState(roomListState = it)
} + aHomeState( } + aHomeState(
currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces, currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces,
@@ -371,7 +371,7 @@ internal fun RoomListRoomSummary.contentType() = displayType.ordinal
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun HomeViewPreview(@PreviewParameter(HomeStateProvider::class) state: HomeState) = ElementPreview { internal fun HomeViewPreview(@PreviewParameter(HomeStatePreviewParam::class) state: HomeState) = ElementPreview {
HomeView( HomeView(
homeState = state, homeState = state,
onRoomClick = { _, _ -> }, onRoomClick = { _, _ -> },
@@ -42,7 +42,7 @@ import io.element.android.features.home.impl.filters.selection.FilterSelectionSt
import io.element.android.features.home.impl.model.RoomListRoomSummary import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.features.home.impl.model.RoomSummaryDisplayType import io.element.android.features.home.impl.model.RoomSummaryDisplayType
import io.element.android.features.home.impl.roomlist.RoomListContentState import io.element.android.features.home.impl.roomlist.RoomListContentState
import io.element.android.features.home.impl.roomlist.RoomListContentStateProvider import io.element.android.features.home.impl.roomlist.RoomListContentStatePreviewParam
import io.element.android.features.home.impl.roomlist.RoomListEvent import io.element.android.features.home.impl.roomlist.RoomListEvent
import io.element.android.features.home.impl.roomlist.SecurityBannerState import io.element.android.features.home.impl.roomlist.SecurityBannerState
import io.element.android.features.home.impl.spacefilters.SpaceFiltersState import io.element.android.features.home.impl.spacefilters.SpaceFiltersState
@@ -336,7 +336,7 @@ private fun EmptyScaffold(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStateProvider::class) state: RoomListContentState) = ElementPreview { internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStatePreviewParam::class) state: RoomListContentState) = ElementPreview {
RoomListContentView( RoomListContentView(
contentState = state, contentState = state,
filtersState = aRoomListFiltersState( filtersState = aRoomListFiltersState(
@@ -43,7 +43,7 @@ import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.home.impl.R import io.element.android.features.home.impl.R
import io.element.android.features.home.impl.model.LatestEvent import io.element.android.features.home.impl.model.LatestEvent
import io.element.android.features.home.impl.model.RoomListRoomSummary import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.features.home.impl.model.RoomListRoomSummaryProvider import io.element.android.features.home.impl.model.RoomListRoomSummaryPreviewParam
import io.element.android.features.home.impl.model.RoomSummaryDisplayType import io.element.android.features.home.impl.model.RoomSummaryDisplayType
import io.element.android.features.home.impl.roomlist.RoomListEvent import io.element.android.features.home.impl.roomlist.RoomListEvent
import io.element.android.libraries.core.extensions.orEmpty import io.element.android.libraries.core.extensions.orEmpty
@@ -449,7 +449,7 @@ private fun MentionIndicatorAtom() {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomSummaryRowPreview(@PreviewParameter(RoomListRoomSummaryProvider::class) data: RoomListRoomSummary) = ElementPreview { internal fun RoomSummaryRowPreview(@PreviewParameter(RoomListRoomSummaryPreviewParam::class) data: RoomListRoomSummary) = ElementPreview {
RoomSummaryRow( RoomSummaryRow(
room = data, room = data,
hideInviteAvatars = false, hideInviteAvatars = false,
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.home.impl.filters.selection.FilterSelectionState import io.element.android.features.home.impl.filters.selection.FilterSelectionState
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
class RoomListFiltersStateProvider : PreviewParameterProvider<RoomListFiltersState> { class RoomListFiltersStatePreviewParam : PreviewParameterProvider<RoomListFiltersState> {
override val values: Sequence<RoomListFiltersState> override val values: Sequence<RoomListFiltersState>
get() = sequenceOf( get() = sequenceOf(
aRoomListFiltersState(), aRoomListFiltersState(),
@@ -212,7 +212,7 @@ private fun RoomListFilterView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomListFiltersViewPreview(@PreviewParameter(RoomListFiltersStateProvider::class) state: RoomListFiltersState) = ElementPreview { internal fun RoomListFiltersViewPreview(@PreviewParameter(RoomListFiltersStatePreviewParam::class) state: RoomListFiltersState) = ElementPreview {
RoomListFiltersView( RoomListFiltersView(
modifier = Modifier.padding(vertical = 4.dp), modifier = Modifier.padding(vertical = 4.dp),
state = state, state = state,
@@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.api.user.DisplayedStatus
import io.element.android.libraries.matrix.ui.model.InviteSender import io.element.android.libraries.matrix.ui.model.InviteSender
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSummary> { open class RoomListRoomSummaryPreviewParam : PreviewParameterProvider<RoomListRoomSummary> {
override val values: Sequence<RoomListRoomSummary> override val values: Sequence<RoomListRoomSummary>
get() = sequenceOf( get() = sequenceOf(
listOf( listOf(
@@ -19,7 +19,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableSet import kotlinx.collections.immutable.toImmutableSet
open class RoomListContentStateProvider : PreviewParameterProvider<RoomListContentState> { open class RoomListContentStatePreviewParam : PreviewParameterProvider<RoomListContentState> {
override val values: Sequence<RoomListContentState> override val values: Sequence<RoomListContentState>
get() = sequenceOf( get() = sequenceOf(
aRoomsContentState(), aRoomsContentState(),
@@ -199,7 +199,7 @@ private fun RoomListModalBottomSheetContent(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomListContextMenuPreview( internal fun RoomListContextMenuPreview(
@PreviewParameter(RoomListStateContextMenuShownProvider::class) contextMenu: RoomListState.ContextMenu.Shown @PreviewParameter(RoomListStateContextMenuShownPreviewParam::class) contextMenu: RoomListState.ContextMenu.Shown
) = ElementPreview(fillMaxSize = true) { ) = ElementPreview(fillMaxSize = true) {
RoomListContextMenu( RoomListContextMenu(
contextMenu = contextMenu, contextMenu = contextMenu,
@@ -126,7 +126,7 @@ private fun RoomListDeclineInviteMenuContent(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomListDeclineInviteMenuPreview( internal fun RoomListDeclineInviteMenuPreview(
@PreviewParameter(RoomListStateDeclineInviteMenuShownProvider::class) menu: RoomListState.DeclineInviteMenu.Shown, @PreviewParameter(RoomListStateDeclineInviteMenuShownPreviewParam::class) menu: RoomListState.DeclineInviteMenu.Shown,
) = ElementPreview { ) = ElementPreview {
RoomListDeclineInviteMenu( RoomListDeclineInviteMenu(
menu = menu, menu = menu,
@@ -11,7 +11,7 @@ package io.element.android.features.home.impl.roomlist
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
open class RoomListStateContextMenuShownProvider : PreviewParameterProvider<RoomListState.ContextMenu.Shown> { open class RoomListStateContextMenuShownPreviewParam : PreviewParameterProvider<RoomListState.ContextMenu.Shown> {
override val values: Sequence<RoomListState.ContextMenu.Shown> override val values: Sequence<RoomListState.ContextMenu.Shown>
get() = sequenceOf( get() = sequenceOf(
aContextMenuShown(hasNewContent = true), aContextMenuShown(hasNewContent = true),
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
import io.element.android.features.home.impl.model.RoomListRoomSummary import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.features.home.impl.model.aRoomListRoomSummary import io.element.android.features.home.impl.model.aRoomListRoomSummary
open class RoomListStateDeclineInviteMenuShownProvider : PreviewParameterProvider<RoomListState.DeclineInviteMenu.Shown> { open class RoomListStateDeclineInviteMenuShownPreviewParam : PreviewParameterProvider<RoomListState.DeclineInviteMenu.Shown> {
override val values: Sequence<RoomListState.DeclineInviteMenu.Shown> override val values: Sequence<RoomListState.DeclineInviteMenu.Shown>
get() = sequenceOf( get() = sequenceOf(
aDeclineInviteMenuShown(), aDeclineInviteMenuShown(),
@@ -33,7 +33,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class RoomListStateProvider : PreviewParameterProvider<RoomListState> { open class RoomListStatePreviewParam : PreviewParameterProvider<RoomListState> {
override val values: Sequence<RoomListState> override val values: Sequence<RoomListState>
get() = sequenceOf( get() = sequenceOf(
aRoomListState(), aRoomListState(),
@@ -41,7 +41,7 @@ import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.collections.immutable.toPersistentList import kotlinx.collections.immutable.toPersistentList
class GlobalSearchStateProvider : PreviewParameterProvider<GlobalSearchState> { class GlobalSearchStatePreviewParam : PreviewParameterProvider<GlobalSearchState> {
override val values: Sequence<GlobalSearchState> override val values: Sequence<GlobalSearchState>
get() = sequenceOf( get() = sequenceOf(
// Not enabled, no preview // Not enabled, no preview
@@ -553,7 +553,7 @@ private fun Modifier.addSeparatorLine(color: Color, isLastItem: Boolean): Modifi
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun GlobalSearchViewPreview( internal fun GlobalSearchViewPreview(
@PreviewParameter(GlobalSearchStateProvider::class) state: GlobalSearchState, @PreviewParameter(GlobalSearchStatePreviewParam::class) state: GlobalSearchState,
) { ) {
ElementPreview { ElementPreview {
GlobalSearchView( GlobalSearchView(
@@ -15,7 +15,7 @@ import io.element.android.features.home.impl.roomlist.aRoomListRoomSummaryList
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
class RoomListSearchStateProvider : PreviewParameterProvider<RoomListSearchState> { class RoomListSearchStatePreviewParam : PreviewParameterProvider<RoomListSearchState> {
override val values: Sequence<RoomListSearchState> override val values: Sequence<RoomListSearchState>
get() = sequenceOf( get() = sequenceOf(
aRoomListSearchState(), aRoomListSearchState(),
@@ -196,7 +196,7 @@ private fun RoomListSearchContent(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun RoomListSearchContentPreview(@PreviewParameter(RoomListSearchStateProvider::class) state: RoomListSearchState) = ElementPreview { internal fun RoomListSearchContentPreview(@PreviewParameter(RoomListSearchStatePreviewParam::class) state: RoomListSearchState) = ElementPreview {
RoomListSearchContent( RoomListSearchContent(
state = state, state = state,
hideInvitesAvatars = false, hideInvitesAvatars = false,
@@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.spaces.SpaceServiceFilter
import io.element.android.libraries.previewutils.room.aSpaceRoom import io.element.android.libraries.previewutils.room.aSpaceRoom
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
class SpaceFiltersStateProvider : PreviewParameterProvider<SpaceFiltersState> { class SpaceFiltersStatePreviewParam : PreviewParameterProvider<SpaceFiltersState> {
override val values: Sequence<SpaceFiltersState> override val values: Sequence<SpaceFiltersState>
get() = sequenceOf( get() = sequenceOf(
aSelectingSpaceFiltersState(), aSelectingSpaceFiltersState(),
@@ -189,6 +189,6 @@ private fun SpaceFilterItem(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun SpaceFiltersViewPreview(@PreviewParameter(SpaceFiltersStateProvider::class) state: SpaceFiltersState) = ElementPreview(fillMaxSize = true) { internal fun SpaceFiltersViewPreview(@PreviewParameter(SpaceFiltersStatePreviewParam::class) state: SpaceFiltersState) = ElementPreview(fillMaxSize = true) {
SpaceFiltersView(state = state) SpaceFiltersView(state = state)
} }
@@ -15,11 +15,11 @@ import io.element.android.libraries.previewutils.room.aSpaceRoom
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.collections.immutable.toImmutableSet import kotlinx.collections.immutable.toImmutableSet
open class HomeSpacesStateProvider : PreviewParameterProvider<HomeSpacesState> { open class HomeSpacesStatePreviewParam : PreviewParameterProvider<HomeSpacesState> {
override val values: Sequence<HomeSpacesState> override val values: Sequence<HomeSpacesState>
get() = sequenceOf( get() = sequenceOf(
aHomeSpacesState( aHomeSpacesState(
spaceRooms = SpaceRoomProvider().values.toList(), spaceRooms = SpaceRoomPreviewParam().values.toList(),
seenSpaceInvites = setOf( seenSpaceInvites = setOf(
RoomId("!spaceId3:example.com"), RoomId("!spaceId3:example.com"),
), ),
@@ -171,7 +171,7 @@ private fun EmptySpaceHomeView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun HomeSpacesViewPreview( internal fun HomeSpacesViewPreview(
@PreviewParameter(HomeSpacesStateProvider::class) state: HomeSpacesState, @PreviewParameter(HomeSpacesStatePreviewParam::class) state: HomeSpacesState,
) = ElementPreview { ) = ElementPreview {
HomeSpacesView( HomeSpacesView(
state = state, state = state,
@@ -14,7 +14,7 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoom
import io.element.android.libraries.previewutils.room.aSpaceRoom import io.element.android.libraries.previewutils.room.aSpaceRoom
class SpaceRoomProvider : PreviewParameterProvider<SpaceRoom> { class SpaceRoomPreviewParam : PreviewParameterProvider<SpaceRoom> {
override val values: Sequence<SpaceRoom> = sequenceOf( override val values: Sequence<SpaceRoom> = sequenceOf(
aSpaceRoom(), aSpaceRoom(),
aSpaceRoom( aSpaceRoom(
@@ -18,7 +18,7 @@ import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.designsystem.preview.ROOM_NAME import io.element.android.libraries.designsystem.preview.ROOM_NAME
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
open class AcceptDeclineInviteStateProvider : PreviewParameterProvider<AcceptDeclineInviteState> { open class AcceptDeclineInviteStatePreviewParam : PreviewParameterProvider<AcceptDeclineInviteState> {
override val values: Sequence<AcceptDeclineInviteState> override val values: Sequence<AcceptDeclineInviteState>
get() = sequenceOf( get() = sequenceOf(
anAcceptDeclineInviteState(), anAcceptDeclineInviteState(),
@@ -123,7 +123,7 @@ private fun DeclineConfirmationDialog(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AcceptDeclineInviteViewPreview(@PreviewParameter(AcceptDeclineInviteStateProvider::class) state: AcceptDeclineInviteState) = internal fun AcceptDeclineInviteViewPreview(@PreviewParameter(AcceptDeclineInviteStatePreviewParam::class) state: AcceptDeclineInviteState) =
ElementPreview { ElementPreview {
AcceptDeclineInviteView( AcceptDeclineInviteView(
state = state, state = state,
@@ -11,7 +11,7 @@ package io.element.android.features.invite.impl.declineandblock
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
open class DeclineAndBlockStateProvider : PreviewParameterProvider<DeclineAndBlockState> { open class DeclineAndBlockStatePreviewParam : PreviewParameterProvider<DeclineAndBlockState> {
override val values: Sequence<DeclineAndBlockState> override val values: Sequence<DeclineAndBlockState>
get() = sequenceOf( get() = sequenceOf(
aDeclineAndBlockState(), aDeclineAndBlockState(),
@@ -145,7 +145,7 @@ fun DeclineAndBlockView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun DeclineAndBlockViewPreview( internal fun DeclineAndBlockViewPreview(
@PreviewParameter(DeclineAndBlockStateProvider::class) state: DeclineAndBlockState @PreviewParameter(DeclineAndBlockStatePreviewParam::class) state: DeclineAndBlockState
) = ElementPreview { ) = ElementPreview {
DeclineAndBlockView( DeclineAndBlockView(
state = state, state = state,
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
class InvitePeopleStateProvider : PreviewParameterProvider<InvitePeopleState> { class InvitePeopleStatePreviewParam : PreviewParameterProvider<InvitePeopleState> {
override val values: Sequence<InvitePeopleState> override val values: Sequence<InvitePeopleState>
get() = sequenceOf( get() = sequenceOf(
aPreviewInvitePeopleState(), aPreviewInvitePeopleState(),
@@ -26,7 +26,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
internal class DefaultInvitePeopleStateProvider : PreviewParameterProvider<DefaultInvitePeopleState> { internal class DefaultInvitePeopleStatePreviewParam : PreviewParameterProvider<DefaultInvitePeopleState> {
override val values: Sequence<DefaultInvitePeopleState> override val values: Sequence<DefaultInvitePeopleState>
get() = sequenceOf( get() = sequenceOf(
aDefaultInvitePeopleState(), aDefaultInvitePeopleState(),
@@ -316,7 +316,7 @@ private fun InvitePeopleConfirmModal(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun InvitePeopleViewPreview(@PreviewParameter(DefaultInvitePeopleStateProvider::class) state: DefaultInvitePeopleState) = internal fun InvitePeopleViewPreview(@PreviewParameter(DefaultInvitePeopleStatePreviewParam::class) state: DefaultInvitePeopleState) =
ElementPreview { ElementPreview {
InvitePeopleView(state = state) InvitePeopleView(state = state)
} }
@@ -30,7 +30,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.ui.model.InviteSender import io.element.android.libraries.matrix.ui.model.InviteSender
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class JoinRoomStateProvider : PreviewParameterProvider<JoinRoomState> { open class JoinRoomStatePreviewParam : PreviewParameterProvider<JoinRoomState> {
override val values: Sequence<JoinRoomState> override val values: Sequence<JoinRoomState>
get() = sequenceOf( get() = sequenceOf(
aJoinRoomState( aJoinRoomState(
@@ -642,7 +642,7 @@ private fun JoinRoomTopBar(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun JoinRoomViewPreview(@PreviewParameter(JoinRoomStateProvider::class) state: JoinRoomState) = ElementPreview { internal fun JoinRoomViewPreview(@PreviewParameter(JoinRoomStatePreviewParam::class) state: JoinRoomState) = ElementPreview {
JoinRoomView( JoinRoomView(
state = state, state = state,
onBackClick = { }, onBackClick = { },
@@ -16,7 +16,7 @@ import io.element.android.libraries.designsystem.preview.USER_NAME_BOB
import io.element.android.libraries.designsystem.preview.USER_NAME_CHARLIE import io.element.android.libraries.designsystem.preview.USER_NAME_CHARLIE
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
class KnockRequestsBannerStateProvider : PreviewParameterProvider<KnockRequestsBannerState> { class KnockRequestsBannerStatePreviewParam : PreviewParameterProvider<KnockRequestsBannerState> {
override val values: Sequence<KnockRequestsBannerState> override val values: Sequence<KnockRequestsBannerState>
get() = sequenceOf( get() = sequenceOf(
aKnockRequestsBannerState(), aKnockRequestsBannerState(),
@@ -227,7 +227,7 @@ private fun KnockRequestAvatarListView(
@Composable @Composable
@PreviewsDayNight @PreviewsDayNight
internal fun KnockRequestsBannerViewPreview(@PreviewParameter(KnockRequestsBannerStateProvider::class) state: KnockRequestsBannerState) = ElementPreview { internal fun KnockRequestsBannerViewPreview(@PreviewParameter(KnockRequestsBannerStatePreviewParam::class) state: KnockRequestsBannerState) = ElementPreview {
KnockRequestsBannerView( KnockRequestsBannerView(
state = state, state = state,
onViewRequestsClick = {}, onViewRequestsClick = {},
@@ -18,7 +18,7 @@ import io.element.android.libraries.matrix.api.core.UserId
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
open class KnockRequestsListStateProvider : PreviewParameterProvider<KnockRequestsListState> { open class KnockRequestsListStatePreviewParam : PreviewParameterProvider<KnockRequestsListState> {
override val values: Sequence<KnockRequestsListState> override val values: Sequence<KnockRequestsListState>
get() = sequenceOf( get() = sequenceOf(
aKnockRequestsListState( aKnockRequestsListState(
@@ -491,7 +491,7 @@ private fun KnockRequestsListTopBar(onBackClick: () -> Unit) {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun KnockRequestsListViewPreview( internal fun KnockRequestsListViewPreview(
@PreviewParameter(KnockRequestsListStateProvider::class) state: KnockRequestsListState @PreviewParameter(KnockRequestsListStatePreviewParam::class) state: KnockRequestsListState
) = ElementPreview { ) = ElementPreview {
KnockRequestsListView( KnockRequestsListView(
state = state, state = state,
@@ -13,7 +13,7 @@ import io.element.android.features.leaveroom.api.LeaveRoomEvent
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
class InternalLeaveRoomStateProvider : PreviewParameterProvider<InternalLeaveRoomState> { class InternalLeaveRoomStatePreviewParam : PreviewParameterProvider<InternalLeaveRoomState> {
override val values: Sequence<InternalLeaveRoomState> override val values: Sequence<InternalLeaveRoomState>
get() = sequenceOf( get() = sequenceOf(
aLeaveRoomState(), aLeaveRoomState(),
@@ -139,7 +139,7 @@ private fun LeaveRoomProgressDialog(modifier: Modifier = Modifier) {
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LeaveRoomViewPreview( internal fun LeaveRoomViewPreview(
@PreviewParameter(InternalLeaveRoomStateProvider::class) state: InternalLeaveRoomState @PreviewParameter(InternalLeaveRoomStatePreviewParam::class) state: InternalLeaveRoomState
) = ElementPreview { ) = ElementPreview {
Box( Box(
modifier = Modifier.size(300.dp, 300.dp), modifier = Modifier.size(300.dp, 300.dp),
@@ -15,7 +15,7 @@ import io.element.android.libraries.architecture.AsyncData
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
open class DependencyLicensesListStateProvider : PreviewParameterProvider<DependencyLicensesListState> { open class DependencyLicensesListStatePreviewParam : PreviewParameterProvider<DependencyLicensesListState> {
override val values: Sequence<DependencyLicensesListState> override val values: Sequence<DependencyLicensesListState>
get() = sequenceOf( get() = sequenceOf(
aDependencyLicensesListState( aDependencyLicensesListState(
@@ -126,7 +126,7 @@ fun DependencyLicensesListView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun DependencyLicensesListViewPreview( internal fun DependencyLicensesListViewPreview(
@PreviewParameter(DependencyLicensesListStateProvider::class) state: DependencyLicensesListState @PreviewParameter(DependencyLicensesListStatePreviewParam::class) state: DependencyLicensesListState
) = ElementPreview { ) = ElementPreview {
DependencyLicensesListView( DependencyLicensesListView(
state = state, state = state,
@@ -13,7 +13,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.permissions.api.PermissionsState import io.element.android.libraries.permissions.api.PermissionsState
import io.element.android.libraries.permissions.api.aPermissionsState import io.element.android.libraries.permissions.api.aPermissionsState
open class DesktopNoticeStateProvider : PreviewParameterProvider<DesktopNoticeState> { open class DesktopNoticeStatePreviewParam : PreviewParameterProvider<DesktopNoticeState> {
override val values: Sequence<DesktopNoticeState> override val values: Sequence<DesktopNoticeState>
get() = sequenceOf( get() = sequenceOf(
aDesktopNoticeState(), aDesktopNoticeState(),
@@ -118,7 +118,7 @@ fun DesktopNoticeView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun DesktopNoticeViewPreview( internal fun DesktopNoticeViewPreview(
@PreviewParameter(DesktopNoticeStateProvider::class) state: DesktopNoticeState, @PreviewParameter(DesktopNoticeStatePreviewParam::class) state: DesktopNoticeState,
) = ElementPreview { ) = ElementPreview {
DesktopNoticeView( DesktopNoticeView(
state = state, state = state,
@@ -9,7 +9,7 @@ package io.element.android.features.linknewdevice.impl.screens.error
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
class ErrorScreenTypeProvider : PreviewParameterProvider<ErrorScreenType> { class ErrorScreenTypePreviewParam : PreviewParameterProvider<ErrorScreenType> {
override val values: Sequence<ErrorScreenType> = sequenceOf( override val values: Sequence<ErrorScreenType> = sequenceOf(
ErrorScreenType.Cancelled, ErrorScreenType.Cancelled,
ErrorScreenType.Declined, ErrorScreenType.Declined,
@@ -165,7 +165,7 @@ private fun ColumnScope.Buttons(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ErrorViewPreview(@PreviewParameter(ErrorScreenTypeProvider::class) errorScreenType: ErrorScreenType) { internal fun ErrorViewPreview(@PreviewParameter(ErrorScreenTypePreviewParam::class) errorScreenType: ErrorScreenType) {
ElementPreview { ElementPreview {
ErrorView( ErrorView(
errorScreenType = errorScreenType, errorScreenType = errorScreenType,
@@ -11,7 +11,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.linknewdevice.ErrorType import io.element.android.libraries.matrix.api.linknewdevice.ErrorType
open class EnterNumberStateProvider : PreviewParameterProvider<EnterNumberState> { open class EnterNumberStatePreviewParam : PreviewParameterProvider<EnterNumberState> {
override val values: Sequence<EnterNumberState> override val values: Sequence<EnterNumberState>
get() = sequenceOf( get() = sequenceOf(
aEnterNumberState(), aEnterNumberState(),
@@ -117,7 +117,7 @@ fun EnterNumberView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun EnterNumberViewPreview( internal fun EnterNumberViewPreview(
@PreviewParameter(EnterNumberStateProvider::class) state: EnterNumberState, @PreviewParameter(EnterNumberStatePreviewParam::class) state: EnterNumberState,
) = ElementPreview { ) = ElementPreview {
EnterNumberView( EnterNumberView(
state = state, state = state,
@@ -10,7 +10,7 @@ package io.element.android.features.linknewdevice.impl.screens.qrcode
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
class ShowQrCodeStateProvider : PreviewParameterProvider<ShowQrCodeState> { class ShowQrCodeStatePreviewParam : PreviewParameterProvider<ShowQrCodeState> {
override val values: Sequence<ShowQrCodeState> override val values: Sequence<ShowQrCodeState>
get() = sequenceOf( get() = sequenceOf(
aShowQrCodeState(), aShowQrCodeState(),
@@ -117,7 +117,7 @@ private fun QrCodeOrLoading(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ShowQrCodeViewPreview( internal fun ShowQrCodeViewPreview(
@PreviewParameter(ShowQrCodeStateProvider::class) state: ShowQrCodeState, @PreviewParameter(ShowQrCodeStatePreviewParam::class) state: ShowQrCodeState,
) = ElementPreview { ) = ElementPreview {
ShowQrCodeView( ShowQrCodeView(
state = state, state = state,
@@ -11,7 +11,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.matrix.api.linknewdevice.ErrorType import io.element.android.libraries.matrix.api.linknewdevice.ErrorType
open class LinkNewDeviceRootStateProvider : PreviewParameterProvider<LinkNewDeviceRootState> { open class LinkNewDeviceRootStatePreviewParam : PreviewParameterProvider<LinkNewDeviceRootState> {
override val values: Sequence<LinkNewDeviceRootState> override val values: Sequence<LinkNewDeviceRootState>
get() = sequenceOf( get() = sequenceOf(
aLinkNewDeviceRootState(), aLinkNewDeviceRootState(),
@@ -140,7 +140,7 @@ fun LinkNewDeviceRootView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LinkNewDeviceRootViewPreview( internal fun LinkNewDeviceRootViewPreview(
@PreviewParameter(LinkNewDeviceRootStateProvider::class) state: LinkNewDeviceRootState @PreviewParameter(LinkNewDeviceRootStatePreviewParam::class) state: LinkNewDeviceRootState
) = ElementPreview { ) = ElementPreview {
LinkNewDeviceRootView( LinkNewDeviceRootView(
state = state, state = state,
@@ -10,7 +10,7 @@ package io.element.android.features.linknewdevice.impl.screens.scan
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
open class ScanQrCodeStateProvider : PreviewParameterProvider<ScanQrCodeState> { open class ScanQrCodeStatePreviewParam : PreviewParameterProvider<ScanQrCodeState> {
override val values: Sequence<ScanQrCodeState> override val values: Sequence<ScanQrCodeState>
get() = sequenceOf( get() = sequenceOf(
aScanQrCodeState(), aScanQrCodeState(),
@@ -166,7 +166,7 @@ private fun ColumnScope.Buttons(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ScanQrCodeViewPreview(@PreviewParameter(ScanQrCodeStateProvider::class) state: ScanQrCodeState) = ElementPreview { internal fun ScanQrCodeViewPreview(@PreviewParameter(ScanQrCodeStatePreviewParam::class) state: ScanQrCodeState) = ElementPreview {
ScanQrCodeView( ScanQrCodeView(
state = state, state = state,
onBackClick = {}, onBackClick = {},
@@ -22,7 +22,7 @@ import kotlin.time.Duration.Companion.minutes
private const val APP_NAME = "ApplicationName" private const val APP_NAME = "ApplicationName"
class ShareLocationStateProvider : PreviewParameterProvider<ShareLocationState> { class ShareLocationStatePreviewParam : PreviewParameterProvider<ShareLocationState> {
override val values: Sequence<ShareLocationState> override val values: Sequence<ShareLocationState>
get() = sequenceOf( get() = sequenceOf(
aShareLocationState( aShareLocationState(
@@ -332,7 +332,7 @@ private fun LiveLocationDurationDialog(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ShareLocationViewPreview( internal fun ShareLocationViewPreview(
@PreviewParameter(ShareLocationStateProvider::class) state: ShareLocationState @PreviewParameter(ShareLocationStatePreviewParam::class) state: ShareLocationState
) = ElementPreview { ) = ElementPreview {
ShareLocationView( ShareLocationView(
state = state, state = state,
@@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.location.AssetType import io.element.android.libraries.matrix.api.room.location.AssetType
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
class ShowLocationStateProvider : PreviewParameterProvider<ShowLocationState> { class ShowLocationStatePreviewParam : PreviewParameterProvider<ShowLocationState> {
override val values: Sequence<ShowLocationState> override val values: Sequence<ShowLocationState>
get() = sequenceOf( get() = sequenceOf(
aShowLocationState(), aShowLocationState(),
@@ -200,7 +200,7 @@ fun ShowLocationView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ShowLocationViewPreview(@PreviewParameter(ShowLocationStateProvider::class) state: ShowLocationState) = ElementPreview { internal fun ShowLocationViewPreview(@PreviewParameter(ShowLocationStatePreviewParam::class) state: ShowLocationState) = ElementPreview {
ShowLocationView( ShowLocationView(
state = state, state = state,
onBackClick = {}, onBackClick = {},
@@ -10,7 +10,7 @@ package io.element.android.features.lockscreen.impl.settings
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
open class LockScreenSettingsStateProvider : PreviewParameterProvider<LockScreenSettingsState> { open class LockScreenSettingsStatePreviewParam : PreviewParameterProvider<LockScreenSettingsState> {
override val values: Sequence<LockScreenSettingsState> override val values: Sequence<LockScreenSettingsState>
get() = sequenceOf( get() = sequenceOf(
aLockScreenSettingsState(), aLockScreenSettingsState(),
@@ -84,7 +84,7 @@ fun LockScreenSettingsView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LockScreenSettingsViewPreview( internal fun LockScreenSettingsViewPreview(
@PreviewParameter(LockScreenSettingsStateProvider::class) state: LockScreenSettingsState, @PreviewParameter(LockScreenSettingsStatePreviewParam::class) state: LockScreenSettingsState,
) { ) {
ElementPreview { ElementPreview {
LockScreenSettingsView( LockScreenSettingsView(
@@ -10,7 +10,7 @@ package io.element.android.features.lockscreen.impl.setup.biometric
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
open class SetupBiometricStateProvider : PreviewParameterProvider<SetupBiometricState> { open class SetupBiometricStatePreviewParam : PreviewParameterProvider<SetupBiometricState> {
override val values: Sequence<SetupBiometricState> override val values: Sequence<SetupBiometricState>
get() = sequenceOf( get() = sequenceOf(
aSetupBiometricState(), aSetupBiometricState(),
@@ -79,7 +79,7 @@ private fun SetupBiometricFooter(
@Composable @Composable
@PreviewsDayNight @PreviewsDayNight
internal fun SetupBiometricViewPreview(@PreviewParameter(SetupBiometricStateProvider::class) state: SetupBiometricState) { internal fun SetupBiometricViewPreview(@PreviewParameter(SetupBiometricStatePreviewParam::class) state: SetupBiometricState) {
ElementPreview { ElementPreview {
SetupBiometricView( SetupBiometricView(
state = state, state = state,
@@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.lockscreen.impl.pin.model.PinEntry import io.element.android.features.lockscreen.impl.pin.model.PinEntry
import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure
open class SetupPinStateProvider : PreviewParameterProvider<SetupPinState> { open class SetupPinStatePreviewParam : PreviewParameterProvider<SetupPinState> {
override val values: Sequence<SetupPinState> override val values: Sequence<SetupPinState>
get() = sequenceOf( get() = sequenceOf(
aSetupPinState(), aSetupPinState(),
@@ -145,7 +145,7 @@ private fun SetupPinFailure.title(): String {
@Composable @Composable
@PreviewsDayNight @PreviewsDayNight
internal fun SetupPinViewPreview(@PreviewParameter(SetupPinStateProvider::class) state: SetupPinState) { internal fun SetupPinViewPreview(@PreviewParameter(SetupPinStatePreviewParam::class) state: SetupPinState) {
ElementPreview { ElementPreview {
SetupPinView( SetupPinView(
state = state, state = state,
@@ -16,7 +16,7 @@ import io.element.android.features.lockscreen.impl.pin.model.PinEntry
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
open class PinUnlockStateProvider : PreviewParameterProvider<PinUnlockState> { open class PinUnlockStatePreviewParam : PreviewParameterProvider<PinUnlockState> {
override val values: Sequence<PinUnlockState> override val values: Sequence<PinUnlockState>
get() = sequenceOf( get() = sequenceOf(
aPinUnlockState(), aPinUnlockState(),
@@ -42,7 +42,7 @@ open class PinUnlockStateProvider : PreviewParameterProvider<PinUnlockState> {
) )
} }
open class PinUnlockStateCompactProvider : PreviewParameterProvider<PinUnlockState> { open class PinUnlockStateCompactPreviewParam : PreviewParameterProvider<PinUnlockState> {
override val values: Sequence<PinUnlockState> override val values: Sequence<PinUnlockState>
get() = sequenceOf( get() = sequenceOf(
aPinUnlockState(), aPinUnlockState(),
@@ -381,7 +381,7 @@ private fun PinUnlockFooter(
@Composable @Composable
@PreviewsDayNight @PreviewsDayNight
internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStateProvider::class) state: PinUnlockState) { internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStatePreviewParam::class) state: PinUnlockState) {
ElementPreview { ElementPreview {
PinUnlockView( PinUnlockView(
state = state, state = state,
@@ -393,7 +393,7 @@ internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStateProvider:
@Composable @Composable
@PreviewsDayNight @PreviewsDayNight
internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStateProvider::class) state: PinUnlockState) { internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStatePreviewParam::class) state: PinUnlockState) {
ElementPreview { ElementPreview {
PinUnlockView( PinUnlockView(
state = state, state = state,
@@ -405,7 +405,7 @@ internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStateProvider::clas
@Composable @Composable
@Preview(heightDp = 480, widthDp = 800) @Preview(heightDp = 480, widthDp = 800)
internal fun PinUnlockViewCompactPreview(@PreviewParameter(PinUnlockStateCompactProvider::class) state: PinUnlockState) { internal fun PinUnlockViewCompactPreview(@PreviewParameter(PinUnlockStateCompactPreviewParam::class) state: PinUnlockState) {
ElementPreview { ElementPreview {
PinUnlockView( PinUnlockView(
state = state, state = state,
@@ -11,7 +11,7 @@ package io.element.android.features.login.impl.accountprovider
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.appconfig.AuthenticationConfig import io.element.android.appconfig.AuthenticationConfig
open class AccountProviderProvider : PreviewParameterProvider<AccountProvider> { open class AccountProviderPreviewParam : PreviewParameterProvider<AccountProvider> {
override val values: Sequence<AccountProvider> override val values: Sequence<AccountProvider>
get() = sequenceOf( get() = sequenceOf(
anAccountProvider(), anAccountProvider(),
@@ -116,7 +116,7 @@ fun AccountProviderView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun AccountProviderViewPreview(@PreviewParameter(AccountProviderProvider::class) item: AccountProvider) = ElementPreview { internal fun AccountProviderViewPreview(@PreviewParameter(AccountProviderPreviewParam::class) item: AccountProvider) = ElementPreview {
AccountProviderView( AccountProviderView(
item = item, item = item,
onClick = { } onClick = { }
@@ -14,7 +14,7 @@ import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails import io.element.android.libraries.matrix.api.auth.MatrixHomeServerDetails
import io.element.android.libraries.permissions.api.localnetwork.LocalNetworkPermissionDialog import io.element.android.libraries.permissions.api.localnetwork.LocalNetworkPermissionDialog
open class ChangeServerStateProvider : PreviewParameterProvider<ChangeServerState> { open class ChangeServerStatePreviewParam : PreviewParameterProvider<ChangeServerState> {
override val values: Sequence<ChangeServerState> override val values: Sequence<ChangeServerState>
get() = sequenceOf( get() = sequenceOf(
aChangeServerState(), aChangeServerState(),
@@ -135,7 +135,7 @@ fun ChangeServerView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun ChangeServerViewPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = ElementPreview { internal fun ChangeServerViewPreview(@PreviewParameter(ChangeServerStatePreviewParam::class) state: ChangeServerState) = ElementPreview {
ChangeServerView( ChangeServerView(
state = state, state = state,
onLearnMoreClick = {}, onLearnMoreClick = {},
@@ -10,7 +10,7 @@ package io.element.android.features.login.impl.error
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
class ChangeServerErrorProvider : PreviewParameterProvider<ChangeServerError> { class ChangeServerErrorPreviewParam : PreviewParameterProvider<ChangeServerError> {
override val values: Sequence<ChangeServerError> override val values: Sequence<ChangeServerError>
get() = sequenceOf( get() = sequenceOf(
ChangeServerError.InvalidServer, ChangeServerError.InvalidServer,
@@ -129,7 +129,7 @@ fun LoginModeView(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun LoginModeViewPreview(@PreviewParameter(LoginModeViewErrorProvider::class) error: Throwable) { internal fun LoginModeViewPreview(@PreviewParameter(LoginModeViewErrorPreviewParam::class) error: Throwable) {
ElementPreview { ElementPreview {
LoginModeView( LoginModeView(
loginMode = AsyncData.Failure(error), loginMode = AsyncData.Failure(error),
@@ -9,11 +9,11 @@
package io.element.android.features.login.impl.login package io.element.android.features.login.impl.login
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.login.impl.error.ChangeServerErrorProvider import io.element.android.features.login.impl.error.ChangeServerErrorPreviewParam
import io.element.android.libraries.matrix.api.auth.AuthenticationException import io.element.android.libraries.matrix.api.auth.AuthenticationException
class LoginModeViewErrorProvider : PreviewParameterProvider<Exception> { class LoginModeViewErrorPreviewParam : PreviewParameterProvider<Exception> {
override val values: Sequence<Exception> override val values: Sequence<Exception>
get() = ChangeServerErrorProvider().values + get() = ChangeServerErrorPreviewParam().values +
AuthenticationException.AccountAlreadyLoggedIn("@alice:matrix.org") AuthenticationException.AccountAlreadyLoggedIn("@alice:matrix.org")
} }
@@ -16,7 +16,7 @@ import io.element.android.features.login.impl.login.aLoginModeState
import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.AsyncData
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
open class ChooseAccountProviderStateProvider : PreviewParameterProvider<ChooseAccountProviderState> { open class ChooseAccountProviderStatePreviewParam : PreviewParameterProvider<ChooseAccountProviderState> {
private val server1 = anAccountProvider( private val server1 = anAccountProvider(
url = "https://server1.io", url = "https://server1.io",
subtitle = null, subtitle = null,

Some files were not shown because too many files have changed in this diff Show More