diff --git a/AGENTS.md b/AGENTS.md index 2c6cc9d60c..917285ab30 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ PRs must meet these rules. - Create previews for **all main states** of a Composable. - Use `@PreviewsDayNight` for consistency. -- Use `PreviewParameterProvider` (e.g., `FooStateProvider`) to provide states. +- Use `PreviewParameterProvider` (e.g., `FooStatePreviewParam`) to provide states. - Wrap previews in `ElementPreview { ... }`. - 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`. | | `FooState.kt` | Data class representing the immutable UI state. | | `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. | --- diff --git a/annotations/src/main/kotlin/io/element/android/annotations/ContributesNode.kt b/annotations/src/main/kotlin/io/element/android/annotations/ContributesNode.kt index 632bdc3e81..8091206cbd 100644 --- a/annotations/src/main/kotlin/io/element/android/annotations/ContributesNode.kt +++ b/annotations/src/main/kotlin/io/element/android/annotations/ContributesNode.kt @@ -14,16 +14,16 @@ import kotlin.reflect.KClass * Adds Node to the specified component graph. * Equivalent to the following declaration: * + * ``` * @BindingContainer * @ContributesTo(Scope::class) - * abstract class YourNodeModule { - - * @Binds - * @IntoMap - * @NodeKey(YourNode::class) - * abstract fun bindYourNodeFactory(factory: YourNode.Factory): AssistedNodeFactory<*> - *} - + * interface YourNodeBindingContainer { + * @Binds + * @IntoMap + * @NodeKey(YourNode::class) + * fun bindYourNodeAssistedFactory(factory: YourNodeAssistedFactory): AssistedNodeFactory<*> + * } + * ``` */ @Target(AnnotationTarget.CLASS) annotation class ContributesNode( diff --git a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt b/app/src/main/kotlin/io/element/android/x/di/AppBindingContainer.kt similarity index 97% rename from app/src/main/kotlin/io/element/android/x/di/AppModule.kt rename to app/src/main/kotlin/io/element/android/x/di/AppBindingContainer.kt index 39c70e35d8..3f8e94d8ef 100644 --- a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt +++ b/app/src/main/kotlin/io/element/android/x/di/AppBindingContainer.kt @@ -38,7 +38,7 @@ import java.io.File @BindingContainer @ContributesTo(AppScope::class) -object AppModule { +object AppBindingContainer { @Provides @BaseDirectory fun providesBaseDirectory(@ApplicationContext context: Context): File { @@ -111,7 +111,7 @@ object AppModule { @Provides @SingleIn(AppScope::class) - fun provideSnackbarDispatcher(): SnackbarDispatcher { + fun providesSnackbarDispatcher(): SnackbarDispatcher { return SnackbarDispatcher() } } diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt index d46fb2f931..5cd3efa801 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt @@ -30,8 +30,6 @@ import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.extensions.runCatchingExceptions import io.element.android.libraries.core.log.logger.LoggerTag import io.element.android.libraries.core.meta.BuildMeta -import io.element.android.libraries.featureflag.api.FeatureFlagService -import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.encryption.RecoveryState @@ -67,7 +65,6 @@ class LoggedInPresenter( private val buildMeta: BuildMeta, private val networkMonitor: NetworkMonitor, private val localNetworkPermissionAdvisor: LocalNetworkPermissionAdvisor, - private val featureFlagService: FeatureFlagService, permissionsPresenterFactory: PermissionsPresenter.Factory, ) : Presenter { private val localNetworkPermissionsPresenter: PermissionsPresenter = @@ -124,13 +121,9 @@ class LoggedInPresenter( } LaunchedEffect(Unit) { - // Keep automatic call status (m.call) in sync with the feature flag and homeserver support. - featureFlagService.isFeatureEnabledFlow(FeatureFlags.UserStatus) - .onEach { isUserStatusEnabled -> - val enabled = isUserStatusEnabled && matrixClient.isUserStatusSupported().getOrDefault(false) - matrixClient.enableAutomaticCallStatus(enabled) - } - .launchIn(this) + // Keep automatic call status (m.call) in sync with homeserver support. + val enabled = matrixClient.isUserStatusSupported().getOrDefault(false) + matrixClient.enableAutomaticCallStatus(enabled) } val networkConnectivity by networkMonitor.connectivity.collectAsState() diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStatePreviewParam.kt similarity index 95% rename from appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt rename to appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStatePreviewParam.kt index 67fcb95c2c..b479e00279 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStateProvider.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInStatePreviewParam.kt @@ -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.push.api.PusherRegistrationFailure -open class LoggedInStateProvider : PreviewParameterProvider { +open class LoggedInStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLoggedInState(), diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt index e57d378da4..7e607e7d92 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt @@ -124,7 +124,7 @@ private fun ForceNativeSlidingSyncMigrationDialog( @PreviewsDayNight @Composable -internal fun LoggedInViewPreview(@PreviewParameter(LoggedInStateProvider::class) state: LoggedInState) = ElementPreview { +internal fun LoggedInViewPreview(@PreviewParameter(LoggedInStatePreviewParam::class) state: LoggedInState) = ElementPreview { LoggedInView( state = state, navigateToNotificationTroubleshoot = {}, diff --git a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/LoadingRoomNodeView.kt b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/LoadingRoomNodeView.kt index a596052fca..175b662e08 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/LoadingRoomNodeView.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/LoadingRoomNodeView.kt @@ -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.utils.DelayedVisibility 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 @Composable @@ -84,7 +84,7 @@ private fun LoadingRoomTopBar( @PreviewsDayNight @Composable -internal fun LoadingRoomNodeViewPreview(@PreviewParameter(LoadingRoomStateProvider::class) state: LoadingRoomState) = ElementPreview { +internal fun LoadingRoomNodeViewPreview(@PreviewParameter(LoadingRoomStatePreviewParam::class) state: LoadingRoomState) = ElementPreview { LoadingRoomNodeView( state = state, onBackClick = {} diff --git a/appnav/src/main/kotlin/io/element/android/appnav/root/RootStateProvider.kt b/appnav/src/main/kotlin/io/element/android/appnav/root/RootStatePreviewParam.kt similarity index 95% rename from appnav/src/main/kotlin/io/element/android/appnav/root/RootStateProvider.kt rename to appnav/src/main/kotlin/io/element/android/appnav/root/RootStatePreviewParam.kt index 26db205498..8ae3d261e8 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/root/RootStateProvider.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/root/RootStatePreviewParam.kt @@ -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.aAppErrorState -open class RootStateProvider : PreviewParameterProvider { +open class RootStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRootState().copy( diff --git a/appnav/src/main/kotlin/io/element/android/appnav/root/RootView.kt b/appnav/src/main/kotlin/io/element/android/appnav/root/RootView.kt index 19aa820433..aa6bcf1a88 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/root/RootView.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/root/RootView.kt @@ -60,7 +60,7 @@ fun RootView( @PreviewsDayNight @Composable -internal fun RootViewPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreview { +internal fun RootViewPreview(@PreviewParameter(RootStatePreviewParam::class) rootState: RootState) = ElementPreview { RootView( state = rootState, onOpenBugReport = {}, diff --git a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt index cc330c2758..0e2d459d1e 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt @@ -17,9 +17,6 @@ import im.vector.app.features.analytics.plan.UserProperties import io.element.android.features.networkmonitor.api.NetworkStatus import io.element.android.features.networkmonitor.test.FakeNetworkMonitor import io.element.android.libraries.core.meta.BuildMeta -import io.element.android.libraries.featureflag.api.FeatureFlagService -import io.element.android.libraries.featureflag.api.FeatureFlags -import io.element.android.libraries.featureflag.test.FakeFeatureFlagService import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.encryption.EncryptionService @@ -131,7 +128,6 @@ class LoggedInPresenterTest { buildMeta = buildMeta, networkMonitor = networkMonitor, localNetworkPermissionAdvisor = FakeLocalNetworkPermissionAdvisor(), - featureFlagService = FakeFeatureFlagService(), permissionsPresenterFactory = FakePermissionsPresenterFactory(), ).test { encryptionService.emitRecoveryState(RecoveryState.UNKNOWN) @@ -362,9 +358,6 @@ class LoggedInPresenterTest { } createLoggedInPresenter( matrixClient = matrixClient, - featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.UserStatus.key to true), - ), ).test { cancelAndConsumeRemainingEvents() assert(enableAutomaticCallStatusLambda) @@ -374,7 +367,7 @@ class LoggedInPresenterTest { } @Test - fun `present - reacts to user status flag being toggled at runtime`() = runTest { + fun `present - enables automatic call status when server supports it`() = runTest { val enableAutomaticCallStatusLambda = lambdaRecorder { } val matrixClient = FakeMatrixClient( accountManagementUrlResult = { Result.success(null) }, @@ -382,23 +375,13 @@ class LoggedInPresenterTest { ).apply { isUserStatusSupportedResult = Result.success(true) } - val featureFlagService = FakeFeatureFlagService( - initialState = mapOf(FeatureFlags.UserStatus.key to false), - ) createLoggedInPresenter( matrixClient = matrixClient, - featureFlagService = featureFlagService, ).test { - awaitItem() - // Turning the flag on at runtime enables it. - featureFlagService.setFeatureEnabled(FeatureFlags.UserStatus, true) cancelAndConsumeRemainingEvents() assert(enableAutomaticCallStatusLambda) - .isCalledExactly(2) - .withSequence( - listOf(value(false)), - listOf(value(true)), - ) + .isCalledOnce() + .with(value(true)) } } @@ -418,7 +401,6 @@ class LoggedInPresenterTest { ), buildMeta: BuildMeta = aBuildMeta(), networkMonitor: FakeNetworkMonitor = FakeNetworkMonitor(), - featureFlagService: FeatureFlagService = FakeFeatureFlagService(), ): LoggedInPresenter { return LoggedInPresenter( matrixClient = matrixClient, @@ -430,7 +412,6 @@ class LoggedInPresenterTest { buildMeta = buildMeta, networkMonitor = networkMonitor, localNetworkPermissionAdvisor = FakeLocalNetworkPermissionAdvisor(), - featureFlagService = featureFlagService, permissionsPresenterFactory = FakePermissionsPresenterFactory(), ) } diff --git a/codegen/src/main/kotlin/io/element/android/codegen/ContributesNodeProcessor.kt b/codegen/src/main/kotlin/io/element/android/codegen/ContributesNodeProcessor.kt index 8b537a53fe..3e6c05ad01 100644 --- a/codegen/src/main/kotlin/io/element/android/codegen/ContributesNodeProcessor.kt +++ b/codegen/src/main/kotlin/io/element/android/codegen/ContributesNodeProcessor.kt @@ -61,32 +61,32 @@ class ContributesNodeProcessor( if (config.enableLogging) { logger.warn("Processing ${ksClass.qualifiedName?.asString()}") } - generateModule(ksClass) + generateBindingContainer(ksClass) generateFactory(ksClass) } return invalidSymbols } - private fun generateModule(ksClass: KSClassDeclaration) { + private fun generateBindingContainer(ksClass: KSClassDeclaration) { val annotation = ksClass.annotations.find { it.shortName.asString() == "ContributesNode" }!! val scope = annotation.arguments.find { it.name?.asString() == "scope" }!!.value as KSType - val modulePackage = ksClass.packageName.asString() - val moduleClassName = "${ksClass.simpleName.asString()}_Module" + val bindingContainerPackage = ksClass.packageName.asString() + val bindingContainerClassName = "${ksClass.simpleName.asString()}BindingContainer" val nodeClassName = ClassName.bestGuess(ksClass.qualifiedName!!.asString()) val content = FileSpec.builder( - packageName = modulePackage, - fileName = moduleClassName, + packageName = bindingContainerPackage, + fileName = bindingContainerClassName, ) .addType( - TypeSpec.interfaceBuilder(moduleClassName) + TypeSpec.interfaceBuilder(bindingContainerClassName) .addAnnotation(AnnotationSpec.builder(Origin::class).addMember(CLASS_PLACEHOLDER, nodeClassName).build()) .addAnnotation(BindingContainer::class) .addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember(CLASS_PLACEHOLDER, scope.toTypeName()).build()) .addFunction( - FunSpec.builder("bind${ksClass.simpleName.asString()}Factory") + FunSpec.builder("bind${ksClass.simpleName.asString()}AssistedFactory") .addModifiers(KModifier.ABSTRACT) - .addParameter("factory", ClassName(modulePackage, "${ksClass.simpleName.asString()}_AssistedFactory")) + .addParameter("factory", ClassName(bindingContainerPackage, "${ksClass.simpleName.asString()}AssistedFactory")) .returns(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(STAR)) .addAnnotation(Binds::class) .addAnnotation(IntoMap::class) @@ -114,7 +114,7 @@ class ContributesNodeProcessor( @OptIn(KspExperimental::class) private fun generateFactory(ksClass: KSClassDeclaration) { val generatedPackage = ksClass.packageName.asString() - val assistedFactoryClassName = "${ksClass.simpleName.asString()}_AssistedFactory" + val assistedFactoryClassName = "${ksClass.simpleName.asString()}AssistedFactory" val constructor = ksClass.getConstructors().first { it.parameters.isNotEmpty() } val assistedParameters = constructor.parameters.filter { it.isAnnotationPresent(Assisted::class) } if (assistedParameters.size != 2) { diff --git a/docs/_developer_onboarding.md b/docs/_developer_onboarding.md index dbac9107c4..e7515eb466 100644 --- a/docs/_developer_onboarding.md +++ b/docs/_developer_onboarding.md @@ -322,10 +322,10 @@ Example for a new feature called RoomDetails: 4. Verify that the structure looks ok and click on Finish 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). -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`. Fill the text field with the base name of the classes: the generated files are `Event.kt`, `State.kt`, - `StateProvider.kt`, `Presenter.kt`, `Node.kt` and `View.kt`. For instance + `StatePreviewParam.kt`, `Presenter.kt`, `Node.kt` and `View.kt`. For instance `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). - 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 - 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 - 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). **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 diff --git a/enterprise b/enterprise index ae0001a17d..e633a343b1 160000 --- a/enterprise +++ b/enterprise @@ -1 +1 @@ -Subproject commit ae0001a17d503c9051704eeb6d7ff06609f87242 +Subproject commit e633a343b12088b1fe3fd6b27ec319c1f7f2931c diff --git a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStateProvider.kt b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStatePreviewParam.kt similarity index 89% rename from features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStateProvider.kt rename to features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStatePreviewParam.kt index 02e07a86a2..89d19ebac8 100644 --- a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStateProvider.kt +++ b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.analytics.api.preferences import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class AnalyticsPreferencesStateProvider : PreviewParameterProvider { +open class AnalyticsPreferencesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aAnalyticsPreferencesState().copy(isEnabled = true), diff --git a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt index 1158b57673..0d141e5ed2 100644 --- a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt +++ b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt @@ -66,7 +66,7 @@ fun AnalyticsPreferencesView( @PreviewsDayNight @Composable -internal fun AnalyticsPreferencesViewPreview(@PreviewParameter(AnalyticsPreferencesStateProvider::class) state: AnalyticsPreferencesState) = +internal fun AnalyticsPreferencesViewPreview(@PreviewParameter(AnalyticsPreferencesStatePreviewParam::class) state: AnalyticsPreferencesState) = ElementPreview { AnalyticsPreferencesView( state = state, diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStateProvider.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStatePreviewParam.kt similarity index 88% rename from features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStateProvider.kt rename to features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStatePreviewParam.kt index 30a396c178..960abb7216 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStateProvider.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.analytics.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class AnalyticsOptInStateProvider : PreviewParameterProvider { +open class AnalyticsOptInStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aAnalyticsOptInState(), diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt index c05edd825c..678d28c5c9 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt @@ -171,7 +171,7 @@ private fun AnalyticsOptInFooter( @PreviewsDayNight @Composable -internal fun AnalyticsOptInViewPreview(@PreviewParameter(AnalyticsOptInStateProvider::class) state: AnalyticsOptInState) = ElementPreview { +internal fun AnalyticsOptInViewPreview(@PreviewParameter(AnalyticsOptInStatePreviewParam::class) state: AnalyticsOptInState) = ElementPreview { AnalyticsOptInView( state = state, onClickTerms = {}, diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsBindingContainer.kt similarity index 95% rename from features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt rename to features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsBindingContainer.kt index 32a3d5826a..a4c2c68670 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.architecture.Presenter @ContributesTo(AppScope::class) @BindingContainer -interface AnalyticsModule { +interface AnalyticsBindingContainer { @Binds fun bindAnalyticsPreferencesPresenter(presenter: AnalyticsPreferencesPresenter): Presenter } diff --git a/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStateProvider.kt b/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStatePreviewParam.kt similarity index 90% rename from features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStateProvider.kt rename to features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStatePreviewParam.kt index 2412fee167..df7afad32f 100644 --- a/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStateProvider.kt +++ b/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/AnnouncementStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.announcement.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.announcement.api.Announcement -open class AnnouncementStateProvider : PreviewParameterProvider { +open class AnnouncementStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAnnouncementState(), diff --git a/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/fullscreen/FullscreenAnnouncementView.kt b/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/fullscreen/FullscreenAnnouncementView.kt index 5f7778900b..cb962f8968 100644 --- a/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/fullscreen/FullscreenAnnouncementView.kt +++ b/features/announcement/impl/src/main/kotlin/io/element/android/features/announcement/impl/fullscreen/FullscreenAnnouncementView.kt @@ -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.impl.AnnouncementEvent 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.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage @@ -216,7 +216,7 @@ private fun Announcement.Fullscreen.notice(): String? = when (this) { @PreviewsDayNight @Composable -internal fun FullscreenAnnouncementViewPreview(@PreviewParameter(AnnouncementStateProvider::class) state: AnnouncementState) = ElementPreview { +internal fun FullscreenAnnouncementViewPreview(@PreviewParameter(AnnouncementStatePreviewParam::class) state: AnnouncementState) = ElementPreview { FullscreenAnnouncementView( state = state, ) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenter.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenter.kt index aeb507f6ec..274a80cc26 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenter.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenter.kt @@ -60,7 +60,9 @@ class PictureInPicturePresenter( } is PictureInPictureEvent.SetPipOrientation -> { Timber.tag(loggerTag.value).d("onOrientationChange: ${event.orientation}") - pipView?.setPipOrientation(event.orientation) + if (isPipSupported) { + pipView?.setPipOrientation(event.orientation) + } } } } diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PipView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PipView.kt index aa1ab79dd0..54b8d77601 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PipView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PipView.kt @@ -8,9 +8,15 @@ package io.element.android.features.call.impl.pip +import android.os.Build +import androidx.annotation.RequiresApi + interface PipView { + @RequiresApi(Build.VERSION_CODES.O) fun setPipOrientation(orientation: Int?) + @RequiresApi(Build.VERSION_CODES.O) fun setPipParams() + @RequiresApi(Build.VERSION_CODES.O) fun enterPipMode(): Boolean fun hangUp() } diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataProvider.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataPreviewParam.kt similarity index 94% rename from features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataProvider.kt rename to features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataPreviewParam.kt index 9e551b3e1b..8ca3893f2b 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataProvider.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallNotificationDataPreviewParam.kt @@ -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.UserId -open class CallNotificationDataProvider : PreviewParameterProvider { +open class CallNotificationDataPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aCallNotificationData( diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStatePreviewParam.kt similarity index 93% rename from features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt rename to features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStatePreviewParam.kt index 155c5d3380..cc21197a51 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.call.impl.ui import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncData -open class CallScreenStateProvider : PreviewParameterProvider { +open class CallScreenStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aCallScreenState(), diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt index ee63e273e4..33c3024f83 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt @@ -266,7 +266,7 @@ private fun WebView.dispatchEscKeyEvent() { @PreviewsDayNight @Composable internal fun CallScreenViewPreview( - @PreviewParameter(CallScreenStateProvider::class) state: CallScreenState, + @PreviewParameter(CallScreenStatePreviewParam::class) state: CallScreenState, ) = ElementPreview { CallScreenView( state = state, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt index 5ed9e29fe2..4a6b8f1c05 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/ElementCallActivity.kt @@ -202,7 +202,9 @@ class ElementCallActivity : } DisposableEffect(Unit) { val onPictureInPictureModeChangedListener = Consumer { _: PictureInPictureModeChangedInfo -> - setPipParams() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + setPipParams() + } pipEventSink(PictureInPictureEvent.OnPictureInPictureModeChanged(isInPictureInPictureMode)) if (!isInPictureInPictureMode && !lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)) { Timber.tag(loggerTag.value).d("Exiting PiP mode: Hangup the call") @@ -300,6 +302,7 @@ class ElementCallActivity : } } + @RequiresApi(Build.VERSION_CODES.O) override fun setPipOrientation(orientation: Int?) { currentPipOrientation = orientation setPictureInPictureParams(getPictureInPictureParams()) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/IncomingCallScreen.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/IncomingCallScreen.kt index 72edd59ed5..1489d9d0e7 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/IncomingCallScreen.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/IncomingCallScreen.kt @@ -161,7 +161,7 @@ private fun ActionButton( @PreviewsDayNight @Composable internal fun IncomingCallScreenPreview( - @PreviewParameter(CallNotificationDataProvider::class) state: CallNotificationData, + @PreviewParameter(CallNotificationDataPreviewParam::class) state: CallNotificationData, ) = ElementPreview { IncomingCallScreen( notificationData = state, diff --git a/features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModule.kt b/features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainer.kt similarity index 97% rename from features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModule.kt rename to features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainer.kt index 9446a603b2..8c25d8bf6a 100644 --- a/features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModule.kt +++ b/features/contentscanner/impl/src/main/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainer.kt @@ -21,7 +21,7 @@ import kotlinx.coroutines.CoroutineScope @BindingContainer @ContributesTo(RoomScope::class) -object ContentScannerModule { +object ContentScannerBindingContainer { @Provides @SingleIn(RoomScope::class) fun providesContentScannerService( diff --git a/features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModuleTest.kt b/features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainerTest.kt similarity index 77% rename from features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModuleTest.kt rename to features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainerTest.kt index 8c3834d696..858a21df6c 100644 --- a/features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerModuleTest.kt +++ b/features/contentscanner/impl/src/test/kotlin/io/element/android/features/contentscanner/impl/di/ContentScannerBindingContainerTest.kt @@ -15,16 +15,16 @@ import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.test.runTest import org.junit.Test -class ContentScannerModuleTest { +class ContentScannerBindingContainerTest { @Test - fun `ContentScannerModule provides NoopContentScannerService when ContentScanner is null`() = runTest { + fun `ContentScannerBindingContainer provides NoopContentScannerService when ContentScanner is null`() = runTest { // Given val contentScanner: ContentScanner? = null val sessionCoroutineScope = backgroundScope val coroutineDispatchers = testCoroutineDispatchers() // When - val contentScannerService = ContentScannerModule.providesContentScannerService( + val contentScannerService = ContentScannerBindingContainer.providesContentScannerService( contentScanner = contentScanner, coroutineScope = sessionCoroutineScope, coroutineDispatchers = coroutineDispatchers, @@ -35,14 +35,14 @@ class ContentScannerModuleTest { } @Test - fun `ContentScannerModule provides DefaultContentScannerService when ContentScanner is not null`() = runTest { + fun `ContentScannerBindingContainer provides DefaultContentScannerService when ContentScanner is not null`() = runTest { // Given val contentScanner: ContentScanner? = FakeContentScanner() val sessionCoroutineScope = backgroundScope val coroutineDispatchers = testCoroutineDispatchers() // When - val contentScannerService = ContentScannerModule.providesContentScannerService( + val contentScannerService = ContentScannerBindingContainer.providesContentScannerService( contentScanner = contentScanner, coroutineScope = sessionCoroutineScope, coroutineDispatchers = coroutineDispatchers, diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt index e03d36363d..f9075691aa 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.unit.dp import io.element.android.features.createroom.impl.R import io.element.android.features.invitepeople.api.InvitePeopleEvents 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.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -86,7 +86,7 @@ private fun AddPeopleTopBar( @PreviewsDayNight @Composable -internal fun AddPeopleViewPreview(@PreviewParameter(InvitePeopleStateProvider::class) state: InvitePeopleState) = ElementPreview { +internal fun AddPeopleViewPreview(@PreviewParameter(InvitePeopleStatePreviewParam::class) state: InvitePeopleState) = ElementPreview { AddPeopleView( state = state, invitePeopleView = {}, diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStateProvider.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStatePreviewParam.kt similarity index 98% rename from features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStateProvider.kt rename to features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStatePreviewParam.kt index 9c2ad76a9b..151c7d13d0 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStateProvider.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomStatePreviewParam.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.permissions.api.aPermissionsState import io.element.android.libraries.previewutils.room.aSpaceRoom import kotlinx.collections.immutable.toImmutableList -open class ConfigureRoomStateProvider : PreviewParameterProvider { +open class ConfigureRoomStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aConfigureRoomState(), diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt index c929060e13..e39df69f97 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt @@ -349,12 +349,12 @@ private fun RoomJoinRuleOptions( @PreviewWithLargeHeight @Composable -internal fun ConfigureRoomViewLightPreview(@PreviewParameter(ConfigureRoomStateProvider::class) state: ConfigureRoomState) = +internal fun ConfigureRoomViewLightPreview(@PreviewParameter(ConfigureRoomStatePreviewParam::class) state: ConfigureRoomState) = ElementPreviewLight { ContentToPreview(state) } @PreviewWithLargeHeight @Composable -internal fun ConfigureRoomViewDarkPreview(@PreviewParameter(ConfigureRoomStateProvider::class) state: ConfigureRoomState) = +internal fun ConfigureRoomViewDarkPreview(@PreviewParameter(ConfigureRoomStatePreviewParam::class) state: ConfigureRoomState) = ElementPreviewDark { ContentToPreview(state) } @ExcludeFromCoverage diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStatePreviewParam.kt similarity index 94% rename from features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt rename to features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStatePreviewParam.kt index 5c832a4d75..bd86af9572 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStateProvider.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.logout.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class AccountDeactivationStateProvider : PreviewParameterProvider { +open class AccountDeactivationStatePreviewParam : PreviewParameterProvider { private val filledForm = aDeactivateFormState(eraseData = true, password = "password") override val values: Sequence get() = sequenceOf( diff --git a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt index 9b5f0cfd99..eb6b401667 100644 --- a/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt +++ b/features/deactivation/impl/src/main/kotlin/io/element/android/features/logout/impl/AccountDeactivationView.kt @@ -308,7 +308,7 @@ private fun String.sanitize(): String { @PreviewsDayNight @Composable internal fun AccountDeactivationViewPreview( - @PreviewParameter(AccountDeactivationStateProvider::class) state: AccountDeactivationState, + @PreviewParameter(AccountDeactivationStatePreviewParam::class) state: AccountDeactivationState, ) = ElementPreview { AccountDeactivationView( state, diff --git a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStateProvider.kt b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStatePreviewParam.kt similarity index 92% rename from features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStateProvider.kt rename to features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStatePreviewParam.kt index bbb5b380ae..8ff621c2a6 100644 --- a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStateProvider.kt +++ b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.core.RoomId -open class ForwardMessagesStateProvider : PreviewParameterProvider { +open class ForwardMessagesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aForwardMessagesState(), diff --git a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesView.kt b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesView.kt index 8065054b2d..f350c5b516 100644 --- a/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesView.kt +++ b/features/forward/impl/src/main/kotlin/io/element/android/features/forward/impl/ForwardMessagesView.kt @@ -38,7 +38,7 @@ fun ForwardMessagesView( @PreviewsDayNight @Composable -internal fun ForwardMessagesViewPreview(@PreviewParameter(ForwardMessagesStateProvider::class) state: ForwardMessagesState) = ElementPreview { +internal fun ForwardMessagesViewPreview(@PreviewParameter(ForwardMessagesStatePreviewParam::class) state: ForwardMessagesState) = ElementPreview { ForwardMessagesView( state = state, onForwardSuccess = {} diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueModule.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueBindingContainer.kt similarity index 82% rename from features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueModule.kt rename to features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueBindingContainer.kt index 52f7a43bde..3ba42f687f 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueModule.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/di/FtueBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.SessionScope @ContributesTo(SessionScope::class) @BindingContainer -interface FtueModule { +interface FtueBindingContainer { @Binds - fun bindChooseSelfVerificationMethodPresenter(presenter: ChooseSelfVerificationModePresenter): Presenter + fun bindChooseSelfVerificationModePresenter(presenter: ChooseSelfVerificationModePresenter): Presenter } diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStateProvider.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStatePreviewParam.kt similarity index 88% rename from features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStateProvider.kt rename to features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStatePreviewParam.kt index 1b2e5d2d58..07569a238e 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStateProvider.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.ftue.impl.notifications import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.permissions.api.aPermissionsState -open class NotificationsOptInStateProvider : PreviewParameterProvider { +open class NotificationsOptInStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aNotificationsOptInState(), diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInView.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInView.kt index 6955d8e501..e2eabe8f2b 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInView.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/notifications/NotificationsOptInView.kt @@ -178,7 +178,7 @@ private fun NotificationRow( @PreviewsDayNight @Composable internal fun NotificationsOptInViewPreview( - @PreviewParameter(NotificationsOptInStateProvider::class) state: NotificationsOptInState + @PreviewParameter(NotificationsOptInStatePreviewParam::class) state: NotificationsOptInState ) { ElementPreview { NotificationsOptInView( diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStateProvider.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStatePreviewParam.kt similarity index 97% rename from features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStateProvider.kt rename to features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStatePreviewParam.kt index b35a9624b9..1af6786289 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStateProvider.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.libraries.architecture.AsyncData -class ChooseSelfVerificationModeStateProvider : +class ChooseSelfVerificationModeStatePreviewParam : PreviewParameterProvider { override val values = sequenceOf( aChooseSelfVerificationModeState( diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeView.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeView.kt index 1bfa10daf2..96d6b82d47 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeView.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/sessionverification/choosemode/ChooseSelfVerificationModeView.kt @@ -149,7 +149,7 @@ private fun ChooseSelfVerificationModeButtons( @PreviewsDayNight @Composable internal fun ChooseSelfVerificationModeViewPreview( - @PreviewParameter(ChooseSelfVerificationModeStateProvider::class) state: ChooseSelfVerificationModeState + @PreviewParameter(ChooseSelfVerificationModeStatePreviewParam::class) state: ChooseSelfVerificationModeState ) = ElementPreview { ChooseSelfVerificationModeView( state = state, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStatePreviewParam.kt similarity index 96% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStatePreviewParam.kt index ea9ff7a234..14ab6dc7f6 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.home.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider 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.aRoomsContentState 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 kotlinx.collections.immutable.toImmutableList -open class HomeStateProvider : PreviewParameterProvider { +open class HomeStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aHomeState(), @@ -43,7 +43,7 @@ open class HomeStateProvider : PreviewParameterProvider { aHomeState( currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces, ), - ) + RoomListStateProvider().values.map { + ) + RoomListStatePreviewParam().values.map { aHomeState(roomListState = it) } + aHomeState( currentHomeNavigationBarItem = HomeNavigationBarItem.Spaces, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt index 97b43b17cc..024d013871 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt @@ -371,7 +371,7 @@ internal fun RoomListRoomSummary.contentType() = displayType.ordinal @PreviewsDayNight @Composable -internal fun HomeViewPreview(@PreviewParameter(HomeStateProvider::class) state: HomeState) = ElementPreview { +internal fun HomeViewPreview(@PreviewParameter(HomeStatePreviewParam::class) state: HomeState) = ElementPreview { HomeView( homeState = state, onRoomClick = { _, _ -> }, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt index 266b6f5a59..e06fe7c46d 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt @@ -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.RoomSummaryDisplayType 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.SecurityBannerState import io.element.android.features.home.impl.spacefilters.SpaceFiltersState @@ -336,7 +336,7 @@ private fun EmptyScaffold( @PreviewsDayNight @Composable -internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStateProvider::class) state: RoomListContentState) = ElementPreview { +internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStatePreviewParam::class) state: RoomListContentState) = ElementPreview { RoomListContentView( contentState = state, filtersState = aRoomListFiltersState( diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt index 2a21518e83..883d8aff76 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt @@ -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.model.LatestEvent 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.roomlist.RoomListEvent import io.element.android.libraries.core.extensions.orEmpty @@ -449,7 +449,7 @@ private fun MentionIndicatorAtom() { @PreviewsDayNight @Composable -internal fun RoomSummaryRowPreview(@PreviewParameter(RoomListRoomSummaryProvider::class) data: RoomListRoomSummary) = ElementPreview { +internal fun RoomSummaryRowPreview(@PreviewParameter(RoomListRoomSummaryPreviewParam::class) data: RoomListRoomSummary) = ElementPreview { RoomSummaryRow( room = data, hideInviteAvatars = false, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesModule.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesBindingContainer.kt similarity index 95% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesModule.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesBindingContainer.kt index 5e2212375d..989a558718 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesModule.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/HomeSpacesBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.SessionScope @BindingContainer @ContributesTo(SessionScope::class) -interface HomeSpacesModule { +interface HomeSpacesBindingContainer { @Binds fun bindHomeSpacesPresenter(presenter: HomeSpacesPresenter): Presenter } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListBindingContainer.kt similarity index 86% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListBindingContainer.kt index 6b744ca4df..b275559206 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListBindingContainer.kt @@ -26,15 +26,15 @@ import io.element.android.libraries.di.SessionScope @ContributesTo(SessionScope::class) @BindingContainer -interface RoomListModule { +interface RoomListBindingContainer { @Binds fun bindRoomListPresenter(presenter: RoomListPresenter): Presenter @Binds - fun bindSearchPresenter(presenter: RoomListSearchPresenter): Presenter + fun bindRoomListSearchPresenter(presenter: RoomListSearchPresenter): Presenter @Binds - fun bindFiltersPresenter(presenter: RoomListFiltersPresenter): Presenter + fun bindRoomListFiltersPresenter(presenter: RoomListFiltersPresenter): Presenter @Binds fun bindSpaceFiltersPresenter(presenter: SpaceFiltersPresenter): Presenter diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStatePreviewParam.kt similarity index 92% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStatePreviewParam.kt index 7e095512fe..8118a65e1d 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.home.impl.filters.selection.FilterSelectionState import kotlinx.collections.immutable.toImmutableList -class RoomListFiltersStateProvider : PreviewParameterProvider { +class RoomListFiltersStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomListFiltersState(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt index 9931a98c4e..c671eecf45 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt @@ -212,7 +212,7 @@ private fun RoomListFilterView( @PreviewsDayNight @Composable -internal fun RoomListFiltersViewPreview(@PreviewParameter(RoomListFiltersStateProvider::class) state: RoomListFiltersState) = ElementPreview { +internal fun RoomListFiltersViewPreview(@PreviewParameter(RoomListFiltersStatePreviewParam::class) state: RoomListFiltersState) = ElementPreview { RoomListFiltersView( modifier = Modifier.padding(vertical = 4.dp), state = state, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryPreviewParam.kt similarity index 99% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryPreviewParam.kt index 2e75858e3e..c04c3e446b 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryPreviewParam.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.ui.model.InviteSender import kotlinx.collections.immutable.toImmutableList -open class RoomListRoomSummaryProvider : PreviewParameterProvider { +open class RoomListRoomSummaryPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( listOf( diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStatePreviewParam.kt similarity index 96% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStatePreviewParam.kt index 0ac2b7bf62..4ca87992f9 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStatePreviewParam.kt @@ -19,7 +19,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableSet -open class RoomListContentStateProvider : PreviewParameterProvider { +open class RoomListContentStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomsContentState(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt index bfa6962e8b..6a334a94c2 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt @@ -199,7 +199,7 @@ private fun RoomListModalBottomSheetContent( @PreviewsDayNight @Composable internal fun RoomListContextMenuPreview( - @PreviewParameter(RoomListStateContextMenuShownProvider::class) contextMenu: RoomListState.ContextMenu.Shown + @PreviewParameter(RoomListStateContextMenuShownPreviewParam::class) contextMenu: RoomListState.ContextMenu.Shown ) = ElementPreview(fillMaxSize = true) { RoomListContextMenu( contextMenu = contextMenu, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt index 0a7a29ebc2..022696cbb1 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt @@ -126,7 +126,7 @@ private fun RoomListDeclineInviteMenuContent( @PreviewsDayNight @Composable internal fun RoomListDeclineInviteMenuPreview( - @PreviewParameter(RoomListStateDeclineInviteMenuShownProvider::class) menu: RoomListState.DeclineInviteMenu.Shown, + @PreviewParameter(RoomListStateDeclineInviteMenuShownPreviewParam::class) menu: RoomListState.DeclineInviteMenu.Shown, ) = ElementPreview { RoomListDeclineInviteMenu( menu = menu, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownPreviewParam.kt similarity index 90% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownPreviewParam.kt index eca1b63d7d..f4bd0eac2e 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownPreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.home.impl.roomlist import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.core.RoomId -open class RoomListStateContextMenuShownProvider : PreviewParameterProvider { +open class RoomListStateContextMenuShownPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aContextMenuShown(hasNewContent = true), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownPreviewParam.kt similarity index 90% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownPreviewParam.kt index 73d4785e96..c19da0595a 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateDeclineInviteMenuShownPreviewParam.kt @@ -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.aRoomListRoomSummary -open class RoomListStateDeclineInviteMenuShownProvider : PreviewParameterProvider { +open class RoomListStateDeclineInviteMenuShownPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDeclineInviteMenuShown(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStatePreviewParam.kt similarity index 98% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStatePreviewParam.kt index f5f6d6a4a8..04f612870f 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStatePreviewParam.kt @@ -33,7 +33,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -open class RoomListStateProvider : PreviewParameterProvider { +open class RoomListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomListState(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStatePreviewParam.kt similarity index 99% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStatePreviewParam.kt index 29031837f2..73487c5069 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchStatePreviewParam.kt @@ -41,7 +41,7 @@ import kotlinx.collections.immutable.persistentMapOf import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toPersistentList -class GlobalSearchStateProvider : PreviewParameterProvider { +class GlobalSearchStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( // Not enabled, no preview diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchView.kt index 593a5ed6bf..d5a0460f06 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/GlobalSearchView.kt @@ -553,7 +553,7 @@ private fun Modifier.addSeparatorLine(color: Color, isLastItem: Boolean): Modifi @PreviewsDayNight @Composable internal fun GlobalSearchViewPreview( - @PreviewParameter(GlobalSearchStateProvider::class) state: GlobalSearchState, + @PreviewParameter(GlobalSearchStatePreviewParam::class) state: GlobalSearchState, ) { ElementPreview { GlobalSearchView( diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStatePreviewParam.kt similarity index 93% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStatePreviewParam.kt index e6ec92f68b..2b857354a3 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.features.home.impl.roomlist.aRoomListRoomSummaryList import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -class RoomListSearchStateProvider : PreviewParameterProvider { +class RoomListSearchStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomListSearchState(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt index 0535ded5c5..ff354cf717 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt @@ -196,7 +196,7 @@ private fun RoomListSearchContent( @PreviewsDayNight @Composable -internal fun RoomListSearchContentPreview(@PreviewParameter(RoomListSearchStateProvider::class) state: RoomListSearchState) = ElementPreview { +internal fun RoomListSearchContentPreview(@PreviewParameter(RoomListSearchStatePreviewParam::class) state: RoomListSearchState) = ElementPreview { RoomListSearchContent( state = state, hideInvitesAvatars = false, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStatePreviewParam.kt similarity index 97% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStatePreviewParam.kt index 264d122836..335b801908 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.spaces.SpaceServiceFilter import io.element.android.libraries.previewutils.room.aSpaceRoom import kotlinx.collections.immutable.toImmutableList -class SpaceFiltersStateProvider : PreviewParameterProvider { +class SpaceFiltersStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSelectingSpaceFiltersState(), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt index 280f41b909..e4573f344e 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spacefilters/SpaceFiltersView.kt @@ -189,6 +189,6 @@ private fun SpaceFilterItem( @PreviewsDayNight @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) } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStatePreviewParam.kt similarity index 93% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStateProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStatePreviewParam.kt index 17f2cbad31..57b219d302 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStateProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesStatePreviewParam.kt @@ -15,11 +15,11 @@ import io.element.android.libraries.previewutils.room.aSpaceRoom import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableSet -open class HomeSpacesStateProvider : PreviewParameterProvider { +open class HomeSpacesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aHomeSpacesState( - spaceRooms = SpaceRoomProvider().values.toList(), + spaceRooms = SpaceRoomPreviewParam().values.toList(), seenSpaceInvites = setOf( RoomId("!spaceId3:example.com"), ), diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt index 9125912bf0..914d08d7f6 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt @@ -171,7 +171,7 @@ private fun EmptySpaceHomeView( @PreviewsDayNight @Composable internal fun HomeSpacesViewPreview( - @PreviewParameter(HomeSpacesStateProvider::class) state: HomeSpacesState, + @PreviewParameter(HomeSpacesStatePreviewParam::class) state: HomeSpacesState, ) = ElementPreview { HomeSpacesView( state = state, diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomPreviewParam.kt similarity index 95% rename from features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomProvider.kt rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomPreviewParam.kt index 4a77e45372..25744157aa 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/SpaceRoomPreviewParam.kt @@ -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.previewutils.room.aSpaceRoom -class SpaceRoomProvider : PreviewParameterProvider { +class SpaceRoomPreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( aSpaceRoom(), aSpaceRoom( diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/GlobalSearchPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/GlobalSearchPresenterTest.kt index ef8d373630..94c19bb81d 100644 --- a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/GlobalSearchPresenterTest.kt +++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/GlobalSearchPresenterTest.kt @@ -5,6 +5,8 @@ * Please see LICENSE files in the repository root for full details. */ +@file:OptIn(ExperimentalCoroutinesApi::class) + package io.element.android.features.home.impl.search import com.google.common.truth.Truth.assertThat @@ -35,6 +37,7 @@ import io.element.android.tests.testutils.test import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent diff --git a/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/acceptdecline/AcceptDeclineInviteStateProvider.kt b/features/invite/api/src/main/kotlin/io/element/android/features/invite/api/acceptdecline/AcceptDeclineInviteStatePreviewParam.kt similarity index 100% rename from features/invite/api/src/main/kotlin/io/element/android/features/invite/api/acceptdecline/AcceptDeclineInviteStateProvider.kt rename to features/invite/api/src/main/kotlin/io/element/android/features/invite/api/acceptdecline/AcceptDeclineInviteStatePreviewParam.kt diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStateProvider.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStatePreviewParam.kt similarity index 95% rename from features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStateProvider.kt rename to features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStatePreviewParam.kt index db2e76c1c3..ad9bf01667 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStateProvider.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteStatePreviewParam.kt @@ -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.matrix.api.core.RoomId -open class AcceptDeclineInviteStateProvider : PreviewParameterProvider { +open class AcceptDeclineInviteStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAcceptDeclineInviteState(), diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteView.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteView.kt index da035f0ff1..c3df984604 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteView.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/acceptdecline/AcceptDeclineInviteView.kt @@ -123,7 +123,7 @@ private fun DeclineConfirmationDialog( @PreviewsDayNight @Composable -internal fun AcceptDeclineInviteViewPreview(@PreviewParameter(AcceptDeclineInviteStateProvider::class) state: AcceptDeclineInviteState) = +internal fun AcceptDeclineInviteViewPreview(@PreviewParameter(AcceptDeclineInviteStatePreviewParam::class) state: AcceptDeclineInviteState) = ElementPreview { AcceptDeclineInviteView( state = state, diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStateProvider.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStatePreviewParam.kt similarity index 93% rename from features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStateProvider.kt rename to features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStatePreviewParam.kt index 2e78214306..704fc9f045 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStateProvider.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.invite.impl.declineandblock import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class DeclineAndBlockStateProvider : PreviewParameterProvider { +open class DeclineAndBlockStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDeclineAndBlockState(), diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockView.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockView.kt index 841034516e..c30742de12 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockView.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/declineandblock/DeclineAndBlockView.kt @@ -145,7 +145,7 @@ fun DeclineAndBlockView( @PreviewsDayNight @Composable internal fun DeclineAndBlockViewPreview( - @PreviewParameter(DeclineAndBlockStateProvider::class) state: DeclineAndBlockState + @PreviewParameter(DeclineAndBlockStatePreviewParam::class) state: DeclineAndBlockState ) = ElementPreview { DeclineAndBlockView( state = state, diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteModule.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteBindingContainer.kt similarity index 89% rename from features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteModule.kt rename to features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteBindingContainer.kt index f78c0358a6..f7cd346755 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteModule.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/di/InviteBindingContainer.kt @@ -22,9 +22,9 @@ import io.element.android.libraries.matrix.api.MatrixClient @ContributesTo(SessionScope::class) @BindingContainer -interface InviteModule { +interface InviteBindingContainer { @Binds - fun bindAcceptDeclinePresenter(presenter: AcceptDeclineInvitePresenter): Presenter + fun bindAcceptDeclineInvitePresenter(presenter: AcceptDeclineInvitePresenter): Presenter companion object { @Provides diff --git a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStateProvider.kt b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt similarity index 95% rename from features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStateProvider.kt rename to features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt index b233ed07ef..860efc2771 100644 --- a/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStateProvider.kt +++ b/features/invitepeople/api/src/main/kotlin/io/element/android/features/invitepeople/api/InvitePeopleStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.core.RoomId -class InvitePeopleStateProvider : PreviewParameterProvider { +class InvitePeopleStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPreviewInvitePeopleState(), diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStatePreviewParam.kt similarity index 98% rename from features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt rename to features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStatePreviewParam.kt index 1e41114406..9aad913856 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStatePreviewParam.kt @@ -26,7 +26,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -internal class DefaultInvitePeopleStateProvider : PreviewParameterProvider { +internal class DefaultInvitePeopleStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDefaultInvitePeopleState(), diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt index 0ee3559aa3..7dced41b13 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/InvitePeopleView.kt @@ -316,7 +316,7 @@ private fun InvitePeopleConfirmModal( @PreviewsDayNight @Composable -internal fun InvitePeopleViewPreview(@PreviewParameter(DefaultInvitePeopleStateProvider::class) state: DefaultInvitePeopleState) = +internal fun InvitePeopleViewPreview(@PreviewParameter(DefaultInvitePeopleStatePreviewParam::class) state: DefaultInvitePeopleState) = ElementPreview { InvitePeopleView(state = state) } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStatePreviewParam.kt similarity index 99% rename from features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt rename to features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStatePreviewParam.kt index 4bfa741321..f47377b16b 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStatePreviewParam.kt @@ -30,7 +30,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.model.InviteSender import kotlinx.collections.immutable.toImmutableList -open class JoinRoomStateProvider : PreviewParameterProvider { +open class JoinRoomStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aJoinRoomState( diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt index 977308178d..f1adf1705f 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt @@ -642,7 +642,7 @@ private fun JoinRoomTopBar( @PreviewsDayNight @Composable -internal fun JoinRoomViewPreview(@PreviewParameter(JoinRoomStateProvider::class) state: JoinRoomState) = ElementPreview { +internal fun JoinRoomViewPreview(@PreviewParameter(JoinRoomStatePreviewParam::class) state: JoinRoomState) = ElementPreview { JoinRoomView( state = state, onBackClick = { }, diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomBindingContainer.kt similarity index 98% rename from features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt rename to features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomBindingContainer.kt index 3304169b1a..3ab9cbfa97 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomBindingContainer.kt @@ -27,7 +27,7 @@ import java.util.Optional @BindingContainer @ContributesTo(SessionScope::class) -object JoinRoomModule { +object JoinRoomBindingContainer { @Provides fun providesJoinRoomPresenterFactory( client: MatrixClient, diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStateProvider.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStatePreviewParam.kt similarity index 96% rename from features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStateProvider.kt rename to features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStatePreviewParam.kt index 7210e783fe..fb05ae1fe0 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStateProvider.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerStatePreviewParam.kt @@ -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 kotlinx.collections.immutable.toImmutableList -class KnockRequestsBannerStateProvider : PreviewParameterProvider { +class KnockRequestsBannerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aKnockRequestsBannerState(), diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt index 431bd14d10..037ec16d00 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/banner/KnockRequestsBannerView.kt @@ -227,7 +227,7 @@ private fun KnockRequestAvatarListView( @Composable @PreviewsDayNight -internal fun KnockRequestsBannerViewPreview(@PreviewParameter(KnockRequestsBannerStateProvider::class) state: KnockRequestsBannerState) = ElementPreview { +internal fun KnockRequestsBannerViewPreview(@PreviewParameter(KnockRequestsBannerStatePreviewParam::class) state: KnockRequestsBannerState) = ElementPreview { KnockRequestsBannerView( state = state, onViewRequestsClick = {}, diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/KnockRequestsModule.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/di/KnockRequestsBindingContainer.kt similarity index 81% rename from features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/KnockRequestsModule.kt rename to features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/di/KnockRequestsBindingContainer.kt index 73e4a2ddeb..04d5400831 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/KnockRequestsModule.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/data/di/KnockRequestsBindingContainer.kt @@ -6,7 +6,7 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.features.knockrequests.impl.data +package io.element.android.features.knockrequests.impl.data.di import dev.zacsweers.metro.BindingContainer import dev.zacsweers.metro.ContributesTo @@ -14,16 +14,17 @@ import dev.zacsweers.metro.Provides import dev.zacsweers.metro.SingleIn import io.element.android.features.knockrequests.api.KnockRequestPermissions import io.element.android.features.knockrequests.api.knockRequestPermissions +import io.element.android.features.knockrequests.impl.data.KnockRequestsService import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.room.JoinedRoom import io.element.android.libraries.matrix.api.room.powerlevels.permissionsFlow @BindingContainer @ContributesTo(RoomScope::class) -object KnockRequestsModule { +object KnockRequestsBindingContainer { @Provides @SingleIn(RoomScope::class) - fun knockRequestsService(room: JoinedRoom): KnockRequestsService { + fun providesKnockRequestsService(room: JoinedRoom): KnockRequestsService { return KnockRequestsService( knockRequestsFlow = room.knockRequestsFlow, permissionsFlow = room.permissionsFlow(KnockRequestPermissions.DEFAULT) { perms -> diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStateProvider.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStatePreviewParam.kt similarity index 98% rename from features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStateProvider.kt rename to features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStatePreviewParam.kt index 85fc0675ad..b51223a5e9 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStateProvider.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListStatePreviewParam.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.matrix.api.core.UserId import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class KnockRequestsListStateProvider : PreviewParameterProvider { +open class KnockRequestsListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aKnockRequestsListState( diff --git a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListView.kt b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListView.kt index db40596892..d750927f74 100644 --- a/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListView.kt +++ b/features/knockrequests/impl/src/main/kotlin/io/element/android/features/knockrequests/impl/list/KnockRequestsListView.kt @@ -491,7 +491,7 @@ private fun KnockRequestsListTopBar(onBackClick: () -> Unit) { @PreviewsDayNight @Composable internal fun KnockRequestsListViewPreview( - @PreviewParameter(KnockRequestsListStateProvider::class) state: KnockRequestsListState + @PreviewParameter(KnockRequestsListStatePreviewParam::class) state: KnockRequestsListState ) = ElementPreview { KnockRequestsListView( state = state, diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStateProvider.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStatePreviewParam.kt similarity index 94% rename from features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStateProvider.kt rename to features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStatePreviewParam.kt index 769015f301..5f68a6f192 100644 --- a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStateProvider.kt +++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/InternalLeaveRoomStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.core.RoomId -class InternalLeaveRoomStateProvider : PreviewParameterProvider { +class InternalLeaveRoomStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLeaveRoomState(), diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomView.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomView.kt index 131801b014..c3a916b141 100644 --- a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomView.kt +++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomView.kt @@ -139,7 +139,7 @@ private fun LeaveRoomProgressDialog(modifier: Modifier = Modifier) { @PreviewsDayNight @Composable internal fun LeaveRoomViewPreview( - @PreviewParameter(InternalLeaveRoomStateProvider::class) state: InternalLeaveRoomState + @PreviewParameter(InternalLeaveRoomStatePreviewParam::class) state: InternalLeaveRoomState ) = ElementPreview { Box( modifier = Modifier.size(300.dp, 300.dp), diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomBindingContainer.kt similarity index 95% rename from features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt rename to features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomBindingContainer.kt index db5b1416ee..866af68cc8 100644 --- a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt +++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.SessionScope @ContributesTo(SessionScope::class) @BindingContainer -interface LeaveRoomModule { +interface LeaveRoomBindingContainer { @Binds fun bindLeaveRoomPresenter(presenter: LeaveRoomPresenter): Presenter } diff --git a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStateProvider.kt b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStatePreviewParam.kt similarity index 95% rename from features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStateProvider.kt rename to features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStatePreviewParam.kt index 6a74cc01eb..b984c43398 100644 --- a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStateProvider.kt +++ b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.architecture.AsyncData import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class DependencyLicensesListStateProvider : PreviewParameterProvider { +open class DependencyLicensesListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDependencyLicensesListState( diff --git a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListView.kt b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListView.kt index 943f57ab3b..17f82cd14e 100644 --- a/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListView.kt +++ b/features/licenses/impl/src/main/kotlin/io/element/android/features/licenses/impl/list/DependencyLicensesListView.kt @@ -126,7 +126,7 @@ fun DependencyLicensesListView( @PreviewsDayNight @Composable internal fun DependencyLicensesListViewPreview( - @PreviewParameter(DependencyLicensesListStateProvider::class) state: DependencyLicensesListState + @PreviewParameter(DependencyLicensesListStatePreviewParam::class) state: DependencyLicensesListState ) = ElementPreview { DependencyLicensesListView( state = state, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStateProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStatePreviewParam.kt similarity index 92% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStateProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStatePreviewParam.kt index 194bd6fafc..c539563fc7 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStateProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeStatePreviewParam.kt @@ -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.aPermissionsState -open class DesktopNoticeStateProvider : PreviewParameterProvider { +open class DesktopNoticeStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDesktopNoticeState(), diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeView.kt index a66ea7b391..935c848e42 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/desktop/DesktopNoticeView.kt @@ -118,7 +118,7 @@ fun DesktopNoticeView( @PreviewsDayNight @Composable internal fun DesktopNoticeViewPreview( - @PreviewParameter(DesktopNoticeStateProvider::class) state: DesktopNoticeState, + @PreviewParameter(DesktopNoticeStatePreviewParam::class) state: DesktopNoticeState, ) = ElementPreview { DesktopNoticeView( state = state, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypeProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypePreviewParam.kt similarity index 90% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypeProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypePreviewParam.kt index 5946eb9ab2..bfaf511e66 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypeProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorScreenTypePreviewParam.kt @@ -9,7 +9,7 @@ package io.element.android.features.linknewdevice.impl.screens.error import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class ErrorScreenTypeProvider : PreviewParameterProvider { +class ErrorScreenTypePreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( ErrorScreenType.Cancelled, ErrorScreenType.Declined, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorView.kt index 7b830626f6..90e9c4616b 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/error/ErrorView.kt @@ -165,7 +165,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun ErrorViewPreview(@PreviewParameter(ErrorScreenTypeProvider::class) errorScreenType: ErrorScreenType) { +internal fun ErrorViewPreview(@PreviewParameter(ErrorScreenTypePreviewParam::class) errorScreenType: ErrorScreenType) { ElementPreview { ErrorView( errorScreenType = errorScreenType, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStateProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStatePreviewParam.kt similarity index 93% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStateProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStatePreviewParam.kt index 126bfeee52..56071f3e8f 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStateProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberStatePreviewParam.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.linknewdevice.ErrorType -open class EnterNumberStateProvider : PreviewParameterProvider { +open class EnterNumberStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aEnterNumberState(), diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberView.kt index 240a3143af..b60fd285af 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberView.kt @@ -117,7 +117,7 @@ fun EnterNumberView( @PreviewsDayNight @Composable internal fun EnterNumberViewPreview( - @PreviewParameter(EnterNumberStateProvider::class) state: EnterNumberState, + @PreviewParameter(EnterNumberStatePreviewParam::class) state: EnterNumberState, ) = ElementPreview { EnterNumberView( state = state, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStateProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStatePreviewParam.kt similarity index 90% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStateProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStatePreviewParam.kt index e6d33c2544..bc424746ae 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStateProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.linknewdevice.impl.screens.qrcode import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncData -class ShowQrCodeStateProvider : PreviewParameterProvider { +class ShowQrCodeStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aShowQrCodeState(), diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeView.kt index f2cd07f4a5..4cd22e37d2 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/qrcode/ShowQrCodeView.kt @@ -117,7 +117,7 @@ private fun QrCodeOrLoading( @PreviewsDayNight @Composable internal fun ShowQrCodeViewPreview( - @PreviewParameter(ShowQrCodeStateProvider::class) state: ShowQrCodeState, + @PreviewParameter(ShowQrCodeStatePreviewParam::class) state: ShowQrCodeState, ) = ElementPreview { ShowQrCodeView( state = state, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStateProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStatePreviewParam.kt similarity index 94% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStateProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStatePreviewParam.kt index f1bb7ad455..20721e4a85 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStateProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootStatePreviewParam.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.linknewdevice.ErrorType -open class LinkNewDeviceRootStateProvider : PreviewParameterProvider { +open class LinkNewDeviceRootStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLinkNewDeviceRootState(), diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootView.kt index 5778abfb2c..b27cce17d9 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/root/LinkNewDeviceRootView.kt @@ -140,7 +140,7 @@ fun LinkNewDeviceRootView( @PreviewsDayNight @Composable internal fun LinkNewDeviceRootViewPreview( - @PreviewParameter(LinkNewDeviceRootStateProvider::class) state: LinkNewDeviceRootState + @PreviewParameter(LinkNewDeviceRootStatePreviewParam::class) state: LinkNewDeviceRootState ) = ElementPreview { LinkNewDeviceRootView( state = state, diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStateProvider.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStatePreviewParam.kt similarity index 91% rename from features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStateProvider.kt rename to features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStatePreviewParam.kt index 40e7df8884..a088bf7bd3 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStateProvider.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.linknewdevice.impl.screens.scan import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class ScanQrCodeStateProvider : PreviewParameterProvider { +open class ScanQrCodeStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aScanQrCodeState(), diff --git a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeView.kt b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeView.kt index 937aee08b4..4cd30fd904 100644 --- a/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeView.kt +++ b/features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/scan/ScanQrCodeView.kt @@ -166,7 +166,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun ScanQrCodeViewPreview(@PreviewParameter(ScanQrCodeStateProvider::class) state: ScanQrCodeState) = ElementPreview { +internal fun ScanQrCodeViewPreview(@PreviewParameter(ScanQrCodeStatePreviewParam::class) state: ScanQrCodeState) = ElementPreview { ScanQrCodeView( state = state, onBackClick = {}, diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStateProvider.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStatePreviewParam.kt similarity index 98% rename from features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStateProvider.kt rename to features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStatePreviewParam.kt index 9214d5a017..908c7f0641 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStateProvider.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationStatePreviewParam.kt @@ -22,7 +22,7 @@ import kotlin.time.Duration.Companion.minutes private const val APP_NAME = "ApplicationName" -class ShareLocationStateProvider : PreviewParameterProvider { +class ShareLocationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aShareLocationState( diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationView.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationView.kt index 53e7874936..36827cc919 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationView.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/share/ShareLocationView.kt @@ -332,7 +332,7 @@ private fun LiveLocationDurationDialog( @PreviewsDayNight @Composable internal fun ShareLocationViewPreview( - @PreviewParameter(ShareLocationStateProvider::class) state: ShareLocationState + @PreviewParameter(ShareLocationStatePreviewParam::class) state: ShareLocationState ) = ElementPreview { ShareLocationView( state = state, diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStateProvider.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStatePreviewParam.kt similarity index 97% rename from features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStateProvider.kt rename to features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStatePreviewParam.kt index bf582eb59a..8473eaeb04 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStateProvider.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationStatePreviewParam.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.location.AssetType import kotlinx.collections.immutable.toImmutableList -class ShowLocationStateProvider : PreviewParameterProvider { +class ShowLocationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aShowLocationState(), diff --git a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationView.kt b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationView.kt index 45e4c7f4cc..26eb1ee27a 100644 --- a/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationView.kt +++ b/features/location/impl/src/main/kotlin/io/element/android/features/location/impl/show/ShowLocationView.kt @@ -200,7 +200,7 @@ fun ShowLocationView( @PreviewsDayNight @Composable -internal fun ShowLocationViewPreview(@PreviewParameter(ShowLocationStateProvider::class) state: ShowLocationState) = ElementPreview { +internal fun ShowLocationViewPreview(@PreviewParameter(ShowLocationStatePreviewParam::class) state: ShowLocationState) = ElementPreview { ShowLocationView( state = state, onBackClick = {}, diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/LockScreenConfig.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/LockScreenConfig.kt index c246390a63..fa3ca9cfd9 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/LockScreenConfig.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/LockScreenConfig.kt @@ -8,12 +8,7 @@ package io.element.android.features.lockscreen.impl -import dev.zacsweers.metro.AppScope -import dev.zacsweers.metro.BindingContainer -import dev.zacsweers.metro.ContributesTo -import dev.zacsweers.metro.Provides import kotlin.time.Duration -import io.element.android.appconfig.LockScreenConfig as AppConfigLockScreenConfig data class LockScreenConfig( val isPinMandatory: Boolean, @@ -24,18 +19,3 @@ data class LockScreenConfig( val isStrongBiometricsEnabled: Boolean, val isWeakBiometricsEnabled: Boolean, ) - -@ContributesTo(AppScope::class) -@BindingContainer -object LockScreenConfigModule { - @Provides - fun providesLockScreenConfig(): LockScreenConfig = LockScreenConfig( - isPinMandatory = AppConfigLockScreenConfig.IS_PIN_MANDATORY, - forbiddenPinCodes = AppConfigLockScreenConfig.FORBIDDEN_PIN_CODES, - pinSize = AppConfigLockScreenConfig.PIN_SIZE, - maxPinCodeAttemptsBeforeLogout = AppConfigLockScreenConfig.MAX_PIN_CODE_ATTEMPTS_BEFORE_LOGOUT, - gracePeriod = AppConfigLockScreenConfig.GRACE_PERIOD, - isStrongBiometricsEnabled = AppConfigLockScreenConfig.IS_STRONG_BIOMETRICS_ENABLED, - isWeakBiometricsEnabled = AppConfigLockScreenConfig.IS_WEAK_BIOMETRICS_ENABLED, - ) -} diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/di/LockScreenConfigBindingContainer.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/di/LockScreenConfigBindingContainer.kt new file mode 100644 index 0000000000..3acade5e86 --- /dev/null +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/di/LockScreenConfigBindingContainer.kt @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.features.lockscreen.impl.di + +import dev.zacsweers.metro.AppScope +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.Provides +import io.element.android.features.lockscreen.impl.LockScreenConfig + +@ContributesTo(AppScope::class) +@BindingContainer +object LockScreenConfigBindingContainer { + @Provides + fun providesLockScreenConfig(): LockScreenConfig = LockScreenConfig( + isPinMandatory = io.element.android.appconfig.LockScreenConfig.IS_PIN_MANDATORY, + forbiddenPinCodes = io.element.android.appconfig.LockScreenConfig.FORBIDDEN_PIN_CODES, + pinSize = io.element.android.appconfig.LockScreenConfig.PIN_SIZE, + maxPinCodeAttemptsBeforeLogout = io.element.android.appconfig.LockScreenConfig.MAX_PIN_CODE_ATTEMPTS_BEFORE_LOGOUT, + gracePeriod = io.element.android.appconfig.LockScreenConfig.GRACE_PERIOD, + isStrongBiometricsEnabled = io.element.android.appconfig.LockScreenConfig.IS_STRONG_BIOMETRICS_ENABLED, + isWeakBiometricsEnabled = io.element.android.appconfig.LockScreenConfig.IS_WEAK_BIOMETRICS_ENABLED, + ) +} diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStateProvider.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStatePreviewParam.kt similarity index 91% rename from features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStateProvider.kt rename to features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStatePreviewParam.kt index 43f20c1c52..8929138077 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStateProvider.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.lockscreen.impl.settings import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class LockScreenSettingsStateProvider : PreviewParameterProvider { +open class LockScreenSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLockScreenSettingsState(), diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsView.kt index d8655e29a3..291906caf0 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/settings/LockScreenSettingsView.kt @@ -84,7 +84,7 @@ fun LockScreenSettingsView( @PreviewsDayNight @Composable internal fun LockScreenSettingsViewPreview( - @PreviewParameter(LockScreenSettingsStateProvider::class) state: LockScreenSettingsState, + @PreviewParameter(LockScreenSettingsStatePreviewParam::class) state: LockScreenSettingsState, ) { ElementPreview { LockScreenSettingsView( diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStateProvider.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStatePreviewParam.kt similarity index 87% rename from features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStateProvider.kt rename to features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStatePreviewParam.kt index d725d2de97..6ad44f3273 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStateProvider.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.lockscreen.impl.setup.biometric import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class SetupBiometricStateProvider : PreviewParameterProvider { +open class SetupBiometricStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSetupBiometricState(), diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt index 70a1046e36..13fad4e9d0 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt @@ -79,7 +79,7 @@ private fun SetupBiometricFooter( @Composable @PreviewsDayNight -internal fun SetupBiometricViewPreview(@PreviewParameter(SetupBiometricStateProvider::class) state: SetupBiometricState) { +internal fun SetupBiometricViewPreview(@PreviewParameter(SetupBiometricStatePreviewParam::class) state: SetupBiometricState) { ElementPreview { SetupBiometricView( state = state, diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStateProvider.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStatePreviewParam.kt similarity index 95% rename from features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStateProvider.kt rename to features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStatePreviewParam.kt index f50643e367..706d49ce82 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStateProvider.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinStatePreviewParam.kt @@ -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.setup.pin.validation.SetupPinFailure -open class SetupPinStateProvider : PreviewParameterProvider { +open class SetupPinStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSetupPinState(), diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt index 508d3c1fbb..7b0f86e386 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt @@ -145,7 +145,7 @@ private fun SetupPinFailure.title(): String { @Composable @PreviewsDayNight -internal fun SetupPinViewPreview(@PreviewParameter(SetupPinStateProvider::class) state: SetupPinState) { +internal fun SetupPinViewPreview(@PreviewParameter(SetupPinStatePreviewParam::class) state: SetupPinState) { ElementPreview { SetupPinView( state = state, diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStatePreviewParam.kt similarity index 94% rename from features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt rename to features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStatePreviewParam.kt index aef2c057a2..dcc61e83ed 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStatePreviewParam.kt @@ -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.AsyncData -open class PinUnlockStateProvider : PreviewParameterProvider { +open class PinUnlockStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPinUnlockState(), @@ -42,7 +42,7 @@ open class PinUnlockStateProvider : PreviewParameterProvider { ) } -open class PinUnlockStateCompactProvider : PreviewParameterProvider { +open class PinUnlockStateCompactPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPinUnlockState(), diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt index 0292b29a0f..e83b106d88 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt @@ -381,7 +381,7 @@ private fun PinUnlockFooter( @Composable @PreviewsDayNight -internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStateProvider::class) state: PinUnlockState) { +internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStatePreviewParam::class) state: PinUnlockState) { ElementPreview { PinUnlockView( state = state, @@ -393,7 +393,7 @@ internal fun PinUnlockViewInAppPreview(@PreviewParameter(PinUnlockStateProvider: @Composable @PreviewsDayNight -internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStateProvider::class) state: PinUnlockState) { +internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStatePreviewParam::class) state: PinUnlockState) { ElementPreview { PinUnlockView( state = state, @@ -405,7 +405,7 @@ internal fun PinUnlockViewPreview(@PreviewParameter(PinUnlockStateProvider::clas @Composable @Preview(heightDp = 480, widthDp = 800) -internal fun PinUnlockViewCompactPreview(@PreviewParameter(PinUnlockStateCompactProvider::class) state: PinUnlockState) { +internal fun PinUnlockViewCompactPreview(@PreviewParameter(PinUnlockStateCompactPreviewParam::class) state: PinUnlockState) { ElementPreview { PinUnlockView( state = state, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderPreviewParam.kt similarity index 93% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderPreviewParam.kt index 745939233f..c14827d1a6 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderPreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.login.impl.accountprovider import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.appconfig.AuthenticationConfig -open class AccountProviderProvider : PreviewParameterProvider { +open class AccountProviderPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAccountProvider(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt index fcf4dac3b1..09b423f713 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt @@ -116,7 +116,7 @@ fun AccountProviderView( @PreviewsDayNight @Composable -internal fun AccountProviderViewPreview(@PreviewParameter(AccountProviderProvider::class) item: AccountProvider) = ElementPreview { +internal fun AccountProviderViewPreview(@PreviewParameter(AccountProviderPreviewParam::class) item: AccountProvider) = ElementPreview { AccountProviderView( item = item, onClick = { } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStatePreviewParam.kt similarity index 96% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStatePreviewParam.kt index dd1102e25e..2654953ece 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerStatePreviewParam.kt @@ -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.permissions.api.localnetwork.LocalNetworkPermissionDialog -open class ChangeServerStateProvider : PreviewParameterProvider { +open class ChangeServerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aChangeServerState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt index 30ae644a70..8e726c7fe1 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/changeserver/ChangeServerView.kt @@ -135,7 +135,7 @@ fun ChangeServerView( @PreviewsDayNight @Composable -internal fun ChangeServerViewPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = ElementPreview { +internal fun ChangeServerViewPreview(@PreviewParameter(ChangeServerStatePreviewParam::class) state: ChangeServerState) = ElementPreview { ChangeServerView( state = state, onLearnMoreClick = {}, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginBindingContainer.kt similarity index 96% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginBindingContainer.kt index 037acf859b..257587770f 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginBindingContainer.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.architecture.Presenter @ContributesTo(AppScope::class) @BindingContainer -interface LoginModule { +interface LoginBindingContainer { @Binds fun bindChangeServerPresenter(presenter: ChangeServerPresenter): Presenter diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorPreviewParam.kt similarity index 92% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorPreviewParam.kt index 59fb42fe0c..76c8b18409 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ChangeServerErrorPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.login.impl.error import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class ChangeServerErrorProvider : PreviewParameterProvider { +class ChangeServerErrorPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( ChangeServerError.InvalidServer, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeView.kt index 8b59db1d61..80784d2b13 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeView.kt @@ -129,7 +129,7 @@ fun LoginModeView( @PreviewsDayNight @Composable -internal fun LoginModeViewPreview(@PreviewParameter(LoginModeViewErrorProvider::class) error: Throwable) { +internal fun LoginModeViewPreview(@PreviewParameter(LoginModeViewErrorPreviewParam::class) error: Throwable) { ElementPreview { LoginModeView( loginMode = AsyncData.Failure(error), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorPreviewParam.kt similarity index 80% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorPreviewParam.kt index 513d0a8a04..4706beefbb 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/login/LoginModeViewErrorPreviewParam.kt @@ -9,11 +9,11 @@ package io.element.android.features.login.impl.login 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 -class LoginModeViewErrorProvider : PreviewParameterProvider { +class LoginModeViewErrorPreviewParam : PreviewParameterProvider { override val values: Sequence - get() = ChangeServerErrorProvider().values + + get() = ChangeServerErrorPreviewParam().values + AuthenticationException.AccountAlreadyLoggedIn("@alice:matrix.org") } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt similarity index 96% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt index 3fea548fca..207f434b42 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.features.login.impl.login.aLoginModeState import io.element.android.libraries.architecture.AsyncData import kotlinx.collections.immutable.toImmutableList -open class ChooseAccountProviderStateProvider : PreviewParameterProvider { +open class ChooseAccountProviderStatePreviewParam : PreviewParameterProvider { private val server1 = anAccountProvider( url = "https://server1.io", subtitle = null, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt index 0d9d8cfba7..fdc69ca295 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/chooseaccountprovider/ChooseAccountProviderView.kt @@ -152,7 +152,9 @@ fun ChooseAccountProviderView( @PreviewsDayNight @Composable -internal fun ChooseAccountProviderViewPreview(@PreviewParameter(ChooseAccountProviderStateProvider::class) state: ChooseAccountProviderState) = ElementPreview { +internal fun ChooseAccountProviderViewPreview(@PreviewParameter( + ChooseAccountProviderStatePreviewParam::class +) state: ChooseAccountProviderState) = ElementPreview { ChooseAccountProviderView( state = state, onBackClick = { }, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStatePreviewParam.kt similarity index 94% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStatePreviewParam.kt index 6dfc292f6f..056d3d704a 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.designsystem.preview.USER_NAME_ALICE import io.element.android.libraries.matrix.api.core.UserId -open class LoginWithClassicStateProvider : PreviewParameterProvider { +open class LoginWithClassicStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLoginWithClassicState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicView.kt index 81638b4be0..845c8ec8ee 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/loginwithclassic/LoginWithClassicView.kt @@ -217,7 +217,7 @@ fun LoginWithClassicView( @PreviewsDayNight @Composable -internal fun LoginWithClassicViewPreview(@PreviewParameter(LoginWithClassicStateProvider::class) state: LoginWithClassicState) = ElementPreview { +internal fun LoginWithClassicViewPreview(@PreviewParameter(LoginWithClassicStatePreviewParam::class) state: LoginWithClassicState) = ElementPreview { LoginWithClassicView( state = state, onOtherOptionsClick = {}, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStatePreviewParam.kt similarity index 86% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStatePreviewParam.kt index 2c6a09b3ed..08d26bcee1 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupStatePreviewParam.kt @@ -9,7 +9,7 @@ package io.element.android.features.login.impl.screens.classic.missingkeybackup import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class MissingKeyBackupStateProvider : PreviewParameterProvider { +open class MissingKeyBackupStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMissingKeyBackupState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupView.kt index c4c9c5f286..9297fc4a51 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/classic/missingkeybackup/MissingKeyBackupView.kt @@ -76,7 +76,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun MissingKeyBackupViewPreview(@PreviewParameter(MissingKeyBackupStateProvider::class) state: MissingKeyBackupState) = ElementPreview { +internal fun MissingKeyBackupViewPreview(@PreviewParameter(MissingKeyBackupStatePreviewParam::class) state: MissingKeyBackupState) = ElementPreview { MissingKeyBackupView( state = state, onBackClick = {}, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStatePreviewParam.kt similarity index 95% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStatePreviewParam.kt index 53fa763c2f..ab6350bb4d 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.features.login.impl.login.aLoginModeState import io.element.android.features.login.impl.screens.createaccount.AccountCreationNotSupported import io.element.android.libraries.architecture.AsyncData -open class ConfirmAccountProviderStateProvider : PreviewParameterProvider { +open class ConfirmAccountProviderStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aConfirmAccountProviderState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index e206b624cf..1dab5cd31c 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -265,7 +265,7 @@ private class GhostSuffixVisualTransformation( @PreviewsDayNight @Composable internal fun ConfirmAccountProviderViewPreview( - @PreviewParameter(ConfirmAccountProviderStateProvider::class) state: ConfirmAccountProviderState + @PreviewParameter(ConfirmAccountProviderStatePreviewParam::class) state: ConfirmAccountProviderState ) = ElementPreview { ConfirmAccountProviderView( state = state, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStatePreviewParam.kt similarity index 94% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStatePreviewParam.kt index 2183790365..4d7201dbc8 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.features.login.impl.accountprovider.anAccountProvider import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.core.SessionId -open class LoginPasswordStateProvider : PreviewParameterProvider { +open class LoginPasswordStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLoginPasswordState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt index 75b6714a62..a168b14cc8 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt @@ -294,7 +294,7 @@ private fun LoginErrorDialog(error: Throwable, onDismiss: () -> Unit) { @PreviewsDayNight @Composable -internal fun LoginPasswordViewPreview(@PreviewParameter(LoginPasswordStateProvider::class) state: LoginPasswordState) = ElementPreview { +internal fun LoginPasswordViewPreview(@PreviewParameter(LoginPasswordStatePreviewParam::class) state: LoginPasswordState) = ElementPreview { LoginPasswordView( state = state, onBackClick = {}, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStatePreviewParam.kt similarity index 96% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStatePreviewParam.kt index 41e4a81818..d04f85f2a0 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.features.login.impl.login.LoginModeState import io.element.android.features.login.impl.login.aLoginModeState import io.element.android.libraries.designsystem.R -open class OnBoardingStateProvider : PreviewParameterProvider { +open class OnBoardingStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anOnBoardingState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt index 10fe3a854c..78faed7543 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt @@ -351,7 +351,7 @@ private fun OnBoardingButtons( @PreviewsDayNight @Composable internal fun OnBoardingViewPreview( - @PreviewParameter(OnBoardingStateProvider::class) state: OnBoardingState + @PreviewParameter(OnBoardingStatePreviewParam::class) state: OnBoardingState ) = ElementPreview { OnBoardingView( state = state, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepPreviewParam.kt similarity index 87% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepPreviewParam.kt index 17864f68a1..700c6a87b7 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationStepPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.login.impl.screens.qrcode.confirmation import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class QrCodeConfirmationStepProvider : PreviewParameterProvider { +class QrCodeConfirmationStepPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( QrCodeConfirmationStep.DisplayCheckCode("12"), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationView.kt index 8de93bcb0f..2c29f4a667 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/confirmation/QrCodeConfirmationView.kt @@ -148,7 +148,7 @@ private fun Buttons( @PreviewsDayNight @Composable -internal fun QrCodeConfirmationViewPreview(@PreviewParameter(QrCodeConfirmationStepProvider::class) step: QrCodeConfirmationStep) { +internal fun QrCodeConfirmationViewPreview(@PreviewParameter(QrCodeConfirmationStepPreviewParam::class) step: QrCodeConfirmationStep) { ElementPreview { QrCodeConfirmationView( step = step, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/error/QrCodeErrorView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/error/QrCodeErrorView.kt index 6b5da8f300..4d58b9329a 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/error/QrCodeErrorView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/error/QrCodeErrorView.kt @@ -143,7 +143,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun QrCodeErrorViewPreview(@PreviewParameter(QrCodeErrorScreenTypeProvider::class) errorScreenType: QrCodeErrorScreenType) { +internal fun QrCodeErrorViewPreview(@PreviewParameter(QrCodeErrorScreenTypePreviewParam::class) errorScreenType: QrCodeErrorScreenType) { ElementPreview { QrCodeErrorView( errorScreenType = errorScreenType, @@ -154,7 +154,7 @@ internal fun QrCodeErrorViewPreview(@PreviewParameter(QrCodeErrorScreenTypeProvi } } -class QrCodeErrorScreenTypeProvider : PreviewParameterProvider { +class QrCodeErrorScreenTypePreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( QrCodeErrorScreenType.Cancelled, QrCodeErrorScreenType.Declined, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStatePreviewParam.kt similarity index 93% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStatePreviewParam.kt index 22c7fd67f6..b9c286dc16 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroStatePreviewParam.kt @@ -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.aPermissionsState -open class QrCodeIntroStateProvider : PreviewParameterProvider { +open class QrCodeIntroStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aQrCodeIntroState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroView.kt index 767dc49999..08a40b63c5 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/intro/QrCodeIntroView.kt @@ -98,7 +98,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun QrCodeIntroViewPreview(@PreviewParameter(QrCodeIntroStateProvider::class) state: QrCodeIntroState) = ElementPreview { +internal fun QrCodeIntroViewPreview(@PreviewParameter(QrCodeIntroStatePreviewParam::class) state: QrCodeIntroState) = ElementPreview { QrCodeIntroView( state = state, onBackClick = {}, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStatePreviewParam.kt similarity index 96% rename from features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStateProvider.kt rename to features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStatePreviewParam.kt index 0d467efb71..19385b6df1 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.auth.qrlogin.MatrixQrCodeLoginData import io.element.android.libraries.matrix.api.auth.qrlogin.QrLoginException -open class QrCodeScanStateProvider : PreviewParameterProvider { +open class QrCodeScanStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aQrCodeScanState(), diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanView.kt index 6fa3d1b0c7..72d624a921 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/qrcode/scan/QrCodeScanView.kt @@ -218,7 +218,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable -internal fun QrCodeScanViewPreview(@PreviewParameter(QrCodeScanStateProvider::class) state: QrCodeScanState) = ElementPreview { +internal fun QrCodeScanViewPreview(@PreviewParameter(QrCodeScanStatePreviewParam::class) state: QrCodeScanState) = ElementPreview { QrCodeScanView( state = state, onQrCodeDataReady = {}, diff --git a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStateProvider.kt b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStatePreviewParam.kt similarity index 92% rename from features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStateProvider.kt rename to features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStatePreviewParam.kt index feaf21ef4a..c208978fd9 100644 --- a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStateProvider.kt +++ b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.logout.api.direct import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class DirectLogoutStateProvider : PreviewParameterProvider { +open class DirectLogoutStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDirectLogoutState(), diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStateProvider.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStatePreviewParam.kt similarity index 97% rename from features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStateProvider.kt rename to features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStatePreviewParam.kt index a3b59860b5..7bd55faa2c 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStateProvider.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.encryption.BackupUploadState import io.element.android.libraries.matrix.api.encryption.RecoveryState import io.element.android.libraries.matrix.api.encryption.SteadyStateException -open class LogoutStateProvider : PreviewParameterProvider { +open class LogoutStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLogoutState(), diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt index 9700e54f5c..befabe7421 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt @@ -186,7 +186,7 @@ private fun Content( @PreviewsDayNight @Composable internal fun LogoutViewPreview( - @PreviewParameter(LogoutStateProvider::class) state: LogoutState, + @PreviewParameter(LogoutStatePreviewParam::class) state: LogoutState, ) = ElementPreview { LogoutView( state, diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutBindingContainer.kt similarity index 95% rename from features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt rename to features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutBindingContainer.kt index 9b38fde22e..879d0fc5cf 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.SessionScope @ContributesTo(SessionScope::class) @BindingContainer -interface LogoutModule { +interface LogoutBindingContainer { @Binds fun bindDirectLogoutPresenter(presenter: DirectLogoutPresenter): Presenter } diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutView.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutView.kt index 7fb483a447..a8cad6ffba 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutView.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutView.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import dev.zacsweers.metro.ContributesBinding import io.element.android.features.logout.api.direct.DirectLogoutEvents import io.element.android.features.logout.api.direct.DirectLogoutState -import io.element.android.features.logout.api.direct.DirectLogoutStateProvider +import io.element.android.features.logout.api.direct.DirectLogoutStatePreviewParam import io.element.android.features.logout.api.direct.DirectLogoutView import io.element.android.features.logout.impl.ui.LogoutActionDialog import io.element.android.libraries.designsystem.preview.ElementPreview @@ -43,7 +43,7 @@ class DefaultDirectLogoutView : DirectLogoutView { @PreviewsDayNight @Composable internal fun DefaultDirectLogoutViewPreview( - @PreviewParameter(DirectLogoutStateProvider::class) state: DirectLogoutState, + @PreviewParameter(DirectLogoutStatePreviewParam::class) state: DirectLogoutState, ) = ElementPreview { DefaultDirectLogoutView().Render(state = state) } diff --git a/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStateProvider.kt b/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStatePreviewParam.kt similarity index 93% rename from features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStateProvider.kt rename to features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStatePreviewParam.kt index 7b264a3ddb..2cf698dd84 100644 --- a/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStateProvider.kt +++ b/features/messages/api/src/main/kotlin/io/element/android/features/messages/api/timeline/voicemessages/composer/VoiceMessageComposerStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.designsystem.components.media.WaveFormSample import io.element.android.libraries.textcomposer.model.VoiceMessageState import kotlin.time.Duration.Companion.seconds -open class VoiceMessageComposerStateProvider : PreviewParameterProvider { +open class VoiceMessageComposerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aVoiceMessageComposerState(voiceMessageState = VoiceMessageState.Recording(duration = 61.seconds, levels = WaveFormSamples.allRangeWaveForm)), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStatePreviewParam.kt similarity index 99% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStatePreviewParam.kt index 7315ace96e..8ab7e64121 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStatePreviewParam.kt @@ -57,7 +57,7 @@ import io.element.android.libraries.textcomposer.model.aTextEditorStateRich import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentSetOf -open class MessagesStateProvider : PreviewParameterProvider { +open class MessagesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMessagesState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 0476d0de46..16ca023d50 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -694,7 +694,7 @@ private fun SuccessorRoomBanner( @PreviewsDayNight @Composable -internal fun MessagesViewPreview(@PreviewParameter(MessagesStateProvider::class) state: MessagesState) = ElementPreview { +internal fun MessagesViewPreview(@PreviewParameter(MessagesStatePreviewParam::class) state: MessagesState) = ElementPreview { MessagesView( state = state, onBackClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStatePreviewParam.kt similarity index 99% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStatePreviewParam.kt index 56bac5be33..8474b4833d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListStatePreviewParam.kt @@ -28,7 +28,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -open class ActionListStateProvider : PreviewParameterProvider { +open class ActionListStatePreviewParam : PreviewParameterProvider { private val suggestedEmojis = persistentListOf("👍️", "👎️", "🔥", "❤️", "👏") override val values: Sequence diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index 669a696111..24a325b641 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -514,7 +514,7 @@ private fun EmojiButton( @PreviewsDayNight @Composable internal fun ActionListViewContentPreview( - @PreviewParameter(ActionListStateProvider::class) state: ActionListState + @PreviewParameter(ActionListStatePreviewParam::class) state: ActionListState ) = ElementPreview { ActionListViewContent( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStatePreviewParam.kt similarity index 98% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStatePreviewParam.kt index a7d4e14436..cdcc37008d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStatePreviewParam.kt @@ -30,7 +30,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import java.io.File -open class AttachmentsPreviewStateProvider : PreviewParameterProvider { +open class AttachmentsPreviewStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAttachmentsPreviewState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt index 077d086720..86b8a85557 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt @@ -553,7 +553,7 @@ private fun AttachmentsPreviewBottomActions( // Only preview in dark, dark theme is forced on the Node. @Preview @Composable -internal fun AttachmentsPreviewViewPreview(@PreviewParameter(AttachmentsPreviewStateProvider::class) state: AttachmentsPreviewState) = ElementPreviewDark { +internal fun AttachmentsPreviewViewPreview(@PreviewParameter(AttachmentsPreviewStatePreviewParam::class) state: AttachmentsPreviewState) = ElementPreviewDark { AttachmentsPreviewView( state = state, localMediaRenderer = SampleMediaRenderer(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStatePreviewParam.kt similarity index 97% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStatePreviewParam.kt index 7c542fd1a8..fb9901e7ec 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.core.net.toUri import io.element.android.libraries.mediaviewer.api.anImageMediaInfo import io.element.android.libraries.mediaviewer.api.local.LocalMedia -open class AttachmentImageEditorStateProvider : PreviewParameterProvider { +open class AttachmentImageEditorStatePreviewParam : PreviewParameterProvider { private val caterpillarCrop = NormalizedCropRect( left = 0.3f, top = 0.3f, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorView.kt index a5317b96c6..70a3375fa8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/imageeditor/AttachmentImageEditorView.kt @@ -676,7 +676,7 @@ private fun DrawScope.drawEdgeHandle( @Preview @Composable internal fun AttachmentImageEditorViewPreview( - @PreviewParameter(AttachmentImageEditorStateProvider::class) state: AttachmentImageEditorState, + @PreviewParameter(AttachmentImageEditorStatePreviewParam::class) state: AttachmentImageEditorState, ) = ElementPreviewDark { AttachmentImageEditorView( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePreviewParam.kt similarity index 97% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePreviewParam.kt index be53de5f66..bc1d587709 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePreviewParam.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.matrix.ui.room.IdentityRoomMember import io.element.android.libraries.matrix.ui.room.RoomMemberIdentityStateChange import kotlinx.collections.immutable.toImmutableList -class IdentityChangeStateProvider : PreviewParameterProvider { +class IdentityChangeStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anIdentityChangeState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt index 21684206b5..1c7bb38588 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -122,7 +122,7 @@ private fun ViolationAlert( @PreviewsDayNight @Composable internal fun IdentityChangeStateViewPreview( - @PreviewParameter(IdentityChangeStateProvider::class) state: IdentityChangeState, + @PreviewParameter(IdentityChangeStatePreviewParam::class) state: IdentityChangeState, ) = ElementPreview { IdentityChangeStateView( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt index 4e9bf9249a..5e5afb7f60 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.textcomposer.model.aTextEditorStateMarkdown @PreviewsDayNight @Composable internal fun MessagesViewWithIdentityChangePreview( - @PreviewParameter(IdentityChangeStateProvider::class) identityChangeState: IdentityChangeState + @PreviewParameter(IdentityChangeStatePreviewParam::class) identityChangeState: IdentityChangeState ) = ElementPreview { MessagesView( state = aMessagesState( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStatePreviewParam.kt similarity index 93% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStatePreviewParam.kt index ee4b749c8f..624882b509 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUser import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.designsystem.preview.USER_NAME_ALICE -open class ResolveVerifiedUserSendFailureStateProvider : PreviewParameterProvider { +open class ResolveVerifiedUserSendFailureStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aResolveVerifiedUserSendFailureState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index a430d4621f..2d745df474 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -158,7 +158,7 @@ private fun VerifiedUserSendFailure.resolveAction(): String { @PreviewsDayNight @Composable internal fun ResolveVerifiedUserSendFailureViewPreview( - @PreviewParameter(ResolveVerifiedUserSendFailureStateProvider::class) state: ResolveVerifiedUserSendFailureState + @PreviewParameter(ResolveVerifiedUserSendFailureStatePreviewParam::class) state: ResolveVerifiedUserSendFailureState ) = ElementPreview { ResolveVerifiedUserSendFailureView(state) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindsModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindingContainer.kt similarity index 98% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindsModule.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindingContainer.kt index a345e09fa2..7e67c027d7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindsModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesBindingContainer.kt @@ -34,7 +34,7 @@ import io.element.android.libraries.di.RoomScope @ContributesTo(RoomScope::class) @BindingContainer -interface MessagesBindsModule { +interface MessagesBindingContainer { @Binds fun bindPinnedMessagesBannerPresenter(presenter: PinnedMessagesBannerPresenter): Presenter diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesBindingContainer.kt similarity index 85% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesModule.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesBindingContainer.kt index 856a14cdb0..f66c26061b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesProvidesBindingContainer.kt @@ -18,8 +18,8 @@ import io.element.android.libraries.matrix.api.timeline.Timeline @ContributesTo(RoomScope::class) @BindingContainer -object MessagesProvidesModule { +object MessagesProvidesBindingContainer { @Provides @LiveTimeline - fun provideLiveTimeline(joinedRoom: JoinedRoom): Timeline = joinedRoom.liveTimeline + fun providesLiveTimeline(joinedRoom: JoinedRoom): Timeline = joinedRoom.liveTimeline } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStatePreviewParam.kt similarity index 93% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStatePreviewParam.kt index 2e021ec276..f72d9e2517 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.wysiwyg.link.Link -open class LinkStateProvider : PreviewParameterProvider { +open class LinkStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLinkState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt index 69e6ee8673..950765f40f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt @@ -66,7 +66,7 @@ fun LinkView( @PreviewsDayNight @Composable -internal fun LinkViewPreview(@PreviewParameter(LinkStateProvider::class) state: LinkState) = ElementPreview { +internal fun LinkViewPreview(@PreviewParameter(LinkStatePreviewParam::class) state: LinkState) = ElementPreview { LinkView( state = state, onLinkValid = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStatePreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStatePreviewParam.kt index b08fea28ec..31ef5fed50 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStatePreviewParam.kt @@ -18,7 +18,7 @@ import io.element.android.wysiwyg.display.TextDisplay import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class MessageComposerStateProvider : PreviewParameterProvider { +open class MessageComposerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMessageComposerState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt index cd20f3e58b..58842b6824 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerEvent import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerState -import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerStateProvider +import io.element.android.features.messages.api.timeline.voicemessages.composer.VoiceMessageComposerStatePreviewParam import io.element.android.features.messages.api.timeline.voicemessages.composer.aVoiceMessageComposerState import io.element.android.libraries.designsystem.components.async.AsyncActionView import io.element.android.libraries.designsystem.preview.ElementPreview @@ -129,7 +129,7 @@ internal fun MessageComposerView( @PreviewsDayNight @Composable internal fun MessageComposerViewPreview( - @PreviewParameter(MessageComposerStateProvider::class) state: MessageComposerState, + @PreviewParameter(MessageComposerStatePreviewParam::class) state: MessageComposerState, ) = ElementPreview { Column { MessageComposerView( @@ -149,7 +149,7 @@ internal fun MessageComposerViewPreview( @PreviewsDayNight @Composable internal fun MessageComposerViewVoicePreview( - @PreviewParameter(VoiceMessageComposerStateProvider::class) state: VoiceMessageComposerState, + @PreviewParameter(VoiceMessageComposerStatePreviewParam::class) state: VoiceMessageComposerState, ) = ElementPreview { Column { MessageComposerView( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStatePreviewParam.kt similarity index 96% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStatePreviewParam.kt index 2a2c30bf6b..37660d0000 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStatePreviewParam.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.core.EventId import kotlin.random.Random -internal class PinnedMessagesBannerStateProvider : PreviewParameterProvider { +internal class PinnedMessagesBannerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aHiddenPinnedMessagesBannerState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt index bc80d6b014..70a98d4b4e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt @@ -294,7 +294,9 @@ private class ExitOnScrollBehavior : PinnedMessagesBannerViewScrollBehavior { @PreviewsDayNight @Composable -internal fun PinnedMessagesBannerViewPreview(@PreviewParameter(PinnedMessagesBannerStateProvider::class) state: PinnedMessagesBannerState) = ElementPreview { +internal fun PinnedMessagesBannerViewPreview(@PreviewParameter( + PinnedMessagesBannerStatePreviewParam::class +) state: PinnedMessagesBannerState) = ElementPreview { PinnedMessagesBannerView( state = state, onClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStatePreviewParam.kt similarity index 98% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStatePreviewParam.kt index 19f19da0de..3d01906df8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStatePreviewParam.kt @@ -34,7 +34,7 @@ import io.element.android.features.messages.impl.timeline.protection.aTimelinePr import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -open class PinnedMessagesListStateProvider : PreviewParameterProvider { +open class PinnedMessagesListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aFailedPinnedMessagesListState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index 0b76d35d36..5daec3e275 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -345,7 +345,7 @@ private fun TimelineItemEventContentViewWrapper( @PreviewsDayNight @Composable -internal fun PinnedMessagesListViewPreview(@PreviewParameter(PinnedMessagesListStateProvider::class) state: PinnedMessagesListState) = +internal fun PinnedMessagesListViewPreview(@PreviewParameter(PinnedMessagesListStatePreviewParam::class) state: PinnedMessagesListState) = ElementPreview { PinnedMessagesListView( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStatePreviewParam.kt similarity index 94% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStatePreviewParam.kt index 0e2b4b0c50..1f24b3f480 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.messages.impl.report import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class ReportMessageStateProvider : PreviewParameterProvider { +open class ReportMessageStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aReportMessageState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt index dde3f13558..a3cf4f09da 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt @@ -137,7 +137,7 @@ fun ReportMessageView( @PreviewsDayNight @Composable -internal fun ReportMessageViewPreview(@PreviewParameter(ReportMessageStateProvider::class) state: ReportMessageState) = ElementPreview { +internal fun ReportMessageViewPreview(@PreviewParameter(ReportMessageStatePreviewParam::class) state: ReportMessageState) = ElementPreview { ReportMessageView( onBackClick = {}, state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 78c067eed1..5e7fd34723 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -90,7 +90,7 @@ import io.element.android.features.messages.impl.timeline.focus.FocusRequestStat import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContentPreviewParam import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.libraries.androidutils.system.copyToClipboard @@ -582,7 +582,7 @@ private fun JumpToPositionButton( @PreviewsDayNight @Composable internal fun TimelineViewPreview( - @PreviewParameter(TimelineItemEventContentProvider::class) content: TimelineItemEventContent + @PreviewParameter(TimelineItemEventContentPreviewParam::class) content: TimelineItemEventContent ) = ElementPreview { val timelineItems = aTimelineItemList(content) val timelineEvents = timelineItems.filterIsInstance() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/CallMenuItem.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/CallMenuItem.kt index 28f5011652..d4b9885ea5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/CallMenuItem.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/CallMenuItem.kt @@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.roomcall.api.RoomCallState -import io.element.android.features.roomcall.api.RoomCallStateProvider +import io.element.android.features.roomcall.api.RoomCallStatePreviewParam import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Icon @@ -133,7 +133,7 @@ private fun OnGoingCallMenuItem( @PreviewsDayNight @Composable internal fun CallMenuItemPreview( - @PreviewParameter(RoomCallStateProvider::class) roomCallState: RoomCallState + @PreviewParameter(RoomCallStatePreviewParam::class) roomCallState: RoomCallState ) = ElementPreview { CallMenuItem( roomCallState = roomCallState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt index 1ebdc34c6c..0dcf489fe3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt @@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.features.messages.impl.timeline.model.TimelineItemGroupPosition import io.element.android.features.messages.impl.timeline.model.bubble.BubbleState -import io.element.android.features.messages.impl.timeline.model.bubble.BubbleStateProvider +import io.element.android.features.messages.impl.timeline.model.bubble.BubbleStatePreviewParam import io.element.android.libraries.core.extensions.to01 import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.modifiers.onKeyboardContextMenuAction @@ -192,7 +192,7 @@ object MessageEventBubbleDefaults { @PreviewsDayNight @Composable -internal fun MessageEventBubblePreview(@PreviewParameter(BubbleStateProvider::class) state: BubbleState) = ElementPreview { +internal fun MessageEventBubblePreview(@PreviewParameter(BubbleStatePreviewParam::class) state: BubbleState) = ElementPreview { // Due to position offset, surround with a Box Box( modifier = Modifier diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessagesReactionButton.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessagesReactionButton.kt index dc8e171298..931e0de801 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessagesReactionButton.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessagesReactionButton.kt @@ -41,7 +41,7 @@ import io.element.android.features.messages.impl.R import io.element.android.features.messages.impl.timeline.a11y.a11yReactionAction import io.element.android.features.messages.impl.timeline.a11y.a11yReactionDetails import io.element.android.features.messages.impl.timeline.model.AggregatedReaction -import io.element.android.features.messages.impl.timeline.model.AggregatedReactionProvider +import io.element.android.features.messages.impl.timeline.model.AggregatedReactionPreviewParam import io.element.android.features.messages.impl.timeline.model.aTimelineItemReactions import io.element.android.libraries.designsystem.icons.CompoundDrawables import io.element.android.libraries.designsystem.modifiers.onKeyboardContextMenuAction @@ -199,7 +199,7 @@ private fun ReactionContent( @PreviewsDayNight @Composable -internal fun MessagesReactionButtonPreview(@PreviewParameter(AggregatedReactionProvider::class) reaction: AggregatedReaction) = ElementPreview { +internal fun MessagesReactionButtonPreview(@PreviewParameter(AggregatedReactionPreviewParam::class) reaction: AggregatedReaction) = ElementPreview { MessagesReactionButton( content = MessagesReactionsButtonContent.Reaction(reaction), onClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt index f124d45d99..d7492ca40b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt @@ -134,7 +134,9 @@ fun TimelineEventTimestampView( @PreviewsDayNight @Composable -internal fun TimelineEventTimestampViewPreview(@PreviewParameter(TimelineItemEventForTimestampViewProvider::class) event: TimelineItem.Event) = ElementPreview { +internal fun TimelineEventTimestampViewPreview(@PreviewParameter( + TimelineItemEventForTimestampViewPreviewParam::class +) event: TimelineItem.Event) = ElementPreview { TimelineEventTimestampView( event = event, eventSink = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewPreviewParam.kt similarity index 98% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewPreviewParam.kt index ed790da8a2..0f7da4209f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventContentForGalleryViewPreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.anAttachmentItem import kotlin.time.Duration -class TimelineItemEventContentForGalleryViewProvider : +class TimelineItemEventContentForGalleryViewPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewPreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewPreviewParam.kt index 3689c84875..118edae373 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventForTimestampViewPreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield -class TimelineItemEventForTimestampViewProvider : PreviewParameterProvider { +class TimelineItemEventForTimestampViewPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemEvent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowDisambiguatedPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowDisambiguatedPreview.kt index 4b6223fd97..94d29d2191 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowDisambiguatedPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowDisambiguatedPreview.kt @@ -13,12 +13,12 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsDisambiguatedProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsDisambiguatedPreviewParam @PreviewsDayNight @Composable internal fun TimelineItemEventRowDisambiguatedPreview( - @PreviewParameter(InReplyToDetailsDisambiguatedProvider::class) inReplyToDetails: InReplyToDetails, + @PreviewParameter(InReplyToDetailsDisambiguatedPreviewParam::class) inReplyToDetails: InReplyToDetails, ) = ElementPreview { TimelineItemEventRowWithReplyContentToPreview( inReplyToDetails = inReplyToDetails, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowGalleryPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowGalleryPreview.kt index 22c3f354f2..b942695470 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowGalleryPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowGalleryPreview.kt @@ -19,7 +19,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight @PreviewsDayNight @Composable internal fun TimelineItemEventRowWithGalleryPreview( - @PreviewParameter(TimelineItemEventContentForGalleryViewProvider::class) content: TimelineItemEventContent, + @PreviewParameter(TimelineItemEventContentForGalleryViewPreviewParam::class) content: TimelineItemEventContent, ) = ElementPreview { Column { sequenceOf(false, true).forEach { isMine -> diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowTimestampPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowTimestampPreview.kt index c588b1d071..ae0077786b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowTimestampPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowTimestampPreview.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight @PreviewsDayNight @Composable internal fun TimelineItemEventRowTimestampPreview( - @PreviewParameter(TimelineItemEventForTimestampViewProvider::class) event: TimelineItem.Event + @PreviewParameter(TimelineItemEventForTimestampViewPreviewParam::class) event: TimelineItem.Event ) = ElementPreview { Column { when (event.content) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithRRPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithRRPreview.kt index 6ea1161605..379a5b3547 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithRRPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithRRPreview.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.messages.impl.timeline.aTimelineItemEvent import io.element.android.features.messages.impl.timeline.aTimelineItemReactions import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewState -import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewStateForTimelineItemEventRowProvider +import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewStateForTimelineItemEventRowPreviewParam import io.element.android.features.messages.impl.timeline.model.TimelineItemReadReceipts import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent import io.element.android.libraries.designsystem.preview.ElementPreview @@ -25,7 +25,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight @PreviewsDayNight @Composable internal fun TimelineItemEventRowWithRRPreview( - @PreviewParameter(ReadReceiptViewStateForTimelineItemEventRowProvider::class) state: ReadReceiptViewState, + @PreviewParameter(ReadReceiptViewStateForTimelineItemEventRowPreviewParam::class) state: ReadReceiptViewState, ) = ElementPreview { Column { // A message from someone else diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyInformativePreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyInformativePreview.kt index cdc60a9e7e..374561e553 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyInformativePreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyInformativePreview.kt @@ -13,12 +13,12 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsInformativeProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsInformativePreviewParam @PreviewsDayNight @Composable internal fun TimelineItemEventRowWithReplyInformativePreview( - @PreviewParameter(InReplyToDetailsInformativeProvider::class) inReplyToDetails: InReplyToDetails, + @PreviewParameter(InReplyToDetailsInformativePreviewParam::class) inReplyToDetails: InReplyToDetails, ) = ElementPreview { TimelineItemEventRowWithReplyContentToPreview(inReplyToDetails) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyOtherPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyOtherPreview.kt index 3071fe114a..f7d2de2ced 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyOtherPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyOtherPreview.kt @@ -13,12 +13,12 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsOtherProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsOtherPreviewParam @PreviewsDayNight @Composable internal fun TimelineItemEventRowWithReplyOtherPreview( - @PreviewParameter(InReplyToDetailsOtherProvider::class) inReplyToDetails: InReplyToDetails, + @PreviewParameter(InReplyToDetailsOtherPreviewParam::class) inReplyToDetails: InReplyToDetails, ) = ElementPreview { TimelineItemEventRowWithReplyContentToPreview(inReplyToDetails) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt index 7ddcadfe3c..aba6971f1d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt @@ -21,12 +21,12 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.core.ThreadId import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsPreviewParam @PreviewsDayNight @Composable internal fun TimelineItemEventRowWithReplyPreview( - @PreviewParameter(InReplyToDetailsProvider::class) inReplyToDetails: InReplyToDetails, + @PreviewParameter(InReplyToDetailsPreviewParam::class) inReplyToDetails: InReplyToDetails, ) = ElementPreview { TimelineItemEventRowWithReplyContentToPreview(inReplyToDetails) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentPreviewParam.kt similarity index 96% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentPreviewParam.kt index c63d68e062..a42eec8504 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsContentPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.anAttachmentItem import io.element.android.libraries.matrix.api.media.MediaSource -class TimelineItemAttachmentsContentProvider : PreviewParameterProvider { +class TimelineItemAttachmentsContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemAttachmentsContent( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsListView.kt index f3745b2c5a..232c107698 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAttachmentsListView.kt @@ -265,7 +265,7 @@ private fun AttachmentListItem( @PreviewsDayNight @Composable internal fun TimelineItemAttachmentsListViewPreview( - @PreviewParameter(TimelineItemAttachmentsContentProvider::class) content: TimelineItemAttachmentsContent + @PreviewParameter(TimelineItemAttachmentsContentPreviewParam::class) content: TimelineItemAttachmentsContent ) = ElementPreview { TimelineItemAttachmentsListView( eventId = EventId("\$eventId"), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAudioView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAudioView.kt index 221ba2ca6f..d47ca552b8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAudioView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAudioView.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContentPreviewParam import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.media.contentvalidation.ContentValidationValue @@ -38,7 +38,7 @@ fun TimelineItemAudioView( @PreviewsDayNight @Composable -internal fun TimelineItemAudioViewPreview(@PreviewParameter(TimelineItemAudioContentProvider::class) content: TimelineItemAudioContent) = +internal fun TimelineItemAudioViewPreview(@PreviewParameter(TimelineItemAudioContentPreviewParam::class) content: TimelineItemAudioContent) = ElementTimelineItemPreview { TimelineItemAudioView( content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt index 48b3acfbb8..6b9022d3cf 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContentPreviewParam import io.element.android.libraries.designsystem.icons.CompoundDrawables import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -75,7 +75,7 @@ fun TimelineItemEncryptedView( @PreviewsDayNight @Composable internal fun TimelineItemEncryptedViewPreview( - @PreviewParameter(TimelineItemEncryptedContentProvider::class) content: TimelineItemEncryptedContent + @PreviewParameter(TimelineItemEncryptedContentPreviewParam::class) content: TimelineItemEncryptedContent ) = ElementPreview { TimelineItemEncryptedView( content = content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemFileView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemFileView.kt index cd0632282e..77df9ba923 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemFileView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemFileView.kt @@ -15,7 +15,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContentPreviewParam import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.media.contentvalidation.ContentValidationValue import io.element.android.libraries.ui.strings.CommonStrings @@ -43,7 +43,7 @@ fun TimelineItemFileView( @PreviewsDayNight @Composable -internal fun TimelineItemFileViewPreview(@PreviewParameter(TimelineItemFileContentProvider::class) content: TimelineItemFileContent) { +internal fun TimelineItemFileViewPreview(@PreviewParameter(TimelineItemFileContentPreviewParam::class) content: TimelineItemFileContent) { ElementTimelineItemPreview { TimelineItemFileView( content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentPreviewParam.kt similarity index 97% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentPreviewParam.kt index 9d88d8c0fb..9fb34afaea 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryContentPreviewParam.kt @@ -15,7 +15,7 @@ import kotlinx.collections.immutable.toImmutableList import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds -class TimelineItemGalleryContentProvider : PreviewParameterProvider { +class TimelineItemGalleryContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemGalleryContent( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryView.kt index 3212d789f9..e433f6ef8e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemGalleryView.kt @@ -390,7 +390,7 @@ private fun RemainingCountOverlay(count: Int) { @PreviewsDayNight @Composable internal fun TimelineItemGalleryViewPreview( - @PreviewParameter(TimelineItemGalleryContentProvider::class) content: TimelineItemGalleryContent, + @PreviewParameter(TimelineItemGalleryContentPreviewParam::class) content: TimelineItemGalleryContent, ) = ElementPreview { TimelineItemGalleryView( eventId = null, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index 3e79fd6fd9..ce12690534 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -33,7 +33,7 @@ import io.element.android.features.messages.impl.timeline.aTimelineItemEvent import io.element.android.features.messages.impl.timeline.components.ATimelineItemEventRow import io.element.android.features.messages.impl.timeline.model.TimelineItemGroupPosition import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContentPreviewParam import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent import io.element.android.features.messages.impl.timeline.protection.ProtectedView import io.element.android.features.messages.impl.timeline.protection.coerceRatioWhenHidingContent @@ -125,7 +125,7 @@ fun TimelineItemImageView( @PreviewsDayNight @Composable -internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = ElementPreview { +internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentPreviewParam::class) content: TimelineItemImageContent) = ElementPreview { TimelineItemImageView( content = content, hideMediaContent = false, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLocationView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLocationView.kt index a7f7b33989..3ff8a62455 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLocationView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLocationView.kt @@ -31,7 +31,7 @@ import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.location.api.LocalMapTilerConfig import io.element.android.features.location.api.StaticMapView import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLocationContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLocationContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLocationContentPreviewParam import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator @@ -162,7 +162,7 @@ private fun LiveLocationOverlay( @PreviewsDayNight @Composable -internal fun TimelineItemLocationViewPreview(@PreviewParameter(TimelineItemLocationContentProvider::class) content: TimelineItemLocationContent) = +internal fun TimelineItemLocationViewPreview(@PreviewParameter(TimelineItemLocationContentPreviewParam::class) content: TimelineItemLocationContent) = ElementPreview { TimelineItemLocationView( content = content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemPollView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemPollView.kt index e956a99b45..b6e4d12517 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemPollView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemPollView.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.messages.impl.timeline.TimelineEvent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContentPreviewParam import io.element.android.features.poll.api.pollcontent.PollContentView import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -55,7 +55,7 @@ fun TimelineItemPollView( @PreviewsDayNight @Composable -internal fun TimelineItemPollViewPreview(@PreviewParameter(TimelineItemPollContentProvider::class) content: TimelineItemPollContent) = +internal fun TimelineItemPollViewPreview(@PreviewParameter(TimelineItemPollContentPreviewParam::class) content: TimelineItemPollContent) = ElementPreview { TimelineItemPollView( content = content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt index 7e240f8b51..c7878c00f5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.PreviewParameter import coil3.compose.AsyncImage import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContentPreviewParam import io.element.android.features.messages.impl.timeline.protection.ProtectedView import io.element.android.features.messages.impl.timeline.protection.coerceRatioWhenHidingContent import io.element.android.features.messages.impl.timeline.util.handleAsyncImageStateChange @@ -123,7 +123,9 @@ fun TimelineItemStickerView( @PreviewsDayNight @Composable -internal fun TimelineItemStickerViewPreview(@PreviewParameter(TimelineItemStickerContentProvider::class) content: TimelineItemStickerContent) = ElementPreview { +internal fun TimelineItemStickerViewPreview(@PreviewParameter( + TimelineItemStickerContentPreviewParam::class +) content: TimelineItemStickerContent) = ElementPreview { TimelineItemStickerView( content = content, hideMediaContent = false, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemTextView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemTextView.kt index 1a4be5d2e5..a7d54e819b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemTextView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemTextView.kt @@ -24,7 +24,7 @@ import io.element.android.compound.theme.ElementTheme import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayout import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContentPreviewParam import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent import io.element.android.features.messages.impl.utils.containsOnlyEmojis import io.element.android.libraries.androidutils.text.LinkifyHelper @@ -82,7 +82,7 @@ internal fun getTextWithResolvedMentions(content: TimelineItemTextBasedContent): @PreviewsDayNight @Composable internal fun TimelineItemTextViewPreview( - @PreviewParameter(TimelineItemTextBasedContentProvider::class) content: TimelineItemTextBasedContent + @PreviewParameter(TimelineItemTextBasedContentPreviewParam::class) content: TimelineItemTextBasedContent ) = ElementPreview { TimelineItemTextView( content = content, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index b47220fa5e..5b3803713e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContentPreviewParam import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVideoContent import io.element.android.features.messages.impl.timeline.protection.ProtectedView import io.element.android.features.messages.impl.timeline.protection.coerceRatioWhenHidingContent @@ -150,7 +150,7 @@ fun TimelineItemVideoView( @PreviewsDayNight @Composable -internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentProvider::class) content: TimelineItemVideoContent) = ElementPreview { +internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentPreviewParam::class) content: TimelineItemVideoContent) = ElementPreview { TimelineItemVideoView( content = content, hideMediaContent = false, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVoiceView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVoiceView.kt index 15387f51c0..a05ac78f84 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVoiceView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVoiceView.kt @@ -42,7 +42,7 @@ import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContent -import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContentProvider +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContentPreviewParam import io.element.android.libraries.designsystem.atomic.atoms.PlaybackSpeedButton import io.element.android.libraries.designsystem.components.media.WaveformPlaybackView import io.element.android.libraries.designsystem.preview.ElementPreview @@ -56,7 +56,7 @@ import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.utils.a11y.isTalkbackActive import io.element.android.libraries.voiceplayer.api.VoiceMessageEvent import io.element.android.libraries.voiceplayer.api.VoiceMessageState -import io.element.android.libraries.voiceplayer.api.VoiceMessageStateProvider +import io.element.android.libraries.voiceplayer.api.VoiceMessageStatePreviewParam import kotlinx.coroutines.delay @Composable @@ -261,9 +261,9 @@ private fun CustomIconButton( ) } -open class TimelineItemVoiceViewParametersProvider : PreviewParameterProvider { - private val voiceMessageStateProvider = VoiceMessageStateProvider() - private val timelineItemVoiceContentProvider = TimelineItemVoiceContentProvider() +open class TimelineItemVoiceViewParametersPreviewParam : PreviewParameterProvider { + private val voiceMessageStateProvider = VoiceMessageStatePreviewParam() + private val timelineItemVoiceContentProvider = TimelineItemVoiceContentPreviewParam() override val values: Sequence get() = timelineItemVoiceContentProvider.values.flatMap { content -> voiceMessageStateProvider.values.map { state -> @@ -283,7 +283,7 @@ data class TimelineItemVoiceViewParameters( @PreviewsDayNight @Composable internal fun TimelineItemVoiceViewPreview( - @PreviewParameter(TimelineItemVoiceViewParametersProvider::class) timelineItemVoiceViewParameters: TimelineItemVoiceViewParameters, + @PreviewParameter(TimelineItemVoiceViewParametersPreviewParam::class) timelineItemVoiceViewParameters: TimelineItemVoiceViewParameters, ) = ElementPreview { TimelineItemVoiceView( state = timelineItemVoiceViewParameters.state, @@ -296,7 +296,7 @@ internal fun TimelineItemVoiceViewPreview( @PreviewsDayNight @Composable internal fun TimelineItemVoiceViewUnifiedPreview() = ElementPreview { - val timelineItemVoiceViewParametersProvider = TimelineItemVoiceViewParametersProvider() + val timelineItemVoiceViewParametersProvider = TimelineItemVoiceViewParametersPreviewParam() Column { timelineItemVoiceViewParametersProvider.values.forEach { TimelineItemVoiceView( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStatePreviewParam.kt similarity index 91% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStatePreviewParam.kt index 82974c8908..a617394723 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.timeline.aTimelineItemReactions import io.element.android.libraries.matrix.api.core.EventId -open class ReactionSummaryStateProvider : PreviewParameterProvider { +open class ReactionSummaryStatePreviewParam : PreviewParameterProvider { override val values = sequenceOf(aReactionSummaryState()) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryView.kt index 2a902fd692..5b6c7fda37 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/reactionsummary/ReactionSummaryView.kt @@ -293,7 +293,7 @@ private fun SenderRow( @PreviewsDayNight @Composable internal fun ReactionSummaryViewContentPreview( - @PreviewParameter(ReactionSummaryStateProvider::class) state: ReactionSummaryState + @PreviewParameter(ReactionSummaryStatePreviewParam::class) state: ReactionSummaryState ) = ElementPreview { ReactionSummaryViewContent(summary = state.target as ReactionSummaryState.Summary) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowPreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowPreviewParam.kt index c5140c4c03..a3556a9b03 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.messages.impl.timeline.model.ReadReceiptData import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState -class ReadReceiptViewStateForTimelineItemEventRowProvider : +class ReadReceiptViewStateForTimelineItemEventRowPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStatePreviewParam.kt similarity index 96% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStatePreviewParam.kt index 64a7cf34ff..751a88cb39 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStatePreviewParam.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import kotlinx.collections.immutable.toImmutableList -class ReadReceiptViewStateProvider : PreviewParameterProvider { +class ReadReceiptViewStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aReadReceiptViewState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/TimelineItemReadReceiptView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/TimelineItemReadReceiptView.kt index c9b712eba7..17a9b0c5eb 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/TimelineItemReadReceiptView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/TimelineItemReadReceiptView.kt @@ -202,7 +202,7 @@ private fun computeReceiptDescription(receipts: ImmutableList): @PreviewsDayNight @Composable internal fun TimelineItemReadReceiptViewPreview( - @PreviewParameter(ReadReceiptViewStateProvider::class) state: ReadReceiptViewState, + @PreviewParameter(ReadReceiptViewStatePreviewParam::class) state: ReadReceiptViewState, ) = ElementPreview { TimelineItemReadReceiptView( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt index 407cd29026..ad30a3765e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheet.kt @@ -117,7 +117,7 @@ private fun ReadReceiptBottomSheetContent( @PreviewsDayNight @Composable -internal fun ReadReceiptBottomSheetPreview(@PreviewParameter(ReadReceiptBottomSheetStateProvider::class) state: ReadReceiptBottomSheetState) { +internal fun ReadReceiptBottomSheetPreview(@PreviewParameter(ReadReceiptBottomSheetStatePreviewParam::class) state: ReadReceiptBottomSheetState) { ElementPreview(fillMaxSize = true) { ReadReceiptBottomSheet( state = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStatePreviewParam.kt similarity index 87% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStatePreviewParam.kt index ff297a4f8d..86c2beb707 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/bottomsheet/ReadReceiptBottomSheetStatePreviewParam.kt @@ -10,14 +10,14 @@ package io.element.android.features.messages.impl.timeline.components.receipt.bo import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.timeline.aTimelineItemEvent -import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewStateProvider +import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewStatePreviewParam import io.element.android.features.messages.impl.timeline.model.TimelineItemReadReceipts import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import kotlinx.collections.immutable.toImmutableList -class ReadReceiptBottomSheetStateProvider : PreviewParameterProvider { - // Reuse the provider ReadReceiptViewStateProvider - private val readReceiptViewStateProvider = ReadReceiptViewStateProvider() +class ReadReceiptBottomSheetStatePreviewParam : PreviewParameterProvider { + // Reuse the provider ReadReceiptViewStatePreviewParam + private val readReceiptViewStateProvider = ReadReceiptViewStatePreviewParam() override val values: Sequence = readReceiptViewStateProvider.values .filter { it.sendState is LocalEventSendState.Sent } .map { readReceiptViewState -> diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt index 30befea07d..f2a62aa4a4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemDaySeparatorModel -import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemDaySeparatorModelProvider +import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemDaySeparatorModelPreviewParam import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Text @@ -53,7 +53,7 @@ internal fun TimelineItemDaySeparatorView( @PreviewsDayNight @Composable internal fun TimelineItemDaySeparatorViewPreview( - @PreviewParameter(TimelineItemDaySeparatorModelProvider::class) model: TimelineItemDaySeparatorModel + @PreviewParameter(TimelineItemDaySeparatorModelPreviewParam::class) model: TimelineItemDaySeparatorModel ) = ElementPreview { TimelineItemDaySeparatorView( model = model, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactories.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactories.kt index 1063157bef..2234593c4b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactories.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactories.kt @@ -10,28 +10,13 @@ package io.element.android.features.messages.impl.timeline.di import androidx.compose.runtime.Composable import androidx.compose.runtime.remember -import dev.zacsweers.metro.BindingContainer -import dev.zacsweers.metro.ContributesTo import dev.zacsweers.metro.Inject -import dev.zacsweers.metro.Multibinds import dev.zacsweers.metro.SingleIn import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope import kotlin.reflect.KClass -/** - * Container that declares the [TimelineItemPresenterFactory] map multi binding. - * - * Its sole purpose is to support the case of an empty map multibinding. - */ -@BindingContainer -@ContributesTo(RoomScope::class) -interface TimelineItemPresenterFactoriesModule { - @Multibinds - fun multiBindTimelineItemPresenterFactories(): @JvmSuppressWildcards Map, TimelineItemPresenterFactory<*, *>> -} - /** * Room level caching layer for the [TimelineItemPresenterFactory] instances. * diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactoriesBindingContainer.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactoriesBindingContainer.kt new file mode 100644 index 0000000000..65dcd6dee0 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/di/TimelineItemPresenterFactoriesBindingContainer.kt @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.di + +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.Multibinds +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent +import io.element.android.libraries.di.RoomScope +import kotlin.reflect.KClass + +/** + * Container that declares the [TimelineItemPresenterFactory] map multi binding. + * + * Its sole purpose is to support the case of an empty map multibinding. + */ +@BindingContainer +@ContributesTo(RoomScope::class) +interface TimelineItemPresenterFactoriesBindingContainer { + @Multibinds + fun multiBindTimelineItemPresenterFactories(): @JvmSuppressWildcards Map, TimelineItemPresenterFactory<*, *>> +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStatePreviewParam.kt similarity index 93% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStatePreviewParam.kt index 0a6fb70cc5..c28e9c4d92 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.messages.impl.timeline.FocusRequestState import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.room.errors.FocusEventException -open class FocusRequestStateProvider : PreviewParameterProvider { +open class FocusRequestStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( FocusRequestState.Loading( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt index 3dff7ac4f7..2bda2fe4bf 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/focus/FocusRequestStateView.kt @@ -55,7 +55,7 @@ fun FocusRequestStateView( @PreviewsDayNight @Composable internal fun FocusRequestStateViewPreview( - @PreviewParameter(FocusRequestStateProvider::class) state: FocusRequestState, + @PreviewParameter(FocusRequestStatePreviewParam::class) state: FocusRequestState, ) = ElementPreview { FocusRequestStateView( focusRequestState = state, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionPreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionPreviewParam.kt index e5eb52c91e..f7ede5ebd7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionPreviewParam.kt @@ -15,7 +15,7 @@ import java.text.DateFormat import java.util.Date import java.util.TimeZone -open class AggregatedReactionProvider : PreviewParameterProvider { +open class AggregatedReactionPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf(false, true).flatMap { sequenceOf( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItemReactionsProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItemReactionsProvider.kt index 3190e61a75..35d4f21dda 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItemReactionsProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItemReactionsProvider.kt @@ -11,6 +11,6 @@ package io.element.android.features.messages.impl.timeline.model import kotlinx.collections.immutable.toImmutableList fun aTimelineItemReactions() = TimelineItemReactions( - // Use values from AggregatedReactionProvider - reactions = AggregatedReactionProvider().values.toImmutableList() + // Use values from AggregatedReactionPreviewParam + reactions = AggregatedReactionPreviewParam().values.toImmutableList() ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStatePreviewParam.kt similarity index 94% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStatePreviewParam.kt index cdd24ed264..4a7a9f8187 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/bubble/BubbleStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.aTimelineRoomInfo import io.element.android.features.messages.impl.timeline.model.TimelineItemGroupPosition -open class BubbleStateProvider : PreviewParameterProvider { +open class BubbleStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( TimelineItemGroupPosition.First, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentPreviewParam.kt similarity index 92% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentPreviewParam.kt index 3b60a48c78..600288012b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemAudioContentPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.matrix.api.media.MediaSource import kotlin.time.Duration.Companion.milliseconds -open class TimelineItemAudioContentProvider : PreviewParameterProvider { +open class TimelineItemAudioContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemAudioContent("A sound.mp3"), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentPreviewParam.kt similarity index 96% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentPreviewParam.kt index bb53da3b7b..a85553360a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentPreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent import io.element.android.libraries.matrix.api.timeline.item.event.UtdCause -open class TimelineItemEncryptedContentProvider : PreviewParameterProvider { +open class TimelineItemEncryptedContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemEncryptedContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentPreviewParam.kt similarity index 96% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentPreviewParam.kt index 1d4c7c04ec..0dd91fccfe 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentPreviewParam.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecry import kotlinx.collections.immutable.toImmutableList import org.jsoup.nodes.Document -class TimelineItemEventContentProvider : PreviewParameterProvider { +class TimelineItemEventContentPreviewParam : PreviewParameterProvider { override val values = sequenceOf( aTimelineItemEmoteContent(), aTimelineItemEncryptedContent(), @@ -45,7 +45,7 @@ class TimelineItemEventContentProvider : PreviewParameterProvider { +class TimelineItemTextBasedContentPreviewParam : PreviewParameterProvider { private fun buildSpanned(text: String) = buildSpannedString { inSpans(StyleSpan(Typeface.BOLD)) { append("Rich Text") diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentPreviewParam.kt similarity index 92% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentPreviewParam.kt index e2021e9646..277f461edc 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentPreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.matrix.api.media.MediaSource -open class TimelineItemFileContentProvider : PreviewParameterProvider { +open class TimelineItemFileContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemFileContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentPreviewParam.kt similarity index 93% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentPreviewParam.kt index 6d3b114428..cd93c7c006 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentPreviewParam.kt @@ -13,7 +13,7 @@ import androidx.media3.common.MimeTypes import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.components.A_BLUR_HASH -open class TimelineItemImageContentProvider : PreviewParameterProvider { +open class TimelineItemImageContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemImageContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentPreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentPreviewParam.kt index 6c095c828e..e4f2691f27 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemLocationContentPreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails import io.element.android.libraries.matrix.ui.messages.reply.aProfileDetailsReady -open class TimelineItemLocationContentProvider : PreviewParameterProvider { +open class TimelineItemLocationContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemLocationContent( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentPreviewParam.kt similarity index 94% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentPreviewParam.kt index 26577f5230..2cabada8b9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemPollContentPreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.features.poll.api.pollcontent.aPollQuestion import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.poll.PollKind -open class TimelineItemPollContentProvider : PreviewParameterProvider { +open class TimelineItemPollContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemPollContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentPreviewParam.kt similarity index 92% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentPreviewParam.kt index eb564cd803..def748d97b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentPreviewParam.kt @@ -13,7 +13,7 @@ import androidx.media3.common.MimeTypes import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.components.A_BLUR_HASH -open class TimelineItemStickerContentProvider : PreviewParameterProvider { +open class TimelineItemStickerContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemStickerContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentPreviewParam.kt similarity index 94% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentPreviewParam.kt index 627dbf3dd7..46de9ea89a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentPreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.components.A_BLUR_HASH import kotlin.time.Duration.Companion.milliseconds -open class TimelineItemVideoContentProvider : PreviewParameterProvider { +open class TimelineItemVideoContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemVideoContent(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentPreviewParam.kt similarity index 95% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentPreviewParam.kt index d596963ebc..9b9a044791 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVoiceContentPreviewParam.kt @@ -17,7 +17,7 @@ import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.minutes -open class TimelineItemVoiceContentProvider : PreviewParameterProvider { +open class TimelineItemVoiceContentPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTimelineItemVoiceContent( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelPreviewParam.kt similarity index 85% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelPreviewParam.kt index d31d35d62f..2fb4e7ac63 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemDaySeparatorModelPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.messages.impl.timeline.model.virtual import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class TimelineItemDaySeparatorModelProvider : PreviewParameterProvider { +class TimelineItemDaySeparatorModelPreviewParam : PreviewParameterProvider { override val values = sequenceOf( aTimelineItemDaySeparatorModel("Today"), aTimelineItemDaySeparatorModel("March 6, 2023") diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioPreviewParam.kt similarity index 88% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioPreviewParam.kt index 0ebd63439a..43118d96fd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/AspectRatioPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.messages.impl.timeline.protection import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class AspectRatioProvider : PreviewParameterProvider { +class AspectRatioPreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( null, 0.05f, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index 2dbe47e9e4..f8a0b7ac89 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -83,7 +83,7 @@ fun ProtectedView( @PreviewsDayNight @Composable internal fun ProtectedViewPreview( - @PreviewParameter(AspectRatioProvider::class) aspectRatio: Float?, + @PreviewParameter(AspectRatioPreviewParam::class) aspectRatio: Float?, ) = ElementPreview { TimelineItemAspectRatioBox( modifier = Modifier.blurHashBackground(A_BLUR_HASH, alpha = 0.9f), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStatePreviewParam.kt similarity index 94% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStatePreviewParam.kt index 55c894c0d9..728431cc44 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.messages.impl.timeline.sendfailure import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.timeline.aTimelineItemEvent -class SendFailureDialogStateProvider : PreviewParameterProvider { +class SendFailureDialogStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( SendFailureDialogState.Hidden, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogView.kt index 464fc2a509..15ee42d575 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/sendfailure/SendFailureDialogView.kt @@ -68,7 +68,7 @@ fun SendFailureDialogView( @PreviewsDayNight @Composable internal fun SendFailureDialogViewPreview( - @PreviewParameter(SendFailureDialogStateProvider::class) sendFailureDialogState: SendFailureDialogState, + @PreviewParameter(SendFailureDialogStatePreviewParam::class) sendFailureDialogState: SendFailureDialogState, ) = ElementPreview { SendFailureDialogView( sendFailureDialogState = sendFailureDialogState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStatePreviewParam.kt similarity index 97% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStatePreviewParam.kt index e298b3af26..b98262a2a8 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.designsystem.preview.USER_NAME_DAVID import io.element.android.libraries.designsystem.preview.USER_NAME_EVE import kotlinx.collections.immutable.toImmutableList -class TypingNotificationStateProvider : PreviewParameterProvider { +class TypingNotificationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTypingNotificationState(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt index c8e5722b19..3d2227c6d6 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt @@ -141,7 +141,7 @@ private fun computeTypingNotificationText(typingMembers: ImmutableList -} - @AssistedInject class VoiceMessagePresenter( voiceMessagePresenterFactory: VoiceMessagePresenterFactory, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/di/VoiceMessagePresenterBindingContainer.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/di/VoiceMessagePresenterBindingContainer.kt new file mode 100644 index 0000000000..422ade8856 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/di/VoiceMessagePresenterBindingContainer.kt @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.features.messages.impl.voicemessages.timeline.di + +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.Binds +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.IntoMap +import io.element.android.features.messages.impl.timeline.di.TimelineItemEventContentKey +import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactory +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContent +import io.element.android.features.messages.impl.voicemessages.timeline.VoiceMessagePresenter +import io.element.android.libraries.di.RoomScope + +@BindingContainer +@ContributesTo(RoomScope::class) +interface VoiceMessagePresenterBindingContainer { + @Binds + @IntoMap + @TimelineItemEventContentKey(TimelineItemVoiceContent::class) + fun bindVoiceMessagePresenterFactory(factory: VoiceMessagePresenter.Factory): TimelineItemPresenterFactory<*, *> +} diff --git a/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStateProvider.kt b/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStatePreviewParam.kt similarity index 90% rename from features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStateProvider.kt rename to features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStatePreviewParam.kt index 8f738d3207..de25284867 100644 --- a/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStateProvider.kt +++ b/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.api.MigrationState import io.element.android.libraries.architecture.AsyncData -internal class MigrationStateProvider : PreviewParameterProvider { +internal class MigrationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMigrationState(), diff --git a/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationView.kt b/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationView.kt index a294c32534..c7f4dd678a 100644 --- a/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationView.kt +++ b/features/migration/impl/src/main/kotlin/io/element/android/features/migration/impl/MigrationView.kt @@ -49,7 +49,7 @@ fun MigrationView( @PreviewsDayNight @Composable internal fun MigrationViewPreview( - @PreviewParameter(MigrationStateProvider::class) state: MigrationState, + @PreviewParameter(MigrationStatePreviewParam::class) state: MigrationState, ) = ElementPreview { MigrationView( migrationState = state, diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStateProvider.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStatePreviewParam.kt similarity index 98% rename from features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStateProvider.kt rename to features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStatePreviewParam.kt index 20d9f0d557..9c7a505421 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStateProvider.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.poll.PollKind import kotlinx.collections.immutable.toImmutableList -class CreatePollStateProvider : PreviewParameterProvider { +class CreatePollStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aCreatePollState( diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollView.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollView.kt index 6163fe19ad..a20c1f5af1 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollView.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/create/CreatePollView.kt @@ -232,7 +232,7 @@ private fun CreatePollTopAppBar( @PreviewsDayNight @Composable internal fun CreatePollViewPreview( - @PreviewParameter(CreatePollStateProvider::class) state: CreatePollState + @PreviewParameter(CreatePollStatePreviewParam::class) state: CreatePollState ) = ElementPreview { CreatePollView( state = state, diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStateProvider.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStatePreviewParam.kt similarity index 96% rename from features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStateProvider.kt rename to features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStatePreviewParam.kt index a08550f2a1..ff07eaee37 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStateProvider.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.features.poll.impl.history.model.PollHistoryItem import io.element.android.features.poll.impl.history.model.PollHistoryItems import kotlinx.collections.immutable.toImmutableList -class PollHistoryStateProvider : PreviewParameterProvider { +class PollHistoryStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPollHistoryState(), diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt index 9a654c2abb..01b475593d 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/history/PollHistoryView.kt @@ -255,7 +255,7 @@ private fun PollHistoryItemRow( @PreviewsDayNight @Composable internal fun PollHistoryViewPreview( - @PreviewParameter(PollHistoryStateProvider::class) state: PollHistoryState + @PreviewParameter(PollHistoryStatePreviewParam::class) state: PollHistoryState ) = ElementPreview { PollHistoryView( state = state, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStatePreviewParam.kt similarity index 90% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStatePreviewParam.kt index 561fe53a49..a15a457302 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.preferences.impl.about import androidx.compose.ui.tooling.preview.PreviewParameterProvider import kotlinx.collections.immutable.toImmutableList -open class AboutStateProvider : PreviewParameterProvider { +open class AboutStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAboutState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutView.kt index 3a6671f692..79a17b3e5a 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/about/AboutView.kt @@ -51,7 +51,7 @@ fun AboutView( @PreviewsDayNight @Composable -internal fun AboutViewPreview(@PreviewParameter(AboutStateProvider::class) state: AboutState) = ElementPreview { +internal fun AboutViewPreview(@PreviewParameter(AboutStatePreviewParam::class) state: AboutState) = ElementPreview { AboutView( state = state, onElementLegalClick = {}, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStatePreviewParam.kt similarity index 96% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStatePreviewParam.kt index 2df59e3ced..c41df427cc 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.preferences.api.store.VideoCompressionPreset import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList -open class AdvancedSettingsStateProvider : PreviewParameterProvider { +open class AdvancedSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aAdvancedSettingsState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt index 438b20049a..de6ce5c9f6 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt @@ -410,17 +410,17 @@ private fun LiveLocationUpdatesSection( @PreviewWithLargeHeight @Composable -internal fun AdvancedSettingsViewLightPreview(@PreviewParameter(AdvancedSettingsStateProvider::class) state: AdvancedSettingsState) = +internal fun AdvancedSettingsViewLightPreview(@PreviewParameter(AdvancedSettingsStatePreviewParam::class) state: AdvancedSettingsState) = ElementPreviewLight { ContentToPreview(state) } @PreviewWithLargeHeight @Composable -internal fun AdvancedSettingsViewDarkPreview(@PreviewParameter(AdvancedSettingsStateProvider::class) state: AdvancedSettingsState) = +internal fun AdvancedSettingsViewDarkPreview(@PreviewParameter(AdvancedSettingsStatePreviewParam::class) state: AdvancedSettingsState) = ElementPreviewDark { ContentToPreview(state) } @PreviewWithLargeHeight @Composable -internal fun AdvancedSettingsViewBlackPreview(@PreviewParameter(AdvancedSettingsStateProvider::class) state: AdvancedSettingsState) = +internal fun AdvancedSettingsViewBlackPreview(@PreviewParameter(AdvancedSettingsStatePreviewParam::class) state: AdvancedSettingsState) = ElementPreviewBlack { ContentToPreview(state) } @ExcludeFromCoverage diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStatePreviewParam.kt similarity index 87% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStatePreviewParam.kt index 9e15ea2f35..ab7a8aae3d 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.preferences.impl.analytics import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.analytics.api.preferences.aAnalyticsPreferencesState -open class AnalyticsSettingsStateProvider : PreviewParameterProvider { +open class AnalyticsSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aAnalyticsSettingsState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsView.kt index ef84600e2e..61fc3216f2 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsView.kt @@ -37,7 +37,7 @@ fun AnalyticsSettingsView( @PreviewsDayNight @Composable -internal fun AnalyticsSettingsViewPreview(@PreviewParameter(AnalyticsSettingsStateProvider::class) state: AnalyticsSettingsState) = ElementPreview { +internal fun AnalyticsSettingsViewPreview(@PreviewParameter(AnalyticsSettingsStatePreviewParam::class) state: AnalyticsSettingsState) = ElementPreview { AnalyticsSettingsView( state = state, onBackClick = {}, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStatePreviewParam.kt similarity index 95% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStatePreviewParam.kt index 0e0e9e5ca5..b1a9a2224d 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.aMatrixUserList import kotlinx.collections.immutable.toImmutableList -class BlockedUsersStateProvider : PreviewParameterProvider { +class BlockedUsersStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aBlockedUsersState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersView.kt index c4d8387295..be0c9d4937 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/blockedusers/BlockedUsersView.kt @@ -126,7 +126,7 @@ private fun BlockedUserItem( @PreviewsDayNight @Composable -internal fun BlockedUsersViewPreview(@PreviewParameter(BlockedUsersStateProvider::class) state: BlockedUsersState) { +internal fun BlockedUsersViewPreview(@PreviewParameter(BlockedUsersStatePreviewParam::class) state: BlockedUsersState) { ElementPreview { BlockedUsersView( state = state, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStatePreviewParam.kt similarity index 96% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStatePreviewParam.kt index b14446d11c..8cc6ad7dce 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.core.DeviceId import kotlinx.collections.immutable.persistentMapOf -open class DeveloperSettingsStateProvider : PreviewParameterProvider { +open class DeveloperSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDeveloperSettingsState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt index 2fd2137451..66a478a4e5 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt @@ -231,7 +231,7 @@ private fun NotificationCategory(onPushHistoryClick: () -> Unit) { @PreviewsDayNight @Composable internal fun DeveloperSettingsViewPreview( - @PreviewParameter(DeveloperSettingsStateProvider::class) state: DeveloperSettingsState + @PreviewParameter(DeveloperSettingsStatePreviewParam::class) state: DeveloperSettingsState ) = ElementPreview { DeveloperSettingsView( state = state, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStatePreviewParam.kt similarity index 94% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStatePreviewParam.kt index e4536f4dba..480b8426d7 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.featureflag.ui.model.aFeatureUiModelList import io.element.android.libraries.matrix.api.tracing.TraceLogPack import kotlinx.collections.immutable.toImmutableList -open class AppDeveloperSettingsStateProvider : PreviewParameterProvider { +open class AppDeveloperSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAppDeveloperSettingsState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsView.kt index a4f41edb4a..7b1401b5e5 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/appsettings/AppDeveloperSettingsView.kt @@ -182,7 +182,7 @@ private fun FeatureListContent( @PreviewsDayNight @Composable internal fun AppDeveloperSettingsViewPreview( - @PreviewParameter(AppDeveloperSettingsStateProvider::class) state: AppDeveloperSettingsState + @PreviewParameter(AppDeveloperSettingsStatePreviewParam::class) state: AppDeveloperSettingsState ) = ElementPreview { AppDeveloperSettingsView( state = state, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsModule.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsBindingContainer.kt similarity index 94% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsModule.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsBindingContainer.kt index bad0ccae0f..c95b608853 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsModule.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/di/DeveloperSettingsBindingContainer.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.architecture.Presenter @ContributesTo(AppScope::class) @BindingContainer -interface DeveloperSettingsModule { +interface DeveloperSettingsBindingContainer { @Binds fun bindAppDeveloperSettingsPresenter(presenter: AppDeveloperSettingsPresenter): Presenter } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStatePreviewParam.kt similarity index 95% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStatePreviewParam.kt index 08e251dcfa..f0b5705376 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.designsystem.theme.components.IconSource import io.element.android.libraries.featureflag.ui.model.FeatureUiModel import kotlinx.collections.immutable.toImmutableList -internal class LabsStateProvider : PreviewParameterProvider { +internal class LabsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLabsState(features = aFeatureList()), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsView.kt index 7a6703e3bc..7c7f2482e3 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/labs/LabsView.kt @@ -101,7 +101,7 @@ fun LabsView( @PreviewsDayNight @Composable -internal fun LabsViewPreview(@PreviewParameter(LabsStateProvider::class) state: LabsState) { +internal fun LabsViewPreview(@PreviewParameter(LabsStatePreviewParam::class) state: LabsState) { ElementPreview { LabsView(state = state, onBack = {}) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStatePreviewParam.kt similarity index 98% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStatePreviewParam.kt index 905f869dbe..38c83153ea 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStatePreviewParam.kt @@ -19,7 +19,7 @@ import io.element.android.libraries.pushproviders.api.Distributor import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -open class NotificationSettingsStateProvider : PreviewParameterProvider { +open class NotificationSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aValidNotificationSettingsState(systemNotificationsEnabled = false), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt index 9ede5138cf..a15f991f95 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsView.kt @@ -500,7 +500,9 @@ private fun InvalidNotificationSettingsView( @PreviewsDayNight @Composable -internal fun NotificationSettingsViewPreview(@PreviewParameter(NotificationSettingsStateProvider::class) state: NotificationSettingsState) = ElementPreview { +internal fun NotificationSettingsViewPreview(@PreviewParameter( + NotificationSettingsStatePreviewParam::class +) state: NotificationSettingsState) = ElementPreview { NotificationSettingsView( state = state, onBackClick = {}, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStatePreviewParam.kt similarity index 95% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStatePreviewParam.kt index 389554d2e0..819cd0d1f3 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.RoomNotificationMode import kotlinx.collections.immutable.persistentListOf -open class EditDefaultNotificationSettingStateProvider : PreviewParameterProvider { +open class EditDefaultNotificationSettingStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anEditDefaultNotificationSettingsState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt index 24da141a48..3d4256f65d 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/edit/EditDefaultNotificationSettingView.kt @@ -125,7 +125,7 @@ fun EditDefaultNotificationSettingView( @PreviewsDayNight @Composable internal fun EditDefaultNotificationSettingViewPreview( - @PreviewParameter(EditDefaultNotificationSettingStateProvider::class) state: EditDefaultNotificationSettingState + @PreviewParameter(EditDefaultNotificationSettingStatePreviewParam::class) state: EditDefaultNotificationSettingState ) = ElementPreview { EditDefaultNotificationSettingView( state = state, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt index 679e033d9b..3a720fc7a8 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt @@ -76,10 +76,7 @@ class PreferencesRootPresenter( }.collectAsState(initial = false) val isUserStatusSupported by produceState(false) { - featureFlagService.isFeatureEnabledFlow(FeatureFlags.UserStatus) - .collect { isUserStatusEnabled -> - value = isUserStatusEnabled && matrixClient.isUserStatusSupported().getOrDefault(false) - } + value = matrixClient.isUserStatusSupported().getOrDefault(false) } val userStatusState = if (isUserStatusSupported) userStatusPresenter.present() else null diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStatePreviewParam.kt similarity index 98% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStatePreviewParam.kt index 86f984f254..80c47a33b2 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootStatePreviewParam.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.ui.components.aMatrixUserList import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.toImmutableList -open class PreferencesRootStateProvider : PreviewParameterProvider { +open class PreferencesRootStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( // Nominal state, that a regular user will see if multi account is enabled diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index 2a37309e26..82c88b16fa 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -373,14 +373,14 @@ private fun DeveloperPreferencesView(onOpenDeveloperSettings: () -> Unit) { @PreviewWithLargeHeight @Composable -internal fun PreferencesRootViewLightPreview(@PreviewParameter(PreferencesRootStateProvider::class) state: PreferencesRootState) = +internal fun PreferencesRootViewLightPreview(@PreviewParameter(PreferencesRootStatePreviewParam::class) state: PreferencesRootState) = ElementPreviewLight( drawableFallbackForImages = CommonDrawables.sample_avatar, ) { ContentToPreview(state) } @PreviewWithLargeHeight @Composable -internal fun PreferencesRootViewDarkPreview(@PreviewParameter(PreferencesRootStateProvider::class) state: PreferencesRootState) = +internal fun PreferencesRootViewDarkPreview(@PreviewParameter(PreferencesRootStatePreviewParam::class) state: PreferencesRootState) = ElementPreviewDark( drawableFallbackForImages = CommonDrawables.sample_avatar, ) { ContentToPreview(state) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/UserPreferences.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/UserPreferences.kt index 43c7e8dacf..066b9ac73e 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/UserPreferences.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/UserPreferences.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.MatrixUserHeader -import io.element.android.libraries.matrix.ui.components.MatrixUserProvider +import io.element.android.libraries.matrix.ui.components.MatrixUserPreviewParam @Composable fun UserPreferences( @@ -30,6 +30,6 @@ fun UserPreferences( @PreviewsDayNight @Composable -internal fun UserPreferencesPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreview { +internal fun UserPreferencesPreview(@PreviewParameter(MatrixUserPreviewParam::class) matrixUser: MatrixUser) = ElementPreview { UserPreferences(matrixUser) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStatePreviewParam.kt similarity index 95% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStatePreviewParam.kt index 2f238f9935..8b711cba51 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileStatePreviewParam.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.permissions.api.PermissionsState import io.element.android.libraries.permissions.api.aPermissionsState import kotlinx.collections.immutable.toImmutableList -open class EditUserProfileStateProvider : PreviewParameterProvider { +open class EditUserProfileStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aEditUserProfileState(), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileView.kt index d4571d7be5..89e739fe56 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/user/editprofile/EditUserProfileView.kt @@ -178,7 +178,7 @@ fun EditUserProfileView( @PreviewsDayNight @Composable -internal fun EditUserProfileViewPreview(@PreviewParameter(EditUserProfileStateProvider::class) state: EditUserProfileState) = +internal fun EditUserProfileViewPreview(@PreviewParameter(EditUserProfileStatePreviewParam::class) state: EditUserProfileState) = ElementPreview { EditUserProfileView( onEditProfileSuccess = {}, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStatePreviewParam.kt similarity index 96% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStateProvider.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStatePreviewParam.kt index 6b198183a7..34a12c604e 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.api.user.UserStatus -internal class UserStatusStateProvider : PreviewParameterProvider { +internal class UserStatusStatePreviewParam : PreviewParameterProvider { override val values get() = sequenceOf( aUserStatusState(), aUserStatusState(displayedStatus = DisplayedStatus.UserSet(UserStatus("🌴", "Away"))), diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt index 19cc43d3d7..c25c159f33 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusView.kt @@ -354,7 +354,7 @@ private fun EmojiPickerBottomSheet( @PreviewsDayNight @Composable -internal fun UserStatusViewPreview(@PreviewParameter(UserStatusStateProvider::class) state: UserStatusState) = ElementPreview { +internal fun UserStatusViewPreview(@PreviewParameter(UserStatusStatePreviewParam::class) state: UserStatusState) = ElementPreview { UserStatusView( state = state, emojiPickerRenderer = NoOpEmojiPickerRenderer, diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusBindingContainer.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/di/UserStatusBindingContainer.kt similarity index 73% rename from features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusBindingContainer.kt rename to features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/di/UserStatusBindingContainer.kt index dfa77483f8..0e6f1bdc2f 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/UserStatusBindingContainer.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/userstatus/di/UserStatusBindingContainer.kt @@ -5,11 +5,13 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.features.preferences.impl.userstatus +package io.element.android.features.preferences.impl.userstatus.di import dev.zacsweers.metro.BindingContainer import dev.zacsweers.metro.Binds import dev.zacsweers.metro.ContributesTo +import io.element.android.features.preferences.impl.userstatus.UserStatusPresenter +import io.element.android.features.preferences.impl.userstatus.UserStatusState import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.SessionScope diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStateProvider.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStatePreviewParam.kt similarity index 91% rename from features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStateProvider.kt rename to features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStatePreviewParam.kt index 1de65c1a69..28ecc9f187 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStateProvider.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.rageshake.api.preferences import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class RageshakePreferencesStateProvider : PreviewParameterProvider { +open class RageshakePreferencesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRageshakePreferencesState(isEnabled = true, isSupported = true, sensitivity = 0.5f), diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt index a227d0ffcf..7b01f62b82 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt @@ -68,6 +68,8 @@ fun RageshakePreferencesView( @PreviewsDayNight @Composable -internal fun RageshakePreferencesViewPreview(@PreviewParameter(RageshakePreferencesStateProvider::class) state: RageshakePreferencesState) = ElementPreview { +internal fun RageshakePreferencesViewPreview(@PreviewParameter( + RageshakePreferencesStatePreviewParam::class +) state: RageshakePreferencesState) = ElementPreview { RageshakePreferencesView(state) } diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStateProvider.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStatePreviewParam.kt similarity index 94% rename from features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStateProvider.kt rename to features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStatePreviewParam.kt index 0afd06f22a..1e08c055b4 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStateProvider.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.rageshake.impl.bugreport import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class BugReportStateProvider : PreviewParameterProvider { +open class BugReportStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aBugReportState(), diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt index fede373627..2c8dba4af3 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt @@ -232,7 +232,7 @@ fun BugReportView( @Preview(heightDp = 1000) @Composable -internal fun BugReportViewDayPreview(@PreviewParameter(BugReportStateProvider::class) state: BugReportState) = ElementPreview { +internal fun BugReportViewDayPreview(@PreviewParameter(BugReportStatePreviewParam::class) state: BugReportState) = ElementPreview { BugReportView( state = state, onSuccess = {}, @@ -243,7 +243,7 @@ internal fun BugReportViewDayPreview(@PreviewParameter(BugReportStateProvider::c @Preview(heightDp = 1000, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable -internal fun BugReportViewNightPreview(@PreviewParameter(BugReportStateProvider::class) state: BugReportState) = ElementPreview { +internal fun BugReportViewNightPreview(@PreviewParameter(BugReportStatePreviewParam::class) state: BugReportState) = ElementPreview { BugReportView( state = state, onSuccess = {}, diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeBindingContainer.kt similarity index 97% rename from features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt rename to features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeBindingContainer.kt index 475127a345..04edb3c0ac 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeBindingContainer.kt @@ -22,7 +22,7 @@ import io.element.android.libraries.architecture.Presenter @ContributesTo(AppScope::class) @BindingContainer -interface RageshakeModule { +interface RageshakeBindingContainer { @Binds fun bindRageshakePreferencesPresenter(presenter: RageshakePreferencesPresenter): Presenter diff --git a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStateProvider.kt b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStatePreviewParam.kt similarity index 93% rename from features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStateProvider.kt rename to features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStatePreviewParam.kt index 8baae080f5..11d2777446 100644 --- a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStateProvider.kt +++ b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.reportroom.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class ReportRoomStateProvider : PreviewParameterProvider { +open class ReportRoomStatePreviewParam : PreviewParameterProvider { companion object { private const val A_REPORT_ROOM_REASON = "Inappropriate content" } diff --git a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomView.kt b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomView.kt index a754825dcc..7b614b13cb 100644 --- a/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomView.kt +++ b/features/reportroom/impl/src/main/kotlin/io/element/android/features/reportroom/impl/ReportRoomView.kt @@ -139,7 +139,7 @@ fun ReportRoomView( @PreviewsDayNight @Composable internal fun ReportRoomViewPreview( - @PreviewParameter(ReportRoomStateProvider::class) state: ReportRoomState + @PreviewParameter(ReportRoomStatePreviewParam::class) state: ReportRoomState ) = ElementPreview { ReportRoomView( state = state, diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStateProvider.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStatePreviewParam.kt similarity index 96% rename from features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStateProvider.kt rename to features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStatePreviewParam.kt index 700a82795e..95e3d48c2a 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStateProvider.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsV import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableMap -class ChangeRoomPermissionsStateProvider : PreviewParameterProvider { +class ChangeRoomPermissionsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aChangeRoomPermissionsState(), diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsView.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsView.kt index bb702ed90a..aba7a671a8 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsView.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/permissions/ChangeRoomPermissionsView.kt @@ -132,7 +132,7 @@ private fun titleForType(type: RoomPermissionType): String = when (type) { @PreviewsDayNight @Composable -internal fun ChangeRoomPermissionsViewPreview(@PreviewParameter(ChangeRoomPermissionsStateProvider::class) state: ChangeRoomPermissionsState) { +internal fun ChangeRoomPermissionsViewPreview(@PreviewParameter(ChangeRoomPermissionsStatePreviewParam::class) state: ChangeRoomPermissionsState) { ElementPreview { ChangeRoomPermissionsView( state = state, diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStatePreviewParam.kt similarity index 98% rename from features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt rename to features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStatePreviewParam.kt index e6b71ef752..2d6f8e02d0 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStatePreviewParam.kt @@ -29,7 +29,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -class ChangeRolesStateProvider : PreviewParameterProvider { +class ChangeRolesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aChangeRolesState(), diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesView.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesView.kt index b2c88efede..05bb77dfd4 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesView.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesView.kt @@ -393,7 +393,7 @@ private fun MemberRow( @PreviewsDayNight @Composable -internal fun ChangeRolesViewPreview(@PreviewParameter(ChangeRolesStateProvider::class) state: ChangeRolesState) { +internal fun ChangeRolesViewPreview(@PreviewParameter(ChangeRolesStatePreviewParam::class) state: ChangeRolesState) { ElementPreview { ChangeRolesView( state = state diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStateProvider.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStatePreviewParam.kt similarity index 96% rename from features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStateProvider.kt rename to features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStatePreviewParam.kt index 45bd72db19..2fc39212d8 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStateProvider.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import kotlinx.collections.immutable.toImmutableList -class RolesAndPermissionsStateProvider : PreviewParameterProvider { +class RolesAndPermissionsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRolesAndPermissionsState(roomSupportsOwners = false), diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsView.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsView.kt index 3cf29c18cf..d9c09bbc64 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsView.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/root/RolesAndPermissionsView.kt @@ -191,7 +191,7 @@ private fun ChangeOwnRoleBottomSheet( @PreviewsDayNight @Composable -internal fun RolesAndPermissionsViewPreview(@PreviewParameter(RolesAndPermissionsStateProvider::class) state: RolesAndPermissionsState) { +internal fun RolesAndPermissionsViewPreview(@PreviewParameter(RolesAndPermissionsStatePreviewParam::class) state: RolesAndPermissionsState) { ElementPreview { RolesAndPermissionsView( state = state, diff --git a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStateProvider.kt b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStatePreviewParam.kt similarity index 93% rename from features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStateProvider.kt rename to features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStatePreviewParam.kt index c3152bc303..6f93930b99 100644 --- a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStateProvider.kt +++ b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.exception.ClientException import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias -open class RoomAliasResolverStateProvider : PreviewParameterProvider { +open class RoomAliasResolverStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomAliasResolverState(), diff --git a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverView.kt b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverView.kt index ad0d2e9ab9..37960a50e2 100644 --- a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverView.kt +++ b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/RoomAliasResolverView.kt @@ -147,7 +147,7 @@ private fun RoomAliasResolverTopBar( @PreviewsDayNight @Composable -internal fun RoomAliasResolverViewPreview(@PreviewParameter(RoomAliasResolverStateProvider::class) state: RoomAliasResolverState) = ElementPreview { +internal fun RoomAliasResolverViewPreview(@PreviewParameter(RoomAliasResolverStatePreviewParam::class) state: RoomAliasResolverState) = ElementPreview { RoomAliasResolverView( state = state, onSuccess = { }, diff --git a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverModule.kt b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverBindingContainer.kt similarity index 92% rename from features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverModule.kt rename to features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverBindingContainer.kt index 8f5c9d733b..a3796fad91 100644 --- a/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverModule.kt +++ b/features/roomaliasresolver/impl/src/main/kotlin/io/element/android/features/roomaliasresolver/impl/di/RoomAliasResolverBindingContainer.kt @@ -18,9 +18,9 @@ import io.element.android.libraries.matrix.api.core.RoomAlias @BindingContainer @ContributesTo(SessionScope::class) -object RoomAliasResolverModule { +object RoomAliasResolverBindingContainer { @Provides - fun providesJoinRoomPresenterFactory( + fun providesRoomAliasResolverPresenterFactory( client: MatrixClient, ): RoomAliasResolverPresenter.Factory { return object : RoomAliasResolverPresenter.Factory { diff --git a/features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStateProvider.kt b/features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStatePreviewParam.kt similarity index 94% rename from features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStateProvider.kt rename to features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStatePreviewParam.kt index 3356fa0366..84b0bda6be 100644 --- a/features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStateProvider.kt +++ b/features/roomcall/api/src/main/kotlin/io/element/android/features/roomcall/api/RoomCallStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.roomcall.api import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class RoomCallStateProvider : PreviewParameterProvider { +open class RoomCallStatePreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( aStandByCallState(), aStandByCallState(canStartCall = false), diff --git a/features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallModule.kt b/features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallBindingContainer.kt similarity index 95% rename from features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallModule.kt rename to features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallBindingContainer.kt index fc649dd1f2..aa2d0fdde4 100644 --- a/features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallModule.kt +++ b/features/roomcall/impl/src/main/kotlin/io/element/android/features/roomcall/impl/di/RoomCallBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.RoomScope @ContributesTo(RoomScope::class) @BindingContainer -interface RoomCallModule { +interface RoomCallBindingContainer { @Binds fun bindRoomCallStatePresenter(presenter: RoomCallStatePresenter): Presenter } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStatePreviewParam.kt similarity index 99% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt rename to features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStatePreviewParam.kt index 6aa4f11a8e..d1652b30dd 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStatePreviewParam.kt @@ -31,7 +31,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.aMatrixUserList import kotlinx.collections.immutable.toImmutableList -open class RoomDetailsStateProvider : PreviewParameterProvider { +open class RoomDetailsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomDetailsState(displayAdminSettings = true), diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index 96dc3e25ba..b2874d01f9 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -905,12 +905,12 @@ private fun DebugInfoSection( @PreviewWithExtraLargeHeight @Composable -internal fun RoomDetailsPreview(@PreviewParameter(RoomDetailsStateProvider::class) state: RoomDetailsState) = +internal fun RoomDetailsPreview(@PreviewParameter(RoomDetailsStatePreviewParam::class) state: RoomDetailsState) = ElementPreviewLight { ContentToPreview(state) } @PreviewWithExtraLargeHeight @Composable -internal fun RoomDetailsDarkPreview(@PreviewParameter(RoomDetailsStateProvider::class) state: RoomDetailsState) = +internal fun RoomDetailsDarkPreview(@PreviewParameter(RoomDetailsStatePreviewParam::class) state: RoomDetailsState) = ElementPreviewDark { ContentToPreview(state) } @PreviewWithExtraLargeHeight diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberModule.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberBindingContainer.kt similarity index 95% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberModule.kt rename to features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberBindingContainer.kt index 479f23f90d..6651e85097 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberModule.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomMemberBindingContainer.kt @@ -21,9 +21,9 @@ import io.element.android.libraries.matrix.api.room.JoinedRoom @BindingContainer @ContributesTo(RoomScope::class) -object RoomMemberModule { +object RoomMemberBindingContainer { @Provides - fun provideRoomMemberDetailsPresenterFactory( + fun providesRoomMemberDetailsPresenterFactory( room: JoinedRoom, userProfilePresenterFactory: UserProfilePresenterFactory, encryptionService: EncryptionService, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt index cb305426bc..d00a4e159a 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.features.invitepeople.api.InvitePeopleEvents 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.features.roomdetails.impl.R import io.element.android.libraries.designsystem.components.ProgressDialog import io.element.android.libraries.designsystem.components.button.BackButton @@ -116,7 +116,7 @@ private fun InviteProgressDialog() { @PreviewsDayNight @Composable -internal fun RoomInviteMembersViewPreview(@PreviewParameter(InvitePeopleStateProvider::class) state: InvitePeopleState) = ElementPreview { +internal fun RoomInviteMembersViewPreview(@PreviewParameter(InvitePeopleStatePreviewParam::class) state: InvitePeopleState) = ElementPreview { RoomInviteMembersView( state = state, invitePeopleView = {}, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStatePreviewParam.kt similarity index 98% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStateProvider.kt rename to features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStatePreviewParam.kt index 6b1971fdae..59a26e6207 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListStatePreviewParam.kt @@ -31,7 +31,7 @@ import io.element.android.libraries.matrix.api.room.RoomMembershipState import io.element.android.libraries.matrix.api.user.DisplayedStatus import kotlinx.collections.immutable.persistentListOf -internal class RoomMemberListStateProvider : PreviewParameterProvider { +internal class RoomMemberListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomMemberListState( diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt index 33ca61b570..f19ee95106 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt @@ -375,7 +375,7 @@ private fun RoomMemberListTopBar( @PreviewsDayNight @Composable -internal fun RoomMemberListViewPreview(@PreviewParameter(RoomMemberListStateProvider::class) state: RoomMemberListState) = ElementPreview { +internal fun RoomMemberListViewPreview(@PreviewParameter(RoomMemberListStatePreviewParam::class) state: RoomMemberListState) = ElementPreview { RoomMemberListView( state = state, navigator = object : RoomMemberListNavigator { diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStatePreviewParam.kt similarity index 95% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStateProvider.kt rename to features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStatePreviewParam.kt index 603d22b502..f7ac7597d6 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.room.RoomNotificationMode -internal class RoomNotificationSettingsStateProvider : PreviewParameterProvider { +internal class RoomNotificationSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomNotificationSettingsState(), diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt index a8be2944a2..f0676f133e 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt @@ -174,7 +174,7 @@ private fun RoomNotificationSettingsTopBar( @PreviewsDayNight @Composable internal fun RoomNotificationSettingsViewPreview( - @PreviewParameter(RoomNotificationSettingsStateProvider::class) state: RoomNotificationSettingsState + @PreviewParameter(RoomNotificationSettingsStatePreviewParam::class) state: RoomNotificationSettingsState ) = ElementPreview { RoomNotificationSettingsView( state = state, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStatePreviewParam.kt similarity index 92% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStateProvider.kt rename to features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStatePreviewParam.kt index 039f489bbf..6a3ecacfcb 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.room.RoomNotificationMode -internal class UserDefinedRoomNotificationSettingsStateProvider : PreviewParameterProvider { +internal class UserDefinedRoomNotificationSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( RoomNotificationSettingsState( diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt index 1721c9925c..befbc9382f 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt @@ -105,7 +105,7 @@ private fun UserDefinedRoomNotificationSettingsTopBar( @PreviewsDayNight @Composable internal fun UserDefinedRoomNotificationSettingsViewPreview( - @PreviewParameter(UserDefinedRoomNotificationSettingsStateProvider::class) state: RoomNotificationSettingsState + @PreviewParameter(UserDefinedRoomNotificationSettingsStatePreviewParam::class) state: RoomNotificationSettingsState ) = ElementPreview { UserDefinedRoomNotificationSettingsView( state = state, diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStatePreviewParam.kt similarity index 96% rename from features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt rename to features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStatePreviewParam.kt index a6e2e3798b..b58cf5db49 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStateProvider.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.permissions.api.PermissionsState import io.element.android.libraries.permissions.api.aPermissionsState import kotlinx.collections.immutable.toImmutableList -open class RoomDetailsEditStateProvider : PreviewParameterProvider { +open class RoomDetailsEditStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomDetailsEditState(), diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt index 9cdc800267..04c8796285 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt @@ -185,7 +185,7 @@ fun RoomDetailsEditView( @PreviewsDayNight @Composable -internal fun RoomDetailsEditViewPreview(@PreviewParameter(RoomDetailsEditStateProvider::class) state: RoomDetailsEditState) = ElementPreview { +internal fun RoomDetailsEditViewPreview(@PreviewParameter(RoomDetailsEditStatePreviewParam::class) state: RoomDetailsEditState) = ElementPreview { RoomDetailsEditView( state = state, onDone = {}, diff --git a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStateProvider.kt b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStatePreviewParam.kt similarity index 96% rename from features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStateProvider.kt rename to features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStatePreviewParam.kt index 4ee90fdf16..d7869f3d06 100644 --- a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStateProvider.kt +++ b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.core.RoomId import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class RoomDirectoryStateProvider : PreviewParameterProvider { +open class RoomDirectoryStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomDirectoryState(), diff --git a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryView.kt b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryView.kt index dd9098b7ad..b880a4d28e 100644 --- a/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryView.kt +++ b/features/roomdirectory/impl/src/main/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryView.kt @@ -278,7 +278,7 @@ private fun RoomDirectoryRoomRow( @PreviewsDayNight @Composable -internal fun RoomDirectoryViewPreview(@PreviewParameter(RoomDirectoryStateProvider::class) state: RoomDirectoryState) = ElementPreview { +internal fun RoomDirectoryViewPreview(@PreviewParameter(RoomDirectoryStatePreviewParam::class) state: RoomDirectoryState) = ElementPreview { RoomDirectoryView( state = state, onResultClick = {}, diff --git a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStatePreviewParam.kt similarity index 97% rename from features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt rename to features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStatePreviewParam.kt index 2c32f2c47a..78358da213 100644 --- a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStateProvider.kt +++ b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/InternalRoomMemberModerationStatePreviewParam.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.api.user.MatrixUser import kotlinx.collections.immutable.toImmutableList -class InternalRoomMemberModerationStateProvider : PreviewParameterProvider { +class InternalRoomMemberModerationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomMembersModerationState( diff --git a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationView.kt b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationView.kt index a5e0ac274f..f1c6cc8ed3 100644 --- a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationView.kt +++ b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationView.kt @@ -362,7 +362,7 @@ private fun RoomMemberActionsBottomSheet( @PreviewsDayNight @Composable -internal fun RoomMemberModerationViewPreview(@PreviewParameter(InternalRoomMemberModerationStateProvider::class) state: InternalRoomMemberModerationState) { +internal fun RoomMemberModerationViewPreview(@PreviewParameter(InternalRoomMemberModerationStatePreviewParam::class) state: InternalRoomMemberModerationState) { val isDoingAction = listOf(state.kickUserAsyncAction, state.banUserAsyncAction, state.unbanUserAsyncAction).any { it is AsyncAction.Loading } val modifier = if (isDoingAction) { Modifier.fillMaxWidth().heightIn(min = 64.dp) diff --git a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationModule.kt b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationBindingContainer.kt similarity index 94% rename from features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationModule.kt rename to features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationBindingContainer.kt index ab82f6ced4..1ffe6df41f 100644 --- a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationModule.kt +++ b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/di/RoomMemberModerationBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.di.RoomScope @ContributesTo(RoomScope::class) @BindingContainer -interface RoomMemberModerationModule { +interface RoomMemberModerationBindingContainer { @Binds fun bindRoomMemberModerationPresenter(presenter: RoomMemberModerationPresenter): Presenter } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStatePreviewParam.kt similarity index 92% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStatePreviewParam.kt index 6aa10d9a0b..6eea9c366a 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.encryption.BackupState -open class SecureBackupDisableStateProvider : PreviewParameterProvider { +open class SecureBackupDisableStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSecureBackupDisableState(), diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt index 24678148b4..423e2ed5da 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt @@ -112,7 +112,7 @@ private fun SecureBackupDisableItem(text: String) { @PreviewsDayNight @Composable internal fun SecureBackupDisableViewPreview( - @PreviewParameter(SecureBackupDisableStateProvider::class) state: SecureBackupDisableState + @PreviewParameter(SecureBackupDisableStatePreviewParam::class) state: SecureBackupDisableState ) = ElementPreview { SecureBackupDisableView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt similarity index 94% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt index 5e95b5713e..5041f4ab92 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyStatePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.features.securebackup.impl.setup.views.RecoveryKeyView import io.element.android.features.securebackup.impl.setup.views.aFormattedRecoveryKey import io.element.android.libraries.architecture.AsyncAction -open class SecureBackupEnterRecoveryKeyStateProvider : PreviewParameterProvider { +open class SecureBackupEnterRecoveryKeyStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSecureBackupEnterRecoveryKeyState(recoveryKey = ""), diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt index 34fca33e96..823bbf5c80 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt @@ -97,7 +97,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable internal fun SecureBackupEnterRecoveryKeyViewPreview( - @PreviewParameter(SecureBackupEnterRecoveryKeyStateProvider::class) state: SecureBackupEnterRecoveryKeyState + @PreviewParameter(SecureBackupEnterRecoveryKeyStatePreviewParam::class) state: SecureBackupEnterRecoveryKeyState ) = ElementPreview { SecureBackupEnterRecoveryKeyView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStatePreviewParam.kt similarity index 91% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStatePreviewParam.kt index fc4ce2430e..b6e786a9bc 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.securebackup.impl.reset.password import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -class ResetIdentityPasswordStateProvider : PreviewParameterProvider { +class ResetIdentityPasswordStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aResetIdentityPasswordState(), diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordView.kt index 3bb77ac206..27612a7b4d 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/password/ResetIdentityPasswordView.kt @@ -106,7 +106,7 @@ private fun Content(text: String, onTextChange: (String) -> Unit, hasError: Bool @PreviewsDayNight @Composable -internal fun ResetIdentityPasswordViewPreview(@PreviewParameter(ResetIdentityPasswordStateProvider::class) state: ResetIdentityPasswordState) { +internal fun ResetIdentityPasswordViewPreview(@PreviewParameter(ResetIdentityPasswordStatePreviewParam::class) state: ResetIdentityPasswordState) { ElementPreview { ResetIdentityPasswordView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStatePreviewParam.kt similarity index 88% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStatePreviewParam.kt index 697401367f..e4bb24355e 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.securebackup.impl.reset.root import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class ResetIdentityRootStateProvider : PreviewParameterProvider { +class ResetIdentityRootStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( ResetIdentityRootState( diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootView.kt index 7ac8dbe4cf..0109bd4faf 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/reset/root/ResetIdentityRootView.kt @@ -130,7 +130,7 @@ private fun Content() { @PreviewsDayNight @Composable -internal fun ResetIdentityRootViewPreview(@PreviewParameter(ResetIdentityRootStateProvider::class) state: ResetIdentityRootState) { +internal fun ResetIdentityRootViewPreview(@PreviewParameter(ResetIdentityRootStatePreviewParam::class) state: ResetIdentityRootState) { ElementPreview { ResetIdentityRootView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStatePreviewParam.kt similarity index 97% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStatePreviewParam.kt index 5dc3bea7e8..3247db78eb 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage import io.element.android.libraries.matrix.api.encryption.BackupState import io.element.android.libraries.matrix.api.encryption.RecoveryState -open class SecureBackupRootStateProvider : PreviewParameterProvider { +open class SecureBackupRootStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSecureBackupRootState(backupState = BackupState.UNKNOWN, doesBackupExistOnServer = AsyncData.Uninitialized), diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt index 626a162152..8059329cd0 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt @@ -236,7 +236,7 @@ private fun LoadingView() { @PreviewsDayNight @Composable internal fun SecureBackupRootViewPreview( - @PreviewParameter(SecureBackupRootStateProvider::class) state: SecureBackupRootState + @PreviewParameter(SecureBackupRootStatePreviewParam::class) state: SecureBackupRootState ) = ElementPreview { SecureBackupRootView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStatePreviewParam.kt similarity index 95% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStatePreviewParam.kt index a780fa0c36..f88fd56d79 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.features.securebackup.impl.setup.views.RecoveryKeyUser import io.element.android.features.securebackup.impl.setup.views.RecoveryKeyViewState import io.element.android.features.securebackup.impl.setup.views.aFormattedRecoveryKey -open class SecureBackupSetupStateProvider : PreviewParameterProvider { +open class SecureBackupSetupStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSecureBackupSetupState(setupState = SetupState.Init), diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt index 497c64f072..cab1e0995c 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt @@ -195,7 +195,7 @@ private fun ColumnScope.Buttons( @PreviewsDayNight @Composable internal fun SecureBackupSetupViewPreview( - @PreviewParameter(SecureBackupSetupStateProvider::class) state: SecureBackupSetupState + @PreviewParameter(SecureBackupSetupStatePreviewParam::class) state: SecureBackupSetupState ) = ElementPreview { SecureBackupSetupView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupViewChangePreview.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupViewChangePreview.kt index 39fa7debe9..0fd7901f55 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupViewChangePreview.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupViewChangePreview.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight @PreviewsDayNight @Composable internal fun SecureBackupSetupViewChangePreview( - @PreviewParameter(SecureBackupSetupStateProvider::class) state: SecureBackupSetupState + @PreviewParameter(SecureBackupSetupStatePreviewParam::class) state: SecureBackupSetupState ) = ElementPreview { SecureBackupSetupView( state = state.copy( diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt index 8055709f20..61b36d3adf 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt @@ -269,7 +269,7 @@ private fun RecoveryKeyFooter(state: RecoveryKeyViewState) { @PreviewsDayNight @Composable internal fun RecoveryKeyViewPreview( - @PreviewParameter(RecoveryKeyViewStateProvider::class) state: RecoveryKeyViewState + @PreviewParameter(RecoveryKeyViewStatePreviewParam::class) state: RecoveryKeyViewState ) = ElementPreview { RecoveryKeyView( state = state, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStatePreviewParam.kt similarity index 95% rename from features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStateProvider.kt rename to features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStatePreviewParam.kt index c1a841aa7b..69a5757e1f 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyViewStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.features.securebackup.impl.setup.views import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class RecoveryKeyViewStateProvider : PreviewParameterProvider { +open class RecoveryKeyViewStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf(RecoveryKeyUserStory.Setup, RecoveryKeyUserStory.Change, RecoveryKeyUserStory.Enter) .flatMap { diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStateProvider.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStatePreviewParam.kt similarity index 94% rename from features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStateProvider.kt rename to features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStatePreviewParam.kt index 7b82175bb7..096e9c50c5 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStateProvider.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.ui.room.address.RoomAddressValidity -open class EditRoomAddressStateProvider : PreviewParameterProvider { +open class EditRoomAddressStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anEditRoomAddressState(), diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressView.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressView.kt index da18b963fa..c1156df209 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressView.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/editroomaddress/EditRoomAddressView.kt @@ -112,7 +112,7 @@ private fun EditRoomAddressTopBar( @PreviewsDayNight @Composable internal fun EditRoomAddressViewPreview( - @PreviewParameter(EditRoomAddressStateProvider::class) state: EditRoomAddressState + @PreviewParameter(EditRoomAddressStatePreviewParam::class) state: EditRoomAddressState ) = ElementPreview { EditRoomAddressView( state = state, diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStateProvider.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStatePreviewParam.kt similarity index 94% rename from features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStateProvider.kt rename to features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStatePreviewParam.kt index d2fec941ff..d5d1986b83 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStateProvider.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesStatePreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.previewutils.room.aSpaceRoom import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableSet -open class ManageAuthorizedSpacesStateProvider : PreviewParameterProvider { +open class ManageAuthorizedSpacesStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aManageAuthorizedSpacesState(), diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesView.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesView.kt index 514c38a3fd..0bb6bc49e6 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesView.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/manageauthorizedspaces/ManageAuthorizedSpacesView.kt @@ -191,7 +191,7 @@ private fun ManageAuthorizedSpacesTopBar( @PreviewsDayNight @Composable internal fun ManageAuthorizedSpacesViewPreview( - @PreviewParameter(ManageAuthorizedSpacesStateProvider::class) state: ManageAuthorizedSpacesState + @PreviewParameter(ManageAuthorizedSpacesStatePreviewParam::class) state: ManageAuthorizedSpacesState ) = ElementPreview { ManageAuthorizedSpacesView(state = state) } diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStateProvider.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStatePreviewParam.kt similarity index 98% rename from features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStateProvider.kt rename to features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStatePreviewParam.kt index 998d61b564..102adb4015 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStateProvider.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.api.spaces.SpaceRoom import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableSet -open class SecurityAndPrivacyStateProvider : PreviewParameterProvider { +open class SecurityAndPrivacyStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = commonSecurityAndPrivacyStates(isSpace = false) + commonSecurityAndPrivacyStates(isSpace = true) + diff --git a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyView.kt b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyView.kt index 43feb99611..e2cc5522a6 100644 --- a/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyView.kt +++ b/features/securityandprivacy/impl/src/main/kotlin/io/element/android/features/securityandprivacy/impl/root/SecurityAndPrivacyView.kt @@ -469,12 +469,12 @@ private fun HistoryVisibilityItem( @PreviewWithLargeHeight @Composable -internal fun SecurityAndPrivacyViewLightPreview(@PreviewParameter(SecurityAndPrivacyStateProvider::class) state: SecurityAndPrivacyState) = +internal fun SecurityAndPrivacyViewLightPreview(@PreviewParameter(SecurityAndPrivacyStatePreviewParam::class) state: SecurityAndPrivacyState) = ElementPreviewLight { ContentToPreview(state) } @PreviewWithLargeHeight @Composable -internal fun SecurityAndPrivacyViewDarkPreview(@PreviewParameter(SecurityAndPrivacyStateProvider::class) state: SecurityAndPrivacyState) = +internal fun SecurityAndPrivacyViewDarkPreview(@PreviewParameter(SecurityAndPrivacyStatePreviewParam::class) state: SecurityAndPrivacyState) = ElementPreviewDark { ContentToPreview(state) } @ExcludeFromCoverage diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStateProvider.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStatePreviewParam.kt similarity index 93% rename from features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStateProvider.kt rename to features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStatePreviewParam.kt index 88f9d42f40..97135acb71 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStateProvider.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.matrix.api.core.RoomId -open class ShareStateProvider : PreviewParameterProvider { +open class ShareStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aShareState(), diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareView.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareView.kt index ec5897bcad..5e5130965f 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareView.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareView.kt @@ -33,7 +33,7 @@ fun ShareView( @PreviewsDayNight @Composable -internal fun ShareViewPreview(@PreviewParameter(ShareStateProvider::class) state: ShareState) = ElementPreview { +internal fun ShareViewPreview(@PreviewParameter(ShareStatePreviewParam::class) state: ShareState) = ElementPreview { ShareView( state = state, onShareSuccess = {} diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStatePreviewParam.kt similarity index 94% rename from features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt rename to features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStatePreviewParam.kt index 95a57db93e..ae60b7aacb 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStateProvider.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.sessionstorage.api.LoginType import io.element.android.libraries.sessionstorage.api.SessionData -open class SignedOutStateProvider : PreviewParameterProvider { +open class SignedOutStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSignedOutState(), diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt index 41a99713e7..9dcb4585e5 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt @@ -109,7 +109,7 @@ private fun SignedOutFooter( @PreviewsDayNight @Composable internal fun SignedOutViewPreview( - @PreviewParameter(SignedOutStateProvider::class) state: SignedOutState, + @PreviewParameter(SignedOutStatePreviewParam::class) state: SignedOutState, ) = ElementPreview { SignedOutView( state = state, diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStatePreviewParam.kt similarity index 97% rename from features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt rename to features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStatePreviewParam.kt index add57bd4c4..9f9652c65c 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStatePreviewParam.kt @@ -17,7 +17,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -internal class AddRoomToSpaceStateProvider : PreviewParameterProvider { +internal class AddRoomToSpaceStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( // Initial state with suggestions diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceView.kt index 2f75072d0a..4db17634d6 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceView.kt @@ -273,7 +273,7 @@ private fun RoomListItem( @PreviewsDayNight @Composable internal fun AddRoomToSpaceViewPreview( - @PreviewParameter(AddRoomToSpaceStateProvider::class) state: AddRoomToSpaceState + @PreviewParameter(AddRoomToSpaceStatePreviewParam::class) state: AddRoomToSpaceState ) = ElementPreview { AddRoomToSpaceView( state = state, diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStatePreviewParam.kt similarity index 98% rename from features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStateProvider.kt rename to features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStatePreviewParam.kt index ddf34cb076..3243a4fa53 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceStatePreviewParam.kt @@ -19,7 +19,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -class LeaveSpaceStateProvider : PreviewParameterProvider { +class LeaveSpaceStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aLeaveSpaceState(), diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceView.kt index b4722fad0d..992240cac2 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpaceView.kt @@ -366,7 +366,7 @@ private fun SpaceItem( @PreviewsDayNight @Composable internal fun LeaveSpaceViewPreview( - @PreviewParameter(LeaveSpaceStateProvider::class) state: LeaveSpaceState, + @PreviewParameter(LeaveSpaceStatePreviewParam::class) state: LeaveSpaceState, ) = ElementPreview { LeaveSpaceView( state = state, diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt similarity index 98% rename from features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt rename to features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt index 6824cc6c10..34d6e4534a 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStatePreviewParam.kt @@ -26,7 +26,7 @@ import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableMap import kotlinx.collections.immutable.toImmutableSet -open class SpaceStateProvider : PreviewParameterProvider { +open class SpaceStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSpaceState(), diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt index fe971091f5..f1cddf5e0f 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceView.kt @@ -680,7 +680,7 @@ private fun RemoveRoomsActionView( @PreviewsDayNight @Composable internal fun SpaceViewPreview( - @PreviewParameter(SpaceStateProvider::class) state: SpaceState + @PreviewParameter(SpaceStatePreviewParam::class) state: SpaceState ) = ElementPreview { SpaceView( state = state, diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStatePreviewParam.kt similarity index 94% rename from features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStateProvider.kt rename to features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStatePreviewParam.kt index 36f6a2a1d0..a68a3ce850 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.designsystem.preview.SPACE_NAME import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId -open class SpaceSettingsStateProvider : PreviewParameterProvider { +open class SpaceSettingsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSpaceSettingsState(), diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsView.kt index 6237e443b0..b5cfc7702a 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/settings/SpaceSettingsView.kt @@ -223,7 +223,7 @@ private fun LeaveSpaceItem( @PreviewsDayNight @Composable internal fun SpaceSettingsViewPreview( - @PreviewParameter(SpaceSettingsStateProvider::class) state: SpaceSettingsState + @PreviewParameter(SpaceSettingsStatePreviewParam::class) state: SpaceSettingsState ) = ElementPreview { SpaceSettingsView( state = state, diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt index c8587d9784..4b62820ef4 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt @@ -26,7 +26,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.features.startchat.impl.userlist.UserListEvents import io.element.android.features.startchat.impl.userlist.UserListState -import io.element.android.features.startchat.impl.userlist.UserListStateProvider +import io.element.android.features.startchat.impl.userlist.UserListStatePreviewParam import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -129,7 +129,7 @@ fun UserListView( @PreviewsDayNight @Composable -internal fun UserListViewPreview(@PreviewParameter(UserListStateProvider::class) state: UserListState) = ElementPreview { +internal fun UserListViewPreview(@PreviewParameter(UserListStatePreviewParam::class) state: UserListState) = ElementPreview { UserListView( state = state, onSelectUser = {}, diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStateProvider.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStatePreviewParam.kt similarity index 93% rename from features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStateProvider.kt rename to features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStatePreviewParam.kt index 5528a84196..3404a737a3 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStateProvider.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias -open class JoinRoomByAddressStateProvider : PreviewParameterProvider { +open class JoinRoomByAddressStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aJoinRoomByAddressState(), diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressView.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressView.kt index ffe6a47f0d..4d2babe70b 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressView.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/joinbyaddress/JoinRoomByAddressView.kt @@ -137,7 +137,7 @@ private fun RoomAddressField( @PreviewsDayNight @Composable internal fun JoinRoomByAddressViewPreview( - @PreviewParameter(JoinRoomByAddressStateProvider::class) state: JoinRoomByAddressState + @PreviewParameter(JoinRoomByAddressStatePreviewParam::class) state: JoinRoomByAddressState ) = ElementPreview { JoinRoomByAddressView(state = state) } diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStateProvider.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStatePreviewParam.kt similarity index 97% rename from features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStateProvider.kt rename to features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStatePreviewParam.kt index 41a3551d1d..e8ac1d55a7 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStateProvider.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatStatePreviewParam.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.ui.components.aMatrixUser import io.element.android.libraries.usersearch.api.UserSearchResult import kotlinx.collections.immutable.persistentListOf -open class StartChatStateProvider : PreviewParameterProvider { +open class StartChatStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aCreateRoomRootState(), diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatView.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatView.kt index 104a8cecf7..350cf15757 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatView.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/root/StartChatView.kt @@ -255,7 +255,7 @@ private fun CreateRoomActionButton( @PreviewsDayNight @Composable -internal fun StartChatViewPreview(@PreviewParameter(StartChatStateProvider::class) state: StartChatState) = +internal fun StartChatViewPreview(@PreviewParameter(StartChatStatePreviewParam::class) state: StartChatState) = ElementPreview { StartChatView( state = state, diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt similarity index 97% rename from features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt rename to features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt index 91d047d238..190ff23ad2 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt @@ -19,7 +19,7 @@ import io.element.android.libraries.usersearch.api.UserSearchResult import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList -open class UserListStateProvider : PreviewParameterProvider { +open class UserListStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aUserListState(), diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStatePreviewParam.kt similarity index 97% rename from features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt rename to features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStatePreviewParam.kt index 4e25284753..84a95e0b14 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStatePreviewParam.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.ui.components.aMatrixUser -open class UserProfileStateProvider : PreviewParameterProvider { +open class UserProfileStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aUserProfileState(), diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt index c5a661dbac..b9f43db36d 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt @@ -147,7 +147,7 @@ private fun VerifyUserSection( @PreviewsDayNight @Composable internal fun UserProfileViewPreview( - @PreviewParameter(UserProfileStateProvider::class) state: UserProfileState + @PreviewParameter(UserProfileStatePreviewParam::class) state: UserProfileState ) = ElementPreview { UserProfileView( state = state, diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStatePreviewParam.kt similarity index 97% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStatePreviewParam.kt index 895f78cbdc..c8d70e03c0 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStatePreviewParam.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails import io.element.android.libraries.matrix.api.verification.VerificationRequest -open class IncomingVerificationStateProvider : PreviewParameterProvider { +open class IncomingVerificationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anIncomingVerificationState(), diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt index e86c83825b..64adc78aa0 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt @@ -264,7 +264,9 @@ private fun IncomingVerificationBottomMenu( @PreviewsDayNight @Composable -internal fun IncomingVerificationViewPreview(@PreviewParameter(IncomingVerificationStateProvider::class) state: IncomingVerificationState) = ElementPreview { +internal fun IncomingVerificationViewPreview(@PreviewParameter( + IncomingVerificationStatePreviewParam::class +) state: IncomingVerificationState) = ElementPreview { IncomingVerificationView( state = state, ) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStateProvider.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStatePreviewParam.kt similarity index 97% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStateProvider.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStatePreviewParam.kt index 2da099df9f..ee3d5dd7a3 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStateProvider.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.verification.VerificationRequest -open class OutgoingVerificationStateProvider : PreviewParameterProvider { +open class OutgoingVerificationStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anOutgoingVerificationState( diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationView.kt index 9131ad63fb..978ced6587 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/OutgoingVerificationView.kt @@ -328,7 +328,9 @@ private fun OutgoingVerificationBottomMenu( @PreviewsDayNight @Composable -internal fun OutgoingVerificationViewPreview(@PreviewParameter(OutgoingVerificationStateProvider::class) state: OutgoingVerificationState) = ElementPreview { +internal fun OutgoingVerificationViewPreview(@PreviewParameter( + OutgoingVerificationStatePreviewParam::class +) state: OutgoingVerificationState) = ElementPreview { OutgoingVerificationView( state = state, onLearnMoreClick = {}, diff --git a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStateProvider.kt b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStatePreviewParam.kt similarity index 97% rename from features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStateProvider.kt rename to features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStatePreviewParam.kt index 1b20b5c947..8420cf8fd6 100644 --- a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStateProvider.kt +++ b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.features.viewfolder.impl.file import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncData -open class ViewFileStateProvider : PreviewParameterProvider { +open class ViewFileStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aViewFileState(), diff --git a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileView.kt b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileView.kt index 23f92fc9ba..8b44f12ba8 100644 --- a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileView.kt +++ b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/file/ViewFileView.kt @@ -92,7 +92,7 @@ fun ViewFileView( @PreviewsDayNight @Composable -internal fun ViewFileViewPreview(@PreviewParameter(ViewFileStateProvider::class) state: ViewFileState) = ElementPreview { +internal fun ViewFileViewPreview(@PreviewParameter(ViewFileStatePreviewParam::class) state: ViewFileState) = ElementPreview { ViewFileView( state = state, onBackClick = {}, diff --git a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStateProvider.kt b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStatePreviewParam.kt similarity index 92% rename from features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStateProvider.kt rename to features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStatePreviewParam.kt index 2debe4cbf8..0fad56fe40 100644 --- a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStateProvider.kt +++ b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.viewfolder.impl.model.Item import kotlinx.collections.immutable.toImmutableList -open class ViewFolderStateProvider : PreviewParameterProvider { +open class ViewFolderStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aViewFolderState(), diff --git a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderView.kt b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderView.kt index 86cd5302c8..89fb3da7f4 100644 --- a/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderView.kt +++ b/features/viewfolder/impl/src/main/kotlin/io/element/android/features/viewfolder/impl/folder/ViewFolderView.kt @@ -142,7 +142,7 @@ private fun ItemRow( @PreviewsDayNight @Composable -internal fun ViewFolderViewPreview(@PreviewParameter(ViewFolderStateProvider::class) state: ViewFolderState) = ElementPreview { +internal fun ViewFolderViewPreview(@PreviewParameter(ViewFolderStatePreviewParam::class) state: ViewFolderState) = ElementPreview { ViewFolderView( state = state, onNavigateTo = {}, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 95242ad038..46890d253f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -222,7 +222,7 @@ maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.2" opusencoder = "io.element.android:opusencoder:1.2.0" zxing_cpp = "io.github.zxing-cpp:android:3.1.1" google_zxing = "com.google.zxing:core:3.5.4" -google_guava = "com.google.guava:guava:33.6.0-android" +google_guava = "com.google.guava:guava:33.7.0-android" haze = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" } haze_materials = { module = "dev.chrisbanes.haze:haze-materials", version.ref = "haze" } diff --git a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStateProvider.kt b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStatePreviewParam.kt similarity index 90% rename from libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStateProvider.kt rename to libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStatePreviewParam.kt index 0c12d34352..78c2f895dd 100644 --- a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStateProvider.kt +++ b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectStatePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.aMatrixUserList import kotlinx.collections.immutable.toImmutableList -open class AccountSelectStateProvider : PreviewParameterProvider { +open class AccountSelectStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAccountSelectState(), diff --git a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectView.kt b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectView.kt index bfa1bf45b6..74f15f8cfa 100644 --- a/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectView.kt +++ b/libraries/accountselect/impl/src/main/kotlin/io/element/android/libraries/accountselect/impl/AccountSelectView.kt @@ -80,7 +80,7 @@ fun AccountSelectView( @PreviewsDayNight @Composable -internal fun AccountSelectViewPreview(@PreviewParameter(AccountSelectStateProvider::class) state: AccountSelectState) = ElementPreview { +internal fun AccountSelectViewPreview(@PreviewParameter(AccountSelectStatePreviewParam::class) state: AccountSelectState) = ElementPreview { AccountSelectView( state = state, onSelectAccount = {}, diff --git a/libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreModule.kt b/libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreBindingContainer.kt similarity index 96% rename from libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreModule.kt rename to libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreBindingContainer.kt index 89de82a08f..c28cc0601c 100644 --- a/libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreModule.kt +++ b/libraries/cachestore/impl/src/main/kotlin/io/element/android/libraries/cachestore/impl/di/CacheStoreBindingContainer.kt @@ -22,10 +22,10 @@ import timber.log.Timber @BindingContainer @ContributesTo(AppScope::class) -object CacheStoreModule { +object CacheStoreBindingContainer { @Provides @SingleIn(AppScope::class) - fun provideCacheDatabase( + fun providesCacheDatabase( @ApplicationContext context: Context, ): CacheDatabase { val name = "cache_database" diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/mimetype/MimeTypes.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/mimetype/MimeTypes.kt index e7962f8bd6..3901a32059 100644 --- a/libraries/core/src/main/kotlin/io/element/android/libraries/core/mimetype/MimeTypes.kt +++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/mimetype/MimeTypes.kt @@ -63,4 +63,17 @@ object MimeTypes { val subType = components.last() return subType.isNotBlank() && subType != "*" } + + /** + * A mime type with a wildcard subtype is a filter, not a media type, so replace it with a + * concrete default for its top level type. + */ + fun String?.ensureDefaultSubtype(): String = when { + this == null -> OctetStream + hasSubtype(this) -> this + this == Images -> Jpeg + this == Videos -> Mp4 + this == Audio -> Mp3 + else -> OctetStream + } } diff --git a/libraries/core/src/test/kotlin/io/element/android/libraries/core/mimetype/MimeTypesTest.kt b/libraries/core/src/test/kotlin/io/element/android/libraries/core/mimetype/MimeTypesTest.kt new file mode 100644 index 0000000000..f12b73b40b --- /dev/null +++ b/libraries/core/src/test/kotlin/io/element/android/libraries/core/mimetype/MimeTypesTest.kt @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.core.mimetype + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.core.mimetype.MimeTypes.ensureDefaultSubtype +import org.junit.Test + +class MimeTypesTest { + @Test + fun `ensureDefaultSubtype keeps a mime type that already has a subtype`() { + assertThat(MimeTypes.Png.ensureDefaultSubtype()).isEqualTo(MimeTypes.Png) + assertThat(MimeTypes.Mp4.ensureDefaultSubtype()).isEqualTo(MimeTypes.Mp4) + assertThat(MimeTypes.Pdf.ensureDefaultSubtype()).isEqualTo(MimeTypes.Pdf) + } + + @Test + fun `ensureDefaultSubtype replaces a wildcard subtype with a concrete one`() { + assertThat(MimeTypes.Images.ensureDefaultSubtype()).isEqualTo(MimeTypes.Jpeg) + assertThat(MimeTypes.Videos.ensureDefaultSubtype()).isEqualTo(MimeTypes.Mp4) + assertThat(MimeTypes.Audio.ensureDefaultSubtype()).isEqualTo(MimeTypes.Mp3) + } + + @Test + fun `ensureDefaultSubtype falls back to octet stream`() { + assertThat(MimeTypes.Any.ensureDefaultSubtype()).isEqualTo(MimeTypes.OctetStream) + assertThat("text/*".ensureDefaultSubtype()).isEqualTo(MimeTypes.OctetStream) + assertThat(null.ensureDefaultSubtype()).isEqualTo(MimeTypes.OctetStream) + } +} diff --git a/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/KeyStoreSecretKeyRepository.kt b/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/KeyStoreSecretKeyRepository.kt index bcd38695c4..fe27c49f36 100644 --- a/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/KeyStoreSecretKeyRepository.kt +++ b/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/KeyStoreSecretKeyRepository.kt @@ -26,6 +26,8 @@ import java.util.concurrent.ConcurrentHashMap import javax.crypto.KeyGenerator import javax.crypto.SecretKey +internal const val ANDROID_KEYSTORE = "AndroidKeyStore" + /** * Default implementation of [SecretKeyRepository] that uses the Android Keystore to store the keys. * The generated key uses AES algorithm, with a key size of 128 bits, and the GCM block mode. diff --git a/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/CryptographyModule.kt b/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/di/CryptographyBindingContainer.kt similarity index 79% rename from libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/CryptographyModule.kt rename to libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/di/CryptographyBindingContainer.kt index e9a9eb7b34..bdfe6f9e5d 100644 --- a/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/CryptographyModule.kt +++ b/libraries/cryptography/impl/src/main/kotlin/io/element/android/libraries/cryptography/impl/di/CryptographyBindingContainer.kt @@ -6,19 +6,18 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.libraries.cryptography.impl +package io.element.android.libraries.cryptography.impl.di import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.BindingContainer import dev.zacsweers.metro.ContributesTo import dev.zacsweers.metro.Provides +import io.element.android.libraries.cryptography.impl.ANDROID_KEYSTORE import java.security.KeyStore -internal const val ANDROID_KEYSTORE = "AndroidKeyStore" - @ContributesTo(AppScope::class) @BindingContainer -object CryptographyModule { +object CryptographyBindingContainer { @Provides fun providesAndroidKeyStore(): KeyStore { return KeyStore.getInstance(ANDROID_KEYSTORE).apply { diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterBindingContainer.kt similarity index 84% rename from libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt rename to libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterBindingContainer.kt index c80324c149..ee8afe678f 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterBindingContainer.kt @@ -19,7 +19,7 @@ import kotlin.time.Clock @BindingContainer @ContributesTo(AppScope::class) -object DateFormatterModule { +object DateFormatterBindingContainer { @Provides fun providesClock(): Clock = Clock.System @@ -27,5 +27,5 @@ object DateFormatterModule { fun providesLocale(): Locale = Locale.getDefault() @Provides - fun providesTimezone(): TimezoneProvider = TimezoneProvider { TimeZone.currentSystemDefault() } + fun providesTimezoneProvider(): TimezoneProvider = TimezoneProvider { TimeZone.currentSystemDefault() } } diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeProvider.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModePreviewParam.kt similarity index 86% rename from libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeProvider.kt rename to libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModePreviewParam.kt index 48856cad7b..f00911294e 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeProvider.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.libraries.dateformatter.impl.previews import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.dateformatter.api.DateFormatterMode -class DateFormatterModeProvider : PreviewParameterProvider { +class DateFormatterModePreviewParam : PreviewParameterProvider { override val values: Sequence get() = DateFormatterMode.entries.asSequence() } diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt index e3cd9563a8..5e1d35a568 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt @@ -34,7 +34,7 @@ import kotlin.time.Instant @Preview @Composable internal fun DateFormatterModeViewPreview( - @PreviewParameter(DateFormatterModeProvider::class) dateFormatterMode: DateFormatterMode, + @PreviewParameter(DateFormatterModePreviewParam::class) dateFormatterMode: DateFormatterMode, ) = ElementPreview { DateFormatterModeView(dateFormatterMode) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt index 8b0f17177b..08d2f05fbc 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt @@ -134,7 +134,7 @@ enum class ComposerAlertLevel { @PreviewsDayNight @Composable internal fun ComposerAlertMoleculePreview( - @PreviewParameter(ComposerAlertMoleculeParamsProvider::class) params: ComposerAlertMoleculeParams, + @PreviewParameter(ComposerAlertMoleculeParamsPreviewParam::class) params: ComposerAlertMoleculeParams, ) = ElementPreview { ComposerAlertMolecule( avatar = params.avatar, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsPreviewParam.kt similarity index 91% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsPreviewParam.kt index cd1bc8a02b..487cd06dfc 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMoleculeParamsPreviewParam.kt @@ -19,7 +19,7 @@ internal data class ComposerAlertMoleculeParams( val showIcon: Boolean = false, ) -internal class ComposerAlertMoleculeParamsProvider : PreviewParameterProvider { +internal class ComposerAlertMoleculeParamsPreviewParam : PreviewParameterProvider { private val allLevels = sequenceOf( ComposerAlertLevel.Info, ComposerAlertLevel.Critical diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt index 639d365625..cf6329ee66 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt @@ -160,7 +160,7 @@ internal fun BigIconPreview() = ElementPreview { horizontalArrangement = Arrangement.spacedBy(10.dp), verticalArrangement = Arrangement.spacedBy(10.dp), ) { - items(BigIconStyleProvider().values.toList()) { style -> + items(BigIconStylePreviewParam().values.toList()) { style -> Box( contentAlignment = Alignment.Center ) { @@ -170,7 +170,7 @@ internal fun BigIconPreview() = ElementPreview { } } -internal class BigIconStyleProvider : PreviewParameterProvider { +internal class BigIconStylePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( BigIcon.Style.Default(Icons.Filled.CatchingPokemon), diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionPreviewParam.kt similarity index 90% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionPreviewParam.kt index 2f7439e1c8..9fe699b828 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionPreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.libraries.designsystem.components.async import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction -open class AsyncActionProvider : PreviewParameterProvider> { +open class AsyncActionPreviewParam : PreviewParameterProvider> { override val values: Sequence> get() = sequenceOf( AsyncAction.Uninitialized, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt index da1b0fc796..65dc628eb3 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt @@ -82,7 +82,7 @@ object AsyncActionViewDefaults { @PreviewsDayNight @Composable internal fun AsyncActionViewPreview( - @PreviewParameter(AsyncActionProvider::class) async: AsyncAction, + @PreviewParameter(AsyncActionPreviewParam::class) async: AsyncAction, ) = ElementPreview { AsyncActionView( async = async, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarRow.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarRow.kt index 25784aa501..b80105350d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarRow.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarRow.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp -import io.element.android.libraries.designsystem.components.avatar.internal.OverlapRatioProvider +import io.element.android.libraries.designsystem.components.avatar.internal.OverlapRatioPreviewParam import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.text.toPx @@ -110,7 +110,7 @@ fun AvatarRow( @Composable @PreviewsDayNight -internal fun AvatarRowPreview(@PreviewParameter(OverlapRatioProvider::class) overlapRatio: Float) { +internal fun AvatarRowPreview(@PreviewParameter(OverlapRatioPreviewParam::class) overlapRatio: Float) { ElementPreview { ContentToPreview(overlapRatio) } @@ -118,7 +118,7 @@ internal fun AvatarRowPreview(@PreviewParameter(OverlapRatioProvider::class) ove @Composable @PreviewsDayNight -internal fun AvatarRowLastOnTopPreview(@PreviewParameter(OverlapRatioProvider::class) overlapRatio: Float) { +internal fun AvatarRowLastOnTopPreview(@PreviewParameter(OverlapRatioPreviewParam::class) overlapRatio: Float) { ElementPreview { ContentToPreview( overlapRatio = overlapRatio, @@ -129,7 +129,7 @@ internal fun AvatarRowLastOnTopPreview(@PreviewParameter(OverlapRatioProvider::c @Composable @PreviewsDayNight -internal fun AvatarRowRtlPreview(@PreviewParameter(OverlapRatioProvider::class) overlapRatio: Float) { +internal fun AvatarRowRtlPreview(@PreviewParameter(OverlapRatioPreviewParam::class) overlapRatio: Float) { CompositionLocalProvider( LocalLayoutDirection provides LayoutDirection.Rtl, ) { @@ -141,7 +141,7 @@ internal fun AvatarRowRtlPreview(@PreviewParameter(OverlapRatioProvider::class) @Composable @PreviewsDayNight -internal fun AvatarRowLastOnTopRtlPreview(@PreviewParameter(OverlapRatioProvider::class) overlapRatio: Float) { +internal fun AvatarRowLastOnTopRtlPreview(@PreviewParameter(OverlapRatioPreviewParam::class) overlapRatio: Float) { CompositionLocalProvider( LocalLayoutDirection provides LayoutDirection.Rtl, ) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioPreviewParam.kt similarity index 88% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioPreviewParam.kt index 26a76c2fac..90f9c7c1c2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/internal/OverlapRatioPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.designsystem.components.avatar.internal import androidx.compose.ui.tooling.preview.PreviewParameterProvider -class OverlapRatioProvider : PreviewParameterProvider { +class OverlapRatioPreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( 0f, 0.25f, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorPreviewParam.kt similarity index 89% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorPreviewParam.kt index c1bf2b9112..530452cd60 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorPreviewParam.kt @@ -13,7 +13,7 @@ import androidx.compose.material.icons.filled.BugReport import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class ImageVectorProvider : PreviewParameterProvider { +open class ImageVectorPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( Icons.Default.BugReport, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt index 59e818c18a..5a2e3518f2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt @@ -86,7 +86,7 @@ private fun PreferenceIcon( @Preview(group = PreviewGroup.Preferences) @Composable -internal fun PreferenceIconPreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) = +internal fun PreferenceIconPreview(@PreviewParameter(ImageVectorPreviewParam::class) content: ImageVector?) = ElementThemedPreview { PreferenceIcon( icon = content, @@ -96,7 +96,7 @@ internal fun PreferenceIconPreview(@PreviewParameter(ImageVectorProvider::class) @Preview(group = PreviewGroup.Preferences) @Composable -internal fun PreferenceIconWithBadgePreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) = +internal fun PreferenceIconWithBadgePreview(@PreviewParameter(ImageVectorPreviewParam::class) content: ImageVector?) = ElementThemedPreview { PreferenceIcon( icon = content, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParam.kt similarity index 86% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParam.kt index c50e20dd66..05715464b5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class BooleanProvider : PreviewParameterProvider { +open class BooleanPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf(true, false) } diff --git a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStatePreviewParam.kt similarity index 96% rename from libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt rename to libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStatePreviewParam.kt index 964e0f3b78..e649670da4 100644 --- a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt +++ b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStatePreviewParam.kt @@ -19,7 +19,7 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -internal class DefaultEmojiPickerStateProvider : PreviewParameterProvider { +internal class DefaultEmojiPickerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aDefaultEmojiPickerState(), diff --git a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/EmojiPickerView.kt b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/EmojiPickerView.kt index 88faa3a19a..c41cbb3b57 100644 --- a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/EmojiPickerView.kt +++ b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/EmojiPickerView.kt @@ -166,7 +166,7 @@ private fun EmojiResults( @PreviewsDayNight @Composable -internal fun EmojiPickerViewPreview(@PreviewParameter(DefaultEmojiPickerStateProvider::class) state: DefaultEmojiPickerState) = ElementPreview { +internal fun EmojiPickerViewPreview(@PreviewParameter(DefaultEmojiPickerStatePreviewParam::class) state: DefaultEmojiPickerState) = ElementPreview { EmojiPickerView( state = state, onSelectEmoji = {}, diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index 79b63f4455..4a8894e99c 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -152,13 +152,6 @@ enum class FeatureFlags( defaultValue = { false }, isFinished = false, ), - UserStatus( - key = "feature.user_status", - title = "User status", - description = "Allow users to set a status (e.g. In a meeting, Away) visible to their contacts.", - defaultValue = { false }, - isFinished = false, - ), MessageSearch( key = "feature.message_search", title = "Message search", diff --git a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagModule.kt b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagBindingContainer.kt similarity index 96% rename from libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagModule.kt rename to libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagBindingContainer.kt index de3f8aa519..be4fa6f23f 100644 --- a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagModule.kt +++ b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/di/FeatureFlagBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.featureflag.impl.PreferencesFeatureFlagProvi @BindingContainer @ContributesTo(AppScope::class) -object FeatureFlagModule { +object FeatureFlagBindingContainer { @JvmStatic @Provides @ElementsIntoSet diff --git a/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentBindingContainer.kt similarity index 95% rename from libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt rename to libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentBindingContainer.kt index 249485b15c..ae43cebd46 100644 --- a/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt +++ b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentBindingContainer.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.fullscreenintent.impl.FullScreenIntentPermis @ContributesTo(AppScope::class) @BindingContainer -interface FullScreenIntentModule { +interface FullScreenIntentBindingContainer { @Binds fun bindFullScreenIntentPermissionsPresenter(presenter: FullScreenIntentPermissionsPresenter): Presenter } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomModule.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomBindingContainer.kt similarity index 96% rename from libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomModule.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomBindingContainer.kt index af6f0325d3..d598f85bad 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomModule.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/RoomBindingContainer.kt @@ -18,7 +18,7 @@ import kotlinx.coroutines.CoroutineScope @BindingContainer @ContributesTo(RoomScope::class) -object RoomModule { +object RoomBindingContainer { @RoomCoroutineScope @Provides fun providesSessionCoroutineScope(room: BaseRoom): CoroutineScope { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixModule.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixBindingContainer.kt similarity index 94% rename from libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixModule.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixBindingContainer.kt index f6ea8019e3..f50c0a04cc 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixModule.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/SessionMatrixBindingContainer.kt @@ -34,7 +34,7 @@ import kotlinx.coroutines.CoroutineScope @BindingContainer @ContributesTo(SessionScope::class) -object SessionMatrixModule { +object SessionMatrixBindingContainer { @Provides fun providesSessionId(matrixClient: MatrixClient): SessionId { return matrixClient.sessionId @@ -56,7 +56,7 @@ object SessionMatrixModule { } @Provides - fun provideRoomMembershipObserver(matrixClient: MatrixClient): RoomMembershipObserver { + fun providesRoomMembershipObserver(matrixClient: MatrixClient): RoomMembershipObserver { return matrixClient.roomMembershipObserver } @@ -112,7 +112,7 @@ object SessionMatrixModule { } @Provides - fun providesGetUrlResolverClient(matrixClient: MatrixClient): ClientUrlContentFetcher { + fun providesClientUrlContentFetcher(matrixClient: MatrixClient): ClientUrlContentFetcher { return matrixClient } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt index d1401d2624..7b3a1d9f10 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt @@ -11,7 +11,7 @@ package io.element.android.libraries.matrix.impl.media import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.extensions.mapFailure import io.element.android.libraries.core.extensions.runCatchingExceptions -import io.element.android.libraries.core.mimetype.MimeTypes +import io.element.android.libraries.core.mimetype.MimeTypes.ensureDefaultSubtype import io.element.android.libraries.matrix.api.media.MatrixMediaLoader import io.element.android.libraries.matrix.api.media.MediaFile import io.element.android.libraries.matrix.api.media.MediaSource @@ -71,15 +71,8 @@ class RustMediaLoader( val mediaFile = innerClient.getMediaFile( mediaSource = mediaSource, filename = filename, - mimeType = when { - mimeType == null -> MimeTypes.OctetStream - MimeTypes.hasSubtype(mimeType) -> mimeType - // Fallback to a default mime type based on the main type, so that the SDK can create a file with the correct extension. - mimeType == MimeTypes.Images -> MimeTypes.Jpeg - mimeType == MimeTypes.Videos -> MimeTypes.Mp4 - mimeType == MimeTypes.Audio -> MimeTypes.Mp3 - else -> MimeTypes.OctetStream - }, + // Fallback to a default mime type based on the main type, so that the SDK can create a file with the correct extension. + mimeType = mimeType.ensureDefaultSubtype(), useCache = useCache, tempDir = cacheDirectory.path, ) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt index ebc8790a8a..38c5732875 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt @@ -132,7 +132,7 @@ data class AttachmentThumbnailInfo( @PreviewsDayNight @Composable -internal fun AttachmentThumbnailPreview(@PreviewParameter(AttachmentThumbnailInfoProvider::class) data: AttachmentThumbnailInfo) = ElementPreview { +internal fun AttachmentThumbnailPreview(@PreviewParameter(AttachmentThumbnailInfoPreviewParam::class) data: AttachmentThumbnailInfo) = ElementPreview { AttachmentThumbnail( info = data, modifier = Modifier diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoPreviewParam.kt similarity index 94% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoPreviewParam.kt index ea38a979ae..1509ac2144 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnailInfoPreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.libraries.matrix.ui.components import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.matrix.api.media.MediaSource -open class AttachmentThumbnailInfoProvider : PreviewParameterProvider { +open class AttachmentThumbnailInfoPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAttachmentThumbnailInfo(type = AttachmentThumbnailType.Image), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt index 598d7f2ca7..45835ed479 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/CreateDmConfirmationBottomSheet.kt @@ -158,7 +158,7 @@ fun CreateDmConfirmationBottomSheet( @Composable internal fun CreateDmConfirmationBottomSheetPreview( @PreviewParameter( - CreateDmConfirmationBottomSheetStateProvider::class + CreateDmConfirmationBottomSheetStatePreviewParam::class ) state: CreateDmConfirmationBottomSheetState ) = ElementPreview(fillMaxSize = true) { CreateDmConfirmationBottomSheet( @@ -174,7 +174,7 @@ data class CreateDmConfirmationBottomSheetState( val isUserIdentityUnknown: Boolean, ) -class CreateDmConfirmationBottomSheetStateProvider : PreviewParameterProvider { +class CreateDmConfirmationBottomSheetStatePreviewParam : PreviewParameterProvider { override val values = sequenceOf( CreateDmConfirmationBottomSheetState(matrixUser = aMatrixUser(), isUserIdentityUnknown = false), CreateDmConfirmationBottomSheetState(matrixUser = aMatrixUser(), isUserIdentityUnknown = true), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt index 89b0532580..188a8bc1a4 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt @@ -79,6 +79,6 @@ fun MatrixUserHeader( @PreviewsDayNight @Composable -internal fun MatrixUserHeaderPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreview { +internal fun MatrixUserHeaderPreview(@PreviewParameter(MatrixUserPreviewParam::class) matrixUser: MatrixUser) = ElementPreview { MatrixUserHeader(matrixUser) } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParam.kt similarity index 94% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParam.kt index 7bc7d00f09..034570310e 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParam.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.user.DisplayedStatus import io.element.android.libraries.matrix.api.user.MatrixUser -open class MatrixUserProvider : PreviewParameterProvider { +open class MatrixUserPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMatrixUser(), @@ -33,7 +33,7 @@ open class MatrixUserProvider : PreviewParameterProvider { ) } -open class MatrixUserWithAvatarProvider : PreviewParameterProvider { +open class MatrixUserWithAvatarPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMatrixUser(displayName = USER_NAME_JOHN_DOE), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt index 9fc7ea7b4a..2a202486a3 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt @@ -46,6 +46,6 @@ fun MatrixUserRow( @PreviewsDayNight @Composable -internal fun MatrixUserRowPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreview { +internal fun MatrixUserRowPreview(@PreviewParameter(MatrixUserPreviewParam::class) matrixUser: MatrixUser) = ElementPreview { MatrixUserRow(matrixUser) } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoPreviewParam.kt similarity index 95% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoPreviewParam.kt index c6a4b9d474..e205bac1dd 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectRoomInfoPreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.ui.model.SelectRoomInfo import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -class SelectRoomInfoProvider : PreviewParameterProvider { +class SelectRoomInfoPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSelectRoomInfo(roomId = RoomId("!room1:domain")), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt index b7484903da..9ebaa5b22c 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt @@ -51,7 +51,7 @@ fun SelectedRoom( @PreviewsDayNight @Composable internal fun SelectedRoomPreview( - @PreviewParameter(SelectRoomInfoProvider::class) roomInfo: SelectRoomInfo + @PreviewParameter(SelectRoomInfoPreviewParam::class) roomInfo: SelectRoomInfo ) = ElementPreview { SelectedRoom( roomInfo = roomInfo, @@ -62,7 +62,7 @@ internal fun SelectedRoomPreview( @PreviewsDayNight @Composable internal fun SelectedRoomRtlPreview( - @PreviewParameter(SelectRoomInfoProvider::class) roomInfo: SelectRoomInfo + @PreviewParameter(SelectRoomInfoPreviewParam::class) roomInfo: SelectRoomInfo ) = CompositionLocalProvider( LocalLayoutDirection provides LayoutDirection.Rtl, ) { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt index 17ec7c6ec7..ce8c047cef 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt @@ -44,7 +44,7 @@ fun SelectedUser( @PreviewsDayNight @Composable -internal fun SelectedUserPreview(@PreviewParameter(MatrixUserWithAvatarProvider::class) user: MatrixUser) = ElementPreview { +internal fun SelectedUserPreview(@PreviewParameter(MatrixUserWithAvatarPreviewParam::class) user: MatrixUser) = ElementPreview { SelectedUser( matrixUser = user, canRemove = true, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt index d3824f9eec..d10698662f 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt @@ -210,7 +210,7 @@ private fun SpaceRoomItemScaffold( @Composable @PreviewsDayNight -internal fun SpaceRoomItemViewPreview(@PreviewParameter(SpaceRoomProvider::class) spaceRoom: SpaceRoom) = ElementPreview { +internal fun SpaceRoomItemViewPreview(@PreviewParameter(SpaceRoomPreviewParam::class) spaceRoom: SpaceRoom) = ElementPreview { SpaceRoomItemView( spaceRoom = spaceRoom, showUnreadIndicator = spaceRoom.state == CurrentUserMembership.INVITED, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomPreviewParam.kt similarity index 97% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomPreviewParam.kt index d6a582d83c..0eddafd9da 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomPreviewParam.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.matrix.api.room.RoomType import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.previewutils.room.aSpaceRoom -class SpaceRoomProvider : PreviewParameterProvider { +class SpaceRoomPreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( aSpaceRoom( roomType = RoomType.Room, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsPreviewParam.kt similarity index 93% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsPreviewParam.kt index b335ef9609..1b48e0eb9b 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToDetailsPreviewParam.kt @@ -32,10 +32,11 @@ import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageTy import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType +import io.element.android.libraries.matrix.api.user.DisplayedStatus import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentMapOf -open class InReplyToDetailsProvider : PreviewParameterProvider { +open class InReplyToDetailsPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMessageContent( @@ -99,7 +100,7 @@ open class InReplyToDetailsProvider : PreviewParameterProvider } } -class InReplyToDetailsDisambiguatedProvider : InReplyToDetailsProvider() { +class InReplyToDetailsDisambiguatedPreviewParam : InReplyToDetailsPreviewParam() { override val values: Sequence get() = sequenceOf( aMessageContent( @@ -114,7 +115,7 @@ class InReplyToDetailsDisambiguatedProvider : InReplyToDetailsProvider() { } } -class InReplyToDetailsInformativeProvider : InReplyToDetailsProvider() { +class InReplyToDetailsInformativePreviewParam : InReplyToDetailsPreviewParam() { override val values: Sequence get() = sequenceOf( RedactedContent, @@ -126,7 +127,7 @@ class InReplyToDetailsInformativeProvider : InReplyToDetailsProvider() { } } -class InReplyToDetailsOtherProvider : InReplyToDetailsProvider() { +class InReplyToDetailsOtherPreviewParam : InReplyToDetailsPreviewParam() { override val values: Sequence get() = sequenceOf( InReplyToDetails.Loading(eventId = EventId("\$anEventId")), @@ -163,9 +164,10 @@ fun aProfileDetailsReady( displayName: String? = USER_NAME_SENDER, displayNameAmbiguous: Boolean = false, avatarUrl: String? = null, + displayedStatus: DisplayedStatus? = null ) = ProfileDetails.Ready( displayName = displayName, displayNameAmbiguous = displayNameAmbiguous, avatarUrl = avatarUrl, - displayedStatus = null, + displayedStatus = displayedStatus, ) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt index 45a9ef2427..8cdc3ae24c 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt @@ -236,7 +236,7 @@ private fun ReplyToNotFoundContent( @PreviewsDayNight @Composable -internal fun InReplyToViewPreview(@PreviewParameter(provider = InReplyToDetailsProvider::class) inReplyTo: InReplyToDetails) = ElementPreview { +internal fun InReplyToViewPreview(@PreviewParameter(provider = InReplyToDetailsPreviewParam::class) inReplyTo: InReplyToDetails) = ElementPreview { InReplyToView( inReplyTo = inReplyTo, hideImage = false, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderName.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderName.kt index 42432c6950..7cd066d0ce 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderName.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderName.kt @@ -9,12 +9,15 @@ package io.element.android.libraries.matrix.ui.messages.sender import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clipToBounds +import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp @@ -24,7 +27,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails -import io.element.android.libraries.matrix.ui.model.toText +import io.element.android.libraries.matrix.ui.model.toEmojiText // https://www.figma.com/file/Ni6Ii8YKtmXCKYNE90cC67/Timeline-(new)?type=design&node-id=917-80169&mode=design&t=A0CJCBbMqR8NOwUQ-0 @Composable @@ -61,7 +64,7 @@ fun SenderName( modifier = Modifier .clipToBounds() .alignByBaseline(), - text = userStatus.toText(), + text = userStatus.toEmojiText(), style = ElementTheme.typography.fontBodyMdMedium, color = ElementTheme.colors.textSecondary, maxLines = 1, @@ -134,11 +137,29 @@ private fun RowScope.SecondaryText( @PreviewsDayNight @Composable internal fun SenderNamePreview( - @PreviewParameter(SenderNameDataProvider::class) senderNameData: SenderNameData, + @PreviewParameter(SenderNameDataPreviewParam::class) senderNameData: SenderNameData, ) = ElementPreview { - SenderName( - senderId = senderNameData.userId, - senderProfile = senderNameData.profileDetails, - senderNameMode = senderNameData.senderNameMode, - ) + Column( + modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + sequenceOf( + SenderNameMode.Timeline(mainColor = Color.Red), + SenderNameMode.Reply, + SenderNameMode.ActionList, + ).forEach { mode -> + Column { + Text( + "Rendering in mode ${mode::class.simpleName}:", + style = ElementTheme.typography.fontBodyXsRegular, + color = ElementTheme.colors.textSecondary, + ) + SenderName( + senderId = senderNameData.userId, + senderProfile = senderNameData.profileDetails, + senderNameMode = mode, + ) + } + } + } } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataPreviewParam.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataPreviewParam.kt new file mode 100644 index 0000000000..103cb6a4f0 --- /dev/null +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataPreviewParam.kt @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2025 Element Creations Ltd. + * Copyright 2024, 2025 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.matrix.ui.messages.sender + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails +import io.element.android.libraries.matrix.api.user.DisplayedStatus +import io.element.android.libraries.matrix.api.user.UserStatus +import io.element.android.libraries.matrix.ui.messages.reply.aProfileDetailsReady + +data class SenderNameData( + val userId: UserId, + val profileDetails: ProfileDetails, +) + +open class SenderNameDataPreviewParam : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aSenderNameData(), + aSenderNameData( + displayNameAmbiguous = true, + ), + aSenderNameData( + profileDetails = ProfileDetails.Unavailable, + ), + aSenderNameData( + displayName = null, + ), + aSenderNameData( + displayedStatus = DisplayedStatus.UserSet( + status = UserStatus( + emoji = "😀", + text = "Should not be rendered", + ), + ), + ), + aSenderNameData( + displayedStatus = DisplayedStatus.InCall(0L), + ), + aSenderNameData( + displayNameAmbiguous = true, + displayedStatus = DisplayedStatus.UserSet( + status = UserStatus( + emoji = "😀", + text = "Should not be rendered", + ), + ), + ), + ) +} + +private fun aSenderNameData( + userId: UserId = UserId("@alice:example.com"), + displayName: String? = "Alice", + displayNameAmbiguous: Boolean = false, + displayedStatus: DisplayedStatus? = null, + profileDetails: ProfileDetails = aProfileDetailsReady( + displayName = displayName, + displayNameAmbiguous = displayNameAmbiguous, + displayedStatus = displayedStatus, + ) +) = SenderNameData( + userId = userId, + profileDetails = profileDetails, +) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataProvider.kt deleted file mode 100644 index e4ca73e69c..0000000000 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/sender/SenderNameDataProvider.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2025 Element Creations Ltd. - * Copyright 2024, 2025 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. - * Please see LICENSE files in the repository root for full details. - */ - -package io.element.android.libraries.matrix.ui.messages.sender - -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails -import io.element.android.libraries.matrix.api.user.DisplayedStatus - -data class SenderNameData( - val userId: UserId, - val profileDetails: ProfileDetails, - val senderNameMode: SenderNameMode, -) - -open class SenderNameDataProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - SenderNameMode.Timeline(mainColor = Color.Red), - SenderNameMode.Reply, - SenderNameMode.ActionList, - ) - .flatMap { senderNameMode -> - sequenceOf( - aSenderNameData( - senderNameMode = senderNameMode, - ), - aSenderNameData( - senderNameMode = senderNameMode, - displayNameAmbiguous = true, - ), - SenderNameData( - senderNameMode = senderNameMode, - userId = UserId("@alice:${senderNameMode.javaClass.simpleName.lowercase()}"), - profileDetails = ProfileDetails.Unavailable, - ), - ) - } -} - -private fun aSenderNameData( - senderNameMode: SenderNameMode, - displayNameAmbiguous: Boolean = false, - displayedStatus: DisplayedStatus? = null, -) = SenderNameData( - userId = UserId("@alice:${senderNameMode.javaClass.simpleName.lowercase()}"), - profileDetails = ProfileDetails.Ready( - displayName = "Alice ${senderNameMode.javaClass.simpleName}", - displayNameAmbiguous = displayNameAmbiguous, - avatarUrl = null, - displayedStatus = displayedStatus, - ), - senderNameMode = senderNameMode, -) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/LoadingRoomState.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/LoadingRoomState.kt index cbbe79b480..cdd1475641 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/LoadingRoomState.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/LoadingRoomState.kt @@ -30,7 +30,7 @@ sealed interface LoadingRoomState { data class Loaded(val room: JoinedRoom) : LoadingRoomState } -open class LoadingRoomStateProvider : PreviewParameterProvider { +open class LoadingRoomStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( LoadingRoomState.Loading, diff --git a/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/SimplePlayer.kt b/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/SimplePlayer.kt index 98ebc5ce50..9bec86e72f 100644 --- a/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/SimplePlayer.kt +++ b/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/SimplePlayer.kt @@ -8,16 +8,8 @@ package io.element.android.libraries.mediaplayer.impl -import android.content.Context -import androidx.media3.common.C import androidx.media3.common.MediaItem import androidx.media3.common.Player -import androidx.media3.exoplayer.ExoPlayer -import dev.zacsweers.metro.BindingContainer -import dev.zacsweers.metro.ContributesTo -import dev.zacsweers.metro.Provides -import io.element.android.libraries.di.RoomScope -import io.element.android.libraries.di.annotations.ApplicationContext /** * A subset of media3 [Player] that only exposes the few methods we need making it easier to mock. @@ -44,15 +36,6 @@ interface SimplePlayer { } } -@ContributesTo(RoomScope::class) -@BindingContainer -object SimplePlayerModule { - @Provides - fun simplePlayerProvider( - @ApplicationContext context: Context, - ): SimplePlayer = DefaultSimplePlayer(ExoPlayer.Builder(context).setWakeMode(C.WAKE_MODE_LOCAL).build()) -} - /** * Default implementation of [SimplePlayer] backed by a media3 [Player]. */ diff --git a/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/di/SimplePlayerBindingContainer.kt b/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/di/SimplePlayerBindingContainer.kt new file mode 100644 index 0000000000..85518e58fd --- /dev/null +++ b/libraries/mediaplayer/impl/src/main/kotlin/io/element/android/libraries/mediaplayer/impl/di/SimplePlayerBindingContainer.kt @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.mediaplayer.impl.di + +import android.content.Context +import androidx.media3.common.C +import androidx.media3.exoplayer.ExoPlayer +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.Provides +import io.element.android.libraries.di.RoomScope +import io.element.android.libraries.di.annotations.ApplicationContext +import io.element.android.libraries.mediaplayer.impl.DefaultSimplePlayer +import io.element.android.libraries.mediaplayer.impl.SimplePlayer + +@ContributesTo(RoomScope::class) +@BindingContainer +object SimplePlayerBindingContainer { + @Provides + fun providesSimplePlayer( + @ApplicationContext context: Context, + ): SimplePlayer = DefaultSimplePlayer(ExoPlayer.Builder(context).setWakeMode(C.WAKE_MODE_LOCAL).build()) +} diff --git a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessor.kt b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessor.kt index fa478edde7..36c5208603 100644 --- a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessor.kt +++ b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessor.kt @@ -26,6 +26,7 @@ import io.element.android.libraries.core.data.tryOrNull import io.element.android.libraries.core.extensions.mapFailure import io.element.android.libraries.core.extensions.runCatchingExceptions import io.element.android.libraries.core.mimetype.MimeTypes +import io.element.android.libraries.core.mimetype.MimeTypes.ensureDefaultSubtype import io.element.android.libraries.core.mimetype.MimeTypes.isMimeTypeAudio import io.element.android.libraries.core.mimetype.MimeTypes.isMimeTypeImage import io.element.android.libraries.core.mimetype.MimeTypes.isMimeTypeVideo @@ -82,16 +83,17 @@ class AndroidMediaPreProcessor( mediaOptimizationConfig: MediaOptimizationConfig, ): Result = withContext(coroutineDispatchers.computation) { runCatchingExceptions { + val resolvedMimeType = mimeType.ensureDefaultSubtype() val result = when { - mimeType == MimeTypes.Svg -> processSvgImage(uri, mimeType) - mimeType.isMimeTypeImage() -> { - val imageMimeType = resolveImageMimeType(uri, mimeType) + resolvedMimeType == MimeTypes.Svg -> processSvgImage(uri, resolvedMimeType) + resolvedMimeType.isMimeTypeImage() -> { + val imageMimeType = resolveImageMimeType(uri, mimeType).ensureDefaultSubtype() val shouldBeCompressed = mediaOptimizationConfig.compressImages && imageMimeType !in notCompressibleImageTypes processImage(uri, imageMimeType, shouldBeCompressed) } - mimeType.isMimeTypeVideo() -> processVideo(uri, mimeType, mediaOptimizationConfig.videoCompressionPreset) - mimeType.isMimeTypeAudio() -> processAudio(uri, mimeType) - else -> processFile(uri, mimeType) + resolvedMimeType.isMimeTypeVideo() -> processVideo(uri, resolvedMimeType, mediaOptimizationConfig.videoCompressionPreset) + resolvedMimeType.isMimeTypeAudio() -> processAudio(uri, resolvedMimeType) + else -> processFile(uri, resolvedMimeType) } if (deleteOriginal) { tryOrNull { diff --git a/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt b/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt index 9ea3921258..090cf11674 100644 --- a/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt +++ b/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt @@ -65,6 +65,20 @@ class AndroidMediaPreProcessorTest : RobolectricTest() { assertThat(height).isEqualTo(2268) } + @Test + fun `test processing an image shared with a wildcard mime type`() = runTest { + val mediaUploadInfo = process( + asset = assetImageJpeg, + mimeType = MimeTypes.Images, + mediaOptimizationConfig = MediaOptimizationConfig( + compressImages = true, + videoCompressionPreset = VideoCompressionPreset.STANDARD, + ), + ) + val info = mediaUploadInfo as MediaUploadInfo.Image + assertThat(info.imageInfo.mimetype).isEqualTo(MimeTypes.Jpeg) + } + private suspend fun TestScope.process( asset: Asset, mediaOptimizationConfig: MediaOptimizationConfig, @@ -124,7 +138,7 @@ class AndroidMediaPreProcessorTest : RobolectricTest() { } @Test - fun `a file that is not an image keeps the wildcard mime type it was shared with`() = runTest { + fun `a file that is not an image falls back to the default subtype of the wildcard it was shared with`() = runTest { val mediaUploadInfo = process( asset = assetText, mimeType = MimeTypes.Images, @@ -135,7 +149,7 @@ class AndroidMediaPreProcessorTest : RobolectricTest() { sdkIntVersion = Build.VERSION_CODES.Q, ) val info = mediaUploadInfo as MediaUploadInfo.Image - assertThat(info.imageInfo.mimetype).isEqualTo(MimeTypes.Images) + assertThat(info.imageInfo.mimetype).isEqualTo(MimeTypes.Jpeg) } @Test diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationPreviewParam.kt similarity index 90% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationPreviewParam.kt index 72b16c4e1d..449ab1c5c3 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationPreviewParam.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.api.anImageMediaInfo -open class MediaBottomSheetStateDeleteConfirmationProvider : PreviewParameterProvider { +open class MediaBottomSheetStateDeleteConfirmationPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaBottomSheetStateDeleteConfirmation(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsPreviewParam.kt similarity index 93% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsPreviewParam.kt index 7540d49b8a..a38c5c2ac9 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsPreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.api.anApkMediaInfo import io.element.android.libraries.mediaviewer.api.anImageMediaInfo -open class MediaBottomSheetStateDetailsProvider : PreviewParameterProvider { +open class MediaBottomSheetStateDetailsPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaBottomSheetStateDetails(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt index 38bbb4dcf0..6aff6cf136 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt @@ -168,7 +168,7 @@ private fun MediaRow( @PreviewsDayNight @Composable internal fun MediaDeleteConfirmationBottomSheetPreview( - @PreviewParameter(provider = MediaBottomSheetStateDeleteConfirmationProvider::class) state: MediaBottomSheetState.DeleteConfirmation, + @PreviewParameter(provider = MediaBottomSheetStateDeleteConfirmationPreviewParam::class) state: MediaBottomSheetState.DeleteConfirmation, ) = ElementPreview(fillMaxSize = true) { MediaDeleteConfirmationBottomSheet( state = state, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt index 35d056dc39..f4b35a78ff 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt @@ -266,7 +266,7 @@ private fun SectionText( @PreviewsDayNight @Composable internal fun MediaDetailsBottomSheetPreview( - @PreviewParameter(MediaBottomSheetStateDetailsProvider::class) state: MediaBottomSheetState.Details, + @PreviewParameter(MediaBottomSheetStateDetailsPreviewParam::class) state: MediaBottomSheetState.Details, ) = ElementPreview(fillMaxSize = true) { MediaDetailsBottomSheet( state = state, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStatePreviewParam.kt similarity index 98% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStatePreviewParam.kt index 43a361ac29..6d90fff26a 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStatePreviewParam.kt @@ -28,7 +28,7 @@ import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVideo import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice import kotlinx.collections.immutable.toImmutableList -open class MediaGalleryStateProvider : PreviewParameterProvider { +open class MediaGalleryStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaGalleryState( diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryView.kt index 441b6082dd..132fb4af91 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryView.kt @@ -597,7 +597,7 @@ private fun LoadingContent( @PreviewsDayNight @Composable internal fun MediaGalleryViewPreview( - @PreviewParameter(MediaGalleryStateProvider::class) state: MediaGalleryState + @PreviewParameter(MediaGalleryStatePreviewParam::class) state: MediaGalleryState ) = ElementPreview { CompositionLocalProvider( LocalMediaItemPresenterFactories provides aFakeMediaItemPresenterFactories(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactories.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactories.kt index b74debc177..94c5485130 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactories.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactories.kt @@ -10,28 +10,13 @@ package io.element.android.libraries.mediaviewer.impl.gallery.di import androidx.compose.runtime.Composable import androidx.compose.runtime.remember -import dev.zacsweers.metro.BindingContainer -import dev.zacsweers.metro.ContributesTo import dev.zacsweers.metro.Inject -import dev.zacsweers.metro.Multibinds import dev.zacsweers.metro.SingleIn import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope import io.element.android.libraries.mediaviewer.impl.model.MediaItem import kotlin.reflect.KClass -/** - * Container that declares the [MediaItemPresenterFactory] map multi binding. - * - * Its sole purpose is to support the case of an empty map multibinding. - */ -@BindingContainer -@ContributesTo(RoomScope::class) -interface MediaItemPresenterFactoriesModule { - @Multibinds - fun multiBindMediaItemPresenterFactories(): @JvmSuppressWildcards Map, MediaItemPresenterFactory<*, *>> -} - /** * Room level caching layer for the [MediaItemPresenterFactory] instances. * diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactoriesBindingContainer.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactoriesBindingContainer.kt new file mode 100644 index 0000000000..2ab533aeca --- /dev/null +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/di/MediaItemPresenterFactoriesBindingContainer.kt @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.mediaviewer.impl.gallery.di + +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.Multibinds +import io.element.android.libraries.di.RoomScope +import io.element.android.libraries.mediaviewer.impl.model.MediaItem +import kotlin.reflect.KClass + +/** + * Container that declares the [MediaItemPresenterFactory] map multi binding. + * + * Its sole purpose is to support the case of an empty map multibinding. + */ +@BindingContainer +@ContributesTo(RoomScope::class) +interface MediaItemPresenterFactoriesBindingContainer { + @Multibinds + fun multiBindMediaItemPresenterFactories(): @JvmSuppressWildcards Map, MediaItemPresenterFactory<*, *>> +} diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/AudioItemView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/AudioItemView.kt index cda8422e33..36d1c2de35 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/AudioItemView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/AudioItemView.kt @@ -46,7 +46,7 @@ fun AudioItemView( @PreviewsDayNight @Composable internal fun AudioItemViewPreview( - @PreviewParameter(MediaItemAudioProvider::class) audio: MediaItem.Audio, + @PreviewParameter(MediaItemAudioPreviewParam::class) audio: MediaItem.Audio, ) = ElementPreview { val states = remember { listOf( diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/DateItemView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/DateItemView.kt index b04b25a53e..8f86c86523 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/DateItemView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/DateItemView.kt @@ -45,7 +45,7 @@ fun DateItemView( @PreviewsDayNight @Composable internal fun DateItemViewPreview( - @PreviewParameter(MediaItemDateSeparatorProvider::class) date: MediaItem.DateSeparator, + @PreviewParameter(MediaItemDateSeparatorPreviewParam::class) date: MediaItem.DateSeparator, ) = ElementPreview { DateItemView(date) } diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/FileItemView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/FileItemView.kt index b552c374b9..1919eea459 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/FileItemView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/FileItemView.kt @@ -46,7 +46,7 @@ fun FileItemView( @PreviewsDayNight @Composable internal fun FileItemViewPreview( - @PreviewParameter(MediaItemFileProvider::class) file: MediaItem.File, + @PreviewParameter(MediaItemFilePreviewParam::class) file: MediaItem.File, ) = ElementPreview { val states = remember { listOf( diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioPreviewParam.kt similarity index 92% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioPreviewParam.kt index 4dfd1c18c8..7d5d39c9bd 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.core.preview.loremIpsum import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.mediaviewer.impl.model.aMediaItemAudio -class MediaItemAudioProvider : PreviewParameterProvider { +class MediaItemAudioPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaItemAudio(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorPreviewParam.kt similarity index 88% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorPreviewParam.kt index 05705a9251..914df563cf 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemDateSeparatorPreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.mediaviewer.impl.model.aMediaItemDateSeparator -class MediaItemDateSeparatorProvider : PreviewParameterProvider { +class MediaItemDateSeparatorPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaItemDateSeparator(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFileProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFilePreviewParam.kt similarity index 92% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFileProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFilePreviewParam.kt index e64b10adb4..f0bd4c4383 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFileProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemFilePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.core.preview.loremIpsum import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile -class MediaItemFileProvider : PreviewParameterProvider { +class MediaItemFilePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaItemFile(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoPreviewParam.kt similarity index 90% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoPreviewParam.kt index c9c4666904..e3e4017e8d 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVideoPreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVideo -class MediaItemVideoProvider : PreviewParameterProvider { +class MediaItemVideoPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaItemVideo(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoiceProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoicePreviewParam.kt similarity index 92% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoiceProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoicePreviewParam.kt index 56c1c4bb32..4f0ec2f3fa 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoiceProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemVoicePreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.core.preview.loremIpsum import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice -class MediaItemVoiceProvider : PreviewParameterProvider { +class MediaItemVoicePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaItemVoice(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VideoItemView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VideoItemView.kt index 3aad3f1061..01d1e29f08 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VideoItemView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VideoItemView.kt @@ -117,7 +117,7 @@ private fun VideoInfoRow( @PreviewsDayNight @Composable internal fun VideoItemViewPreview( - @PreviewParameter(MediaItemVideoProvider::class) video: MediaItem.Video, + @PreviewParameter(MediaItemVideoPreviewParam::class) video: MediaItem.Video, ) = ElementPreview { VideoItemView( video = video, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VoiceItemView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VoiceItemView.kt index 6c9df5fc48..2ffaed7af0 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VoiceItemView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/VoiceItemView.kt @@ -54,7 +54,7 @@ import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.voiceplayer.api.VoiceMessageEvent import io.element.android.libraries.voiceplayer.api.VoiceMessageState -import io.element.android.libraries.voiceplayer.api.VoiceMessageStateProvider +import io.element.android.libraries.voiceplayer.api.VoiceMessageStatePreviewParam import io.element.android.libraries.voiceplayer.api.aVoiceMessageState import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.delay @@ -279,7 +279,7 @@ private fun CustomIconButton( @PreviewsDayNight @Composable internal fun VoiceItemViewPreview( - @PreviewParameter(MediaItemVoiceProvider::class) voice: MediaItem.Voice, + @PreviewParameter(MediaItemVoicePreviewParam::class) voice: MediaItem.Voice, ) = ElementPreview { val states = remember { listOf( @@ -304,7 +304,7 @@ internal fun VoiceItemViewPreview( @PreviewsDayNight @Composable internal fun VoiceItemViewPlayPreview( - @PreviewParameter(VoiceMessageStateProvider::class) state: VoiceMessageState, + @PreviewParameter(VoiceMessageStatePreviewParam::class) state: VoiceMessageState, ) = ElementPreview { val validationState = remember { listOf( diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/VoiceMessagePresenter.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/VoiceMessagePresenter.kt index 32a9b0f74c..2910d28936 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/VoiceMessagePresenter.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/VoiceMessagePresenter.kt @@ -12,28 +12,13 @@ import androidx.compose.runtime.Composable import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedFactory import dev.zacsweers.metro.AssistedInject -import dev.zacsweers.metro.BindingContainer -import dev.zacsweers.metro.Binds -import dev.zacsweers.metro.ContributesTo -import dev.zacsweers.metro.IntoMap import io.element.android.libraries.architecture.Presenter -import io.element.android.libraries.di.RoomScope -import io.element.android.libraries.mediaviewer.impl.gallery.di.MediaItemEventContentKey import io.element.android.libraries.mediaviewer.impl.gallery.di.MediaItemPresenterFactory import io.element.android.libraries.mediaviewer.impl.model.MediaItem import io.element.android.libraries.voiceplayer.api.VoiceMessagePresenterFactory import io.element.android.libraries.voiceplayer.api.VoiceMessageState import kotlin.time.Duration -@BindingContainer -@ContributesTo(RoomScope::class) -interface VoiceMessagePresenterModule { - @Binds - @IntoMap - @MediaItemEventContentKey(MediaItem.Voice::class) - fun bindVoiceMessagePresenterFactory(factory: VoiceMessagePresenter.Factory): MediaItemPresenterFactory<*, *> -} - @AssistedInject class VoiceMessagePresenter( voiceMessagePresenterFactory: VoiceMessagePresenterFactory, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/di/VoiceMessagePresenterBindingContainer.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/di/VoiceMessagePresenterBindingContainer.kt new file mode 100644 index 0000000000..384f48367a --- /dev/null +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/voice/di/VoiceMessagePresenterBindingContainer.kt @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.mediaviewer.impl.gallery.voice.di + +import dev.zacsweers.metro.BindingContainer +import dev.zacsweers.metro.Binds +import dev.zacsweers.metro.ContributesTo +import dev.zacsweers.metro.IntoMap +import io.element.android.libraries.di.RoomScope +import io.element.android.libraries.mediaviewer.impl.gallery.di.MediaItemEventContentKey +import io.element.android.libraries.mediaviewer.impl.gallery.di.MediaItemPresenterFactory +import io.element.android.libraries.mediaviewer.impl.gallery.voice.VoiceMessagePresenter +import io.element.android.libraries.mediaviewer.impl.model.MediaItem + +@BindingContainer +@ContributesTo(RoomScope::class) +interface VoiceMessagePresenterBindingContainer { + @Binds + @IntoMap + @MediaItemEventContentKey(MediaItem.Voice::class) + fun bindVoiceMessagePresenterFactory(factory: VoiceMessagePresenter.Factory): MediaItemPresenterFactory<*, *> +} diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaAudioView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaAudioView.kt index 3ac578196d..4ef746cb89 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaAudioView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaAudioView.kt @@ -393,7 +393,7 @@ private fun AudioInfoView( @PreviewsDayNight @Composable internal fun MediaAudioViewPreview( - @PreviewParameter(MediaInfoAudioProvider::class) info: MediaInfo + @PreviewParameter(MediaInfoAudioPreviewParam::class) info: MediaInfo ) = ElementPreview { MediaAudioView( modifier = Modifier.fillMaxSize(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioPreviewParam.kt similarity index 91% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioPreviewParam.kt index 02607e3e0e..900321a909 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/audio/MediaInfoAudioPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.designsystem.components.media.WaveFormSample import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo -open class MediaInfoAudioProvider : PreviewParameterProvider { +open class MediaInfoAudioPreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( anAudioMediaInfo(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaFileView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaFileView.kt index a1c57ef272..89e02b616a 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaFileView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaFileView.kt @@ -114,7 +114,7 @@ fun MediaFileView( @PreviewsDayNight @Composable internal fun MediaFileViewPreview( - @PreviewParameter(MediaInfoFileProvider::class) info: MediaInfo + @PreviewParameter(MediaInfoFilePreviewParam::class) info: MediaInfo ) = ElementPreview { MediaFileView( modifier = Modifier.fillMaxSize(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFileProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFilePreviewParam.kt similarity index 91% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFileProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFilePreviewParam.kt index 3214236253..b647eb8fd2 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFileProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/file/MediaInfoFilePreviewParam.kt @@ -14,7 +14,7 @@ import io.element.android.libraries.mediaviewer.api.aZipMediaInfo import io.element.android.libraries.mediaviewer.api.anApkMediaInfo import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo -open class MediaInfoFileProvider : PreviewParameterProvider { +open class MediaInfoFilePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aZipMediaInfo(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStatePreviewParam.kt similarity index 92% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStateProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStatePreviewParam.kt index 55432fb817..b229d11283 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.mediaviewer.impl.local.player import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class MediaPlayerControllerStateProvider : PreviewParameterProvider { +open class MediaPlayerControllerStatePreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( aMediaPlayerControllerState(), aMediaPlayerControllerState( diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerView.kt index 1f2b0b93d2..0a68a2d75d 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/player/MediaPlayerControllerView.kt @@ -213,7 +213,7 @@ fun MediaPlayerControllerView( @PreviewsDayNight @Composable internal fun MediaPlayerControllerViewPreview( - @PreviewParameter(MediaPlayerControllerStateProvider::class) state: MediaPlayerControllerState + @PreviewParameter(MediaPlayerControllerStatePreviewParam::class) state: MediaPlayerControllerState ) = ElementPreview { MediaPlayerControllerView( state = state, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentPreviewParam.kt similarity index 89% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentPreviewParam.kt index d92e400495..108f8dd066 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileContentPreviewParam.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.architecture.AsyncData import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class TextFileContentProvider : PreviewParameterProvider>> { +open class TextFileContentPreviewParam : PreviewParameterProvider>> { override val values: Sequence>> get() = sequenceOf( AsyncData.Uninitialized, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileView.kt index f4984470dd..2f397103e8 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/local/txt/TextFileView.kt @@ -98,7 +98,7 @@ private fun TextFileContentView( @PreviewsDayNight @Composable internal fun TextFileContentViewPreview( - @PreviewParameter(TextFileContentProvider::class) text: AsyncData>, + @PreviewParameter(TextFileContentPreviewParam::class) text: AsyncData>, ) = ElementPreview { TextFileContentView( data = text, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStatePreviewParam.kt similarity index 99% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStatePreviewParam.kt index 440d366c30..ea422e41f1 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStatePreviewParam.kt @@ -41,7 +41,7 @@ private const val LONG_CAPTION = "This is a very long caption that should be scr "Line 4: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum. " + "Line 5: Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia." -open class MediaViewerStateProvider : PreviewParameterProvider { +open class MediaViewerStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMediaViewerState(), diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt index e1c1a0c250..343bf99ec9 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt @@ -749,7 +749,7 @@ private fun ErrorView( // Only preview in dark, dark theme is forced on the Node. @Preview @Composable -internal fun MediaViewerViewPreview(@PreviewParameter(MediaViewerStateProvider::class) state: MediaViewerState) = ElementPreviewDark { +internal fun MediaViewerViewPreview(@PreviewParameter(MediaViewerStatePreviewParam::class) state: MediaViewerState) = ElementPreviewDark { MediaViewerView( state = state, audioFocus = null, @@ -760,7 +760,7 @@ internal fun MediaViewerViewPreview(@PreviewParameter(MediaViewerStateProvider:: @Preview(device = "${Devices.PHONE}, orientation=landscape") @Composable -internal fun MediaViewerViewLandscapePreview(@PreviewParameter(MediaViewerStateProvider::class) state: MediaViewerState) = ElementPreviewDark { +internal fun MediaViewerViewLandscapePreview(@PreviewParameter(MediaViewerStatePreviewParam::class) state: MediaViewerState) = ElementPreviewDark { MediaViewerView( state = state, audioFocus = null, diff --git a/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt b/libraries/network/src/main/kotlin/io/element/android/libraries/network/di/NetworkBindingContainer.kt similarity index 95% rename from libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt rename to libraries/network/src/main/kotlin/io/element/android/libraries/network/di/NetworkBindingContainer.kt index 90e78d860e..46f00a6b9b 100644 --- a/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt +++ b/libraries/network/src/main/kotlin/io/element/android/libraries/network/di/NetworkBindingContainer.kt @@ -6,7 +6,7 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.libraries.network +package io.element.android.libraries.network.di import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.BindingContainer @@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit @BindingContainer @ContributesTo(AppScope::class) -object NetworkModule { +object NetworkBindingContainer { @Provides @SingleIn(AppScope::class) fun providesOkHttpClient( diff --git a/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStateProvider.kt b/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStatePreviewParam.kt similarity index 93% rename from libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStateProvider.kt rename to libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStatePreviewParam.kt index a330333d17..9052667578 100644 --- a/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStateProvider.kt +++ b/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsStatePreviewParam.kt @@ -11,7 +11,7 @@ package io.element.android.libraries.permissions.api import android.Manifest import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class PermissionsStateProvider : PreviewParameterProvider { +open class PermissionsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPermissionsState(showDialog = true, permission = Manifest.permission.POST_NOTIFICATIONS), diff --git a/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsView.kt b/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsView.kt index af0f3dd5e8..7a641b1cfd 100644 --- a/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsView.kt +++ b/libraries/permissions/api/src/main/kotlin/io/element/android/libraries/permissions/api/PermissionsView.kt @@ -55,7 +55,7 @@ private fun String.toDialogContent(): String { @PreviewsDayNight @Composable -internal fun PermissionsViewPreview(@PreviewParameter(PermissionsStateProvider::class) state: PermissionsState) = ElementPreview { +internal fun PermissionsViewPreview(@PreviewParameter(PermissionsStatePreviewParam::class) state: PermissionsState) = ElementPreview { PermissionsView( state = state, ) diff --git a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/SessionPreferencesModule.kt b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/di/SessionPreferencesBindingContainer.kt similarity index 84% rename from libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/SessionPreferencesModule.kt rename to libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/di/SessionPreferencesBindingContainer.kt index 43de0b5a62..396c3c7bc0 100644 --- a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/SessionPreferencesModule.kt +++ b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/di/SessionPreferencesBindingContainer.kt @@ -6,7 +6,7 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.libraries.preferences.impl.store +package io.element.android.libraries.preferences.impl.store.di import dev.zacsweers.metro.BindingContainer import dev.zacsweers.metro.ContributesTo @@ -15,11 +15,12 @@ import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.annotations.SessionCoroutineScope import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.preferences.api.store.SessionPreferencesStore +import io.element.android.libraries.preferences.impl.store.DefaultSessionPreferencesStoreFactory import kotlinx.coroutines.CoroutineScope @BindingContainer @ContributesTo(SessionScope::class) -object SessionPreferencesModule { +object SessionPreferencesBindingContainer { @Provides fun providesSessionPreferencesStore( defaultSessionPreferencesStoreFactory: DefaultSessionPreferencesStoreFactory, diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushModule.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushBindingContainer.kt similarity index 88% rename from libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushModule.kt rename to libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushBindingContainer.kt index b7e807523c..2274232406 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushModule.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/di/PushBindingContainer.kt @@ -22,10 +22,10 @@ import io.element.android.libraries.push.impl.battery.BatteryOptimizationPresent @BindingContainer @ContributesTo(AppScope::class) -interface PushModule { +interface PushBindingContainer { companion object { @Provides - fun provideNotificationCompatManager(@ApplicationContext context: Context): NotificationManagerCompat { + fun providesNotificationManagerCompat(@ApplicationContext context: Context): NotificationManagerCompat { return NotificationManagerCompat.from(context) } } diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryModule.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryBindingContainer.kt similarity index 96% rename from libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryModule.kt rename to libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryBindingContainer.kt index 93194b2738..f50b221c58 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryModule.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/history/di/PushHistoryBindingContainer.kt @@ -23,10 +23,10 @@ import timber.log.Timber @BindingContainer @ContributesTo(AppScope::class) -object PushHistoryModule { +object PushHistoryBindingContainer { @Provides @SingleIn(AppScope::class) - fun providePushDatabase( + fun providesPushDatabase( @ApplicationContext context: Context, ): PushDatabase { val name = "push_database" diff --git a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStatePreviewParam.kt similarity index 97% rename from libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt rename to libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStatePreviewParam.kt index c7fa907be2..41fbf93532 100644 --- a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt +++ b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStatePreviewParam.kt @@ -20,7 +20,7 @@ import io.element.android.libraries.roomselect.api.RoomSelectMode import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -open class RoomSelectStateProvider : PreviewParameterProvider { +open class RoomSelectStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomSelectState(), diff --git a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectView.kt b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectView.kt index 357d86dd5a..43b91068f9 100644 --- a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectView.kt +++ b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectView.kt @@ -296,7 +296,7 @@ private fun RoomSummaryView( @PreviewsDayNight @Composable -internal fun RoomSelectViewPreview(@PreviewParameter(RoomSelectStateProvider::class) state: RoomSelectState) = ElementPreview { +internal fun RoomSelectViewPreview(@PreviewParameter(RoomSelectStatePreviewParam::class) state: RoomSelectState) = ElementPreview { RoomSelectView( state = state, onDismiss = {}, diff --git a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageModule.kt b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageBindingContainer.kt similarity index 96% rename from libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageModule.kt rename to libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageBindingContainer.kt index 8955aa4a27..e64268d608 100644 --- a/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageModule.kt +++ b/libraries/session-storage/impl/src/main/kotlin/io/element/android/libraries/sessionstorage/impl/di/SessionStorageBindingContainer.kt @@ -23,10 +23,10 @@ import timber.log.Timber @BindingContainer @ContributesTo(AppScope::class) -object SessionStorageModule { +object SessionStorageBindingContainer { @Provides @SingleIn(AppScope::class) - fun provideMatrixDatabase( + fun providesSessionDatabase( @ApplicationContext context: Context, ): SessionDatabase { val name = "session_database" diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt index 9b2260d441..e4a1dbf5a1 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt @@ -192,7 +192,7 @@ private fun ReplyToModeView( @PreviewsDayNight @Composable internal fun ComposerModeViewPreview( - @PreviewParameter(MessageComposerModeSpecialProvider::class) mode: MessageComposerMode.Special + @PreviewParameter(MessageComposerModeSpecialPreviewParam::class) mode: MessageComposerMode.Special ) = ElementPreview { ComposerModeView( composerMode = mode, diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialProvider.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialPreviewParam.kt similarity index 74% rename from libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialProvider.kt rename to libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialPreviewParam.kt index 60850d26c2..2fd367190e 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialProvider.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerModeSpecialPreviewParam.kt @@ -9,15 +9,15 @@ package io.element.android.libraries.textcomposer import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsPreviewParam import io.element.android.libraries.textcomposer.model.MessageComposerMode -class MessageComposerModeSpecialProvider : PreviewParameterProvider { +class MessageComposerModeSpecialPreviewParam : PreviewParameterProvider { override val values: Sequence = sequenceOf( aMessageComposerModeEdit() ) + - // Keep only 3 values from InReplyToDetailsProvider - InReplyToDetailsProvider().values.take(3).map { + // Keep only 3 values from InReplyToDetailsPreviewParam + InReplyToDetailsPreviewParam().values.take(3).map { aMessageComposerModeReply( replyToDetails = it ) diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index 980443621c..fcb89247b5 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -76,7 +76,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.MessageConten import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType import io.element.android.libraries.matrix.api.timeline.item.event.toEventOrTransactionId import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsProvider +import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetailsPreviewParam import io.element.android.libraries.matrix.ui.messages.reply.aProfileDetailsReady import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag @@ -861,7 +861,7 @@ internal fun MarkdownTextComposerEditPreview() = ElementPreview { @PreviewsDayNight @Composable -internal fun TextComposerReplyPreview(@PreviewParameter(InReplyToDetailsProvider::class) inReplyToDetails: InReplyToDetails) = ElementPreview { +internal fun TextComposerReplyPreview(@PreviewParameter(InReplyToDetailsPreviewParam::class) inReplyToDetails: InReplyToDetails) = ElementPreview { PreviewColumn( items = aTextEditorStateRichList() ) { textEditorState -> @@ -885,7 +885,7 @@ internal fun TextComposerReplyPreview(@PreviewParameter(InReplyToDetailsProvider heightDp = 800, ) @Composable -internal fun TextComposerReplyNotEncryptedPreview(@PreviewParameter(InReplyToDetailsProvider::class) inReplyToDetails: InReplyToDetails) = ElementPreview { +internal fun TextComposerReplyNotEncryptedPreview(@PreviewParameter(InReplyToDetailsPreviewParam::class) inReplyToDetails: InReplyToDetails) = ElementPreview { PreviewColumn( items = aTextEditorStateRichList(isRoomEncrypted = false) ) { textEditorState -> diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStateProvider.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStatePreviewParam.kt similarity index 97% rename from libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStateProvider.kt rename to libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStatePreviewParam.kt index 5cc565559e..54dd40617f 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStateProvider.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsStatePreviewParam.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.troubleshoot.api.test.NotificationTroubleshootTestState import kotlinx.collections.immutable.toImmutableList -open class TroubleshootNotificationsStateProvider : PreviewParameterProvider { +open class TroubleshootNotificationsStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aTroubleshootNotificationsState( diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsView.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsView.kt index 4e0f89155d..d168cfd764 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsView.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/TroubleshootNotificationsView.kt @@ -207,7 +207,7 @@ private fun ColumnScope.TestSuiteView( @PreviewsDayNight @Composable internal fun TroubleshootNotificationsViewPreview( - @PreviewParameter(TroubleshootNotificationsStateProvider::class) state: TroubleshootNotificationsState, + @PreviewParameter(TroubleshootNotificationsStatePreviewParam::class) state: TroubleshootNotificationsState, ) = ElementPreview { TroubleshootNotificationsView( state = state, diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStateProvider.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStatePreviewParam.kt similarity index 97% rename from libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStateProvider.kt rename to libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStatePreviewParam.kt index e7384048f4..968de5534c 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStateProvider.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryStatePreviewParam.kt @@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.push.api.history.PushHistoryItem import kotlinx.collections.immutable.toImmutableList -open class PushHistoryStateProvider : PreviewParameterProvider { +open class PushHistoryStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aPushHistoryState(), diff --git a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryView.kt b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryView.kt index 21e9c64139..7315cb4e5a 100644 --- a/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryView.kt +++ b/libraries/troubleshoot/impl/src/main/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryView.kt @@ -268,7 +268,7 @@ private fun PushHistoryItem( @PreviewsDayNight @Composable internal fun PushHistoryViewPreview( - @PreviewParameter(PushHistoryStateProvider::class) state: PushHistoryState, + @PreviewParameter(PushHistoryStatePreviewParam::class) state: PushHistoryState, ) = ElementPreview { PushHistoryView( state = state, diff --git a/libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStateProvider.kt b/libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStatePreviewParam.kt similarity index 95% rename from libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStateProvider.kt rename to libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStatePreviewParam.kt index dd8d222e69..f417947cb6 100644 --- a/libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStateProvider.kt +++ b/libraries/voiceplayer/api/src/main/kotlin/io/element/android/libraries/voiceplayer/api/VoiceMessageStatePreviewParam.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.voiceplayer.api import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class VoiceMessageStateProvider : PreviewParameterProvider { +open class VoiceMessageStatePreviewParam : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aVoiceMessageState( diff --git a/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderModule.kt b/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderBindingContainer.kt similarity index 87% rename from libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderModule.kt rename to libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderBindingContainer.kt index ee9f7bfa9d..3dd1b902fa 100644 --- a/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderModule.kt +++ b/libraries/voicerecorder/impl/src/main/kotlin/io/element/android/libraries/voicerecorder/impl/di/VoiceRecorderBindingContainer.kt @@ -22,9 +22,9 @@ import io.element.android.opusencoder.OggOpusEncoder @BindingContainer @ContributesTo(RoomScope::class) -object VoiceRecorderModule { +object VoiceRecorderBindingContainer { @Provides - fun provideAudioConfig(): AudioConfig { + fun providesAudioConfig(): AudioConfig { val sampleRate = SampleRate return AudioConfig( format = AudioFormat.Builder() @@ -40,7 +40,7 @@ object VoiceRecorderModule { } @Provides - public fun provideVoiceFileConfig(): VoiceFileConfig = + public fun providesVoiceFileConfig(): VoiceFileConfig = VoiceFileConfig( cacheSubdir = "voice_recordings", fileExt = "ogg", @@ -48,5 +48,5 @@ object VoiceRecorderModule { ) @Provides - fun provideOggOpusEncoder(): OggOpusEncoder = OggOpusEncoder.create() + fun providesOggOpusEncoder(): OggOpusEncoder = OggOpusEncoder.create() } diff --git a/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/DefaultVoiceRecorderTest.kt b/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/DefaultVoiceRecorderTest.kt index 158b9ba481..070b341d76 100644 --- a/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/DefaultVoiceRecorderTest.kt +++ b/libraries/voicerecorder/impl/src/test/kotlin/io/element/android/libraries/voicerecorder/impl/DefaultVoiceRecorderTest.kt @@ -18,7 +18,7 @@ import io.element.android.libraries.voicerecorder.api.VoiceRecorderState import io.element.android.libraries.voicerecorder.impl.audio.Audio import io.element.android.libraries.voicerecorder.impl.audio.AudioConfig import io.element.android.libraries.voicerecorder.impl.audio.SampleRate -import io.element.android.libraries.voicerecorder.impl.di.VoiceRecorderModule +import io.element.android.libraries.voicerecorder.impl.di.VoiceRecorderBindingContainer import io.element.android.libraries.voicerecorder.test.FakeAudioLevelCalculator import io.element.android.libraries.voicerecorder.test.FakeAudioReaderFactory import io.element.android.libraries.voicerecorder.test.FakeEncoder @@ -151,7 +151,7 @@ class DefaultVoiceRecorderTest { } private fun TestScope.createDefaultVoiceRecorder(): DefaultVoiceRecorder { - val fileConfig = VoiceRecorderModule.provideVoiceFileConfig() + val fileConfig = VoiceRecorderBindingContainer.providesVoiceFileConfig() return DefaultVoiceRecorder( dispatchers = testCoroutineDispatchers(), timeSource = timeSource, diff --git a/libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/WorkManagerModule.kt b/libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/di/WorkManagerBindingContainer.kt similarity index 89% rename from libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/WorkManagerModule.kt rename to libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/di/WorkManagerBindingContainer.kt index 7df9e7f431..65399112ef 100644 --- a/libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/WorkManagerModule.kt +++ b/libraries/workmanager/impl/src/main/kotlin/io/element/android/libraries/workmanager/impl/di/WorkManagerBindingContainer.kt @@ -5,7 +5,7 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.libraries.workmanager.impl +package io.element.android.libraries.workmanager.impl.di import android.content.Context import androidx.work.WorkManager @@ -18,7 +18,7 @@ import io.element.android.libraries.di.annotations.ApplicationContext @BindingContainer @ContributesTo(AppScope::class) -object WorkManagerModule { +object WorkManagerBindingContainer { @Provides @SingleIn(AppScope::class) fun providesWorkManager( diff --git a/services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsModule.kt b/services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsBindingContainer.kt similarity index 85% rename from services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsModule.kt rename to services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsBindingContainer.kt index 3c4b00c7a0..d411926529 100644 --- a/services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsModule.kt +++ b/services/analytics/noop/src/main/kotlin/io/element/android/services/analytics/noop/di/NoopAnalyticsBindingContainer.kt @@ -15,7 +15,7 @@ import io.element.android.libraries.di.identifiers.SentrySdkDsn @BindingContainer @ContributesTo(AppScope::class) -object NoopAnalyticsModule { +object NoopAnalyticsBindingContainer { @Provides - fun provideSentrySdkDsn(): SentrySdkDsn? = null + fun providesSentrySdkDsn(): SentrySdkDsn? = null } diff --git a/services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryModule.kt b/services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryBindingContainer.kt similarity index 73% rename from services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryModule.kt rename to services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryBindingContainer.kt index 74b7d56683..9e1ca7b886 100644 --- a/services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryModule.kt +++ b/services/analyticsproviders/sentry/src/main/kotlin/io/element/android/services/analyticsproviders/sentry/di/SentryBindingContainer.kt @@ -17,10 +17,10 @@ import io.element.android.services.analyticsproviders.sentry.SentryConfig @BindingContainer @ContributesTo(AppScope::class) -object SentryModule { +object SentryBindingContainer { @Provides - fun provideSentryDsn(): SentryDsn? = SentryConfig.DSN.takeIf { it.isNotBlank() }?.let(::SentryDsn) + fun providesSentryDsn(): SentryDsn? = SentryConfig.DSN.takeIf { it.isNotBlank() }?.let(::SentryDsn) @Provides - fun provideSentrySdkDsn(): SentrySdkDsn? = SentryConfig.SDK_DSN.takeIf { it.isNotBlank() }?.let(::SentrySdkDsn) + fun providesSentrySdkDsn(): SentrySdkDsn? = SentryConfig.SDK_DSN.takeIf { it.isNotBlank() }?.let(::SentrySdkDsn) } diff --git a/services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateModule.kt b/services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateBindingContainer.kt similarity index 92% rename from services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateModule.kt rename to services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateBindingContainer.kt index 4cf9c25b7b..c7ffa7aab2 100644 --- a/services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateModule.kt +++ b/services/appnavstate/impl/src/main/kotlin/io/element/android/services/appnavstate/impl/di/AppNavStateBindingContainer.kt @@ -20,9 +20,9 @@ import io.element.android.services.appnavstate.impl.initializer.AppForegroundSta @BindingContainer @ContributesTo(AppScope::class) -object AppNavStateModule { +object AppNavStateBindingContainer { @Provides - fun provideAppForegroundStateService( + fun providesAppForegroundStateService( @ApplicationContext context: Context ): AppForegroundStateService = AppInitializer.getInstance(context).initializeComponent(AppForegroundStateServiceInitializer::class.java) diff --git a/services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/TimeModule.kt b/services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/di/TimeBindingContainer.kt similarity index 79% rename from services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/TimeModule.kt rename to services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/di/TimeBindingContainer.kt index 766a63ebfd..fad0e4a3ab 100644 --- a/services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/TimeModule.kt +++ b/services/toolbox/impl/src/main/kotlin/io/element/android/services/toolbox/impl/systemclock/di/TimeBindingContainer.kt @@ -6,7 +6,7 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.services.toolbox.impl.systemclock +package io.element.android.services.toolbox.impl.systemclock.di import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.BindingContainer @@ -16,9 +16,9 @@ import kotlin.time.TimeSource @BindingContainer @ContributesTo(AppScope::class) -object TimeModule { +object TimeBindingContainer { @Provides - fun timeSource(): TimeSource { + fun providesTimeSource(): TimeSource { return TimeSource.Monotonic } } diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt index 01acbe3c5b..14a3f24f3c 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt @@ -57,16 +57,16 @@ class KonsistClassNameTest { } @Test - fun `Classes extending 'PreviewParameterProvider' name MUST end with 'Provider' and MUST contain provided class name`() { + fun `Classes extending 'PreviewParameterProvider' name MUST end with 'PreviewParam' and MUST contain provided class name`() { Konsist.scopeFromProduction() .classes() .withAllParentsOf(PreviewParameterProvider::class) .withoutName( - "AspectRatioProvider", - "EditableAvatarViewUriProvider", - "LoginModeViewErrorProvider", - "OverlapRatioProvider", - "TextFileContentProvider", + "AspectRatioPreviewParam", + "EditableAvatarViewUriPreviewParam", + "LoginModeViewErrorPreviewParam", + "OverlapRatioPreviewParam", + "TextFileContentPreviewParam", ) .also { // Check that classes are actually found @@ -82,8 +82,7 @@ class KonsistClassNameTest { .removeSuffix("?") .replace(".", "") val name = klass.name - name.endsWith("Provider") && - name.endsWith("PreviewProvider").not() && + name.endsWith("PreviewParam") && name.contains(providedType) } } diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_0_en.png index 43a375ae4b..dbe9e3ffb5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9148c575c023d043014186ce8e4bdd30040d3ba2bb66ab8bffebe9ecbbf5bbbe -size 5424 +oid sha256:9a3daec0fbcae2ee6e2aa953bd0959bb3b043a586b47eacfc9b02ef9e1159c1a +size 16358 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_1_en.png index 3132156859..96deb3b002 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c7f1be3a4de422913deee95b1854300e0da3c059bc22059e76fc8744ebd80de -size 7679 +oid sha256:c2a053aad5bb7c68b1c294f6c367b4299c7c5200a5e6df0a34c19f37d925cb8f +size 24315 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_2_en.png index 3e1099a271..c63a0305dc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:452fbf2b5f3ab038bd057a6df50a0618ee42e85eb963d1e8f93ceb1231e425dd -size 6106 +oid sha256:c79fcd68bdb06005b5ac50d4a675553bf5a3ea591d5515af5e6b6ec5a1c8853f +size 23265 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_3_en.png index 9e256f3b40..c63a0305dc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f9e881db2cf82e859e95b607e4c7c874a21f16813b7775d456601488d147920 -size 5602 +oid sha256:c79fcd68bdb06005b5ac50d4a675553bf5a3ea591d5515af5e6b6ec5a1c8853f +size 23265 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_4_en.png index 624a6ce7e6..a2d4c7fce5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c868d2d4d799bb09b48e8944041ae2183d5142e41dc328f77c28e57be301564 -size 7442 +oid sha256:f1dd9fb953723fa1295dd01428d664fa13e27d936dd88ad8c0036de75f62e175 +size 17745 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_5_en.png index b62391bd05..c5c69b6c97 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35a8d9b3f96847fa3f5d322c65e773a195434fe5d41d2a6c84521b15a361f1f3 -size 6051 +oid sha256:715a91c80c93b799d9c6ca1e1322a3c919b3d001045bf1cf2b2a2833e1727853 +size 17360 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_6_en.png index 40da538fb4..8ddef26592 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c97fce3b0e863027528727956e3b3d14f1970b047ec03777d2ec843eac20af3 -size 6066 +oid sha256:d2e44c59ed3b3ca08a986966a711ec9ab0eca1277d24b5bce50130331c2f1070 +size 25443 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_7_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_7_en.png deleted file mode 100644 index 4535def866..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_7_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:992772b9d79a19c8cc8c6f35d6ffc0778c1a9816357ecaa678d4d15e1cd28884 -size 8441 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_8_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_8_en.png deleted file mode 100644 index 9418095e22..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Day_8_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07c16f4e100a8534a5a1535af50f5d7b77ae1ad6ff5e6e73a260896ebe5ff054 -size 6569 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_0_en.png index 400724a0d6..d51245a8d6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13276bd3b6f55624e00d723871124af7c27fa662f5edf58efbd58a69abbe11de -size 5554 +oid sha256:932f8f742c7f123fa8336f5813d561f7fb5f66235eccf2277ee21d1ed66a6cc4 +size 15888 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_1_en.png index 020b2418ea..a11c62d653 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a87b60e1b304f4712481a6984e1673ca7ac0608dad31b96ce57bd20345a99a4 -size 7748 +oid sha256:77feb0d4e70c3773a5bc1dcd5cdc847171ce7c8810d91344284a40a3b0585d14 +size 23866 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_2_en.png index b808316f7f..f478607f50 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46734678bb9267ada175d62566384d50be7433e688ffc83ef3068f261ac436ec -size 6213 +oid sha256:8a7dd412c7dc6a631c9d8cabb96122f6317fb660d03dee3561c205513a7ad887 +size 23061 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_3_en.png index fc3f3e27bb..f478607f50 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65f2332f2e34ef9f91442d1a785efec020543cf85e42a165fc88f2df9faf5794 -size 5543 +oid sha256:8a7dd412c7dc6a631c9d8cabb96122f6317fb660d03dee3561c205513a7ad887 +size 23061 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_4_en.png index 69c304a8f6..e95f23195a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07f20243dab69d313d92d7681d6448e72a42c08cbf9f572e97c17a3e9204d3a1 -size 7329 +oid sha256:e473ba8f9d57ab493a8e7cba25b8a1bf3ec1dab0216bc75b3a90faf0e7d15285 +size 17312 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_5_en.png index 91a9fa1ac6..3f546d4195 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:042ef4ee70d8508023294ea64d5e113d4aec186d016a14338f25780f452b692e -size 5983 +oid sha256:e08e1a0152ed654f9cdd14ea53e21c3650f42e758a13a229e12f2927867cbe22 +size 16901 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_6_en.png index ef41786063..cd93e59759 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e947db105c1b42d1325625879dd1235a19cac1ce1be62755ab43c4ef6b46911 -size 6026 +oid sha256:0ea4c96a40dedcbe9ba595ac5d5d0f303a1945797beef705f2e940d25c06ee54 +size 25149 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_7_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_7_en.png deleted file mode 100644 index 3a7bd28ed5..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_7_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d62d917c760629360fae73b094030e1669e6dcbd959861cdf2fe70d89ad9ff45 -size 8310 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_8_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_8_en.png deleted file mode 100644 index 1f2b7ed693..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.messages.sender_SenderName_Night_8_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9547bc9a1d795d3b7eda0759abdc3b0c65f4b8db102be35d51968b9c0e942351 -size 6553 diff --git a/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.0.kt b/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.0.kt index 26372fc970..9230360bd9 100644 --- a/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.0.kt +++ b/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.0.kt @@ -2,7 +2,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class ${NAME}StateProvider : PreviewParameterProvider<${NAME}State> { +open class ${NAME}StatePreviewParam : PreviewParameterProvider<${NAME}State> { override val values: Sequence<${NAME}State> get() = sequenceOf( a${NAME}State(), diff --git a/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.2.kt b/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.2.kt index c4f3b1b5b2..83e1b5c01f 100644 --- a/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.2.kt +++ b/tools/templates/files/fileTemplates/Template Presentation Classes.kt.child.2.kt @@ -27,7 +27,7 @@ fun ${NAME}View( @PreviewsDayNight @Composable internal fun ${NAME}ViewPreview( - @PreviewParameter(${NAME}StateProvider::class) state: ${NAME}State + @PreviewParameter(${NAME}StatePreviewParam::class) state: ${NAME}State ) = ElementPreview { ${NAME}View( state = state, diff --git a/tools/templates/files/options/file.template.settings.xml b/tools/templates/files/options/file.template.settings.xml index a284c63140..b45a92f4c2 100644 --- a/tools/templates/files/options/file.template.settings.xml +++ b/tools/templates/files/options/file.template.settings.xml @@ -2,13 +2,13 @@