mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Rename PreviewParameterProvider subclasses to the PreviewParam suffix
The `Provider` suffix reads as a dependency provider rather than as preview
data, and it collides with the real providers in the codebase — `StringProvider`,
`PickerProvider`, the login feature's `AccountProvider` — so the name says
nothing about which of the two a class is. `PreviewParam` says it.
195 classes are renamed, along with the 185 files named after them, the konsist
rule that enforces the convention, the presentation-class file templates and the
onboarding documentation.
This cannot be split. `Konsist.scopeFromProduction()` scans the whole project, so
flipping the assertion before every class has moved leaves the rule red, and a
rule that accepted either suffix during a transition would be exactly the kind of
compatibility layer this convention change is meant to remove.
Two judgement calls in the rule itself. The `name.endsWith("PreviewProvider")`
exclusion is dropped: its only job was to reject a redundant `Preview` before
`Provider`, and the new suffix already contains it; no class currently ends with
`PreviewProvider`, so removing it changes nothing today. And
`EditableAvatarViewUriProvider` is renamed rather than deleted from the exclusion
list even though no such class exists in this repository, since it presumably
comes from the modules overlaid for the enterprise build.
Nothing keyed off the old suffix: no snapshot filename contains a provider class
name, so no Paparazzi image changes, and the Kover variants match on `*Presenter`,
`*State` and `*ViewKt`, so coverage bounds are unaffected.
This commit is contained in:
+1
-1
@@ -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<MediaBottomSheetState.DeleteConfirmation> {
|
||||
open class MediaBottomSheetStateDeleteConfirmationPreviewParam : PreviewParameterProvider<MediaBottomSheetState.DeleteConfirmation> {
|
||||
override val values: Sequence<MediaBottomSheetState.DeleteConfirmation>
|
||||
get() = sequenceOf(
|
||||
aMediaBottomSheetStateDeleteConfirmation(),
|
||||
+1
-1
@@ -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<MediaBottomSheetState.Details> {
|
||||
open class MediaBottomSheetStateDetailsPreviewParam : PreviewParameterProvider<MediaBottomSheetState.Details> {
|
||||
override val values: Sequence<MediaBottomSheetState.Details>
|
||||
get() = sequenceOf(
|
||||
aMediaBottomSheetStateDetails(),
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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<MediaGalleryState> {
|
||||
open class MediaGalleryStatePreviewParam : PreviewParameterProvider<MediaGalleryState> {
|
||||
override val values: Sequence<MediaGalleryState>
|
||||
get() = sequenceOf(
|
||||
aMediaGalleryState(
|
||||
+1
-1
@@ -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(),
|
||||
|
||||
+1
-1
@@ -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(
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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(
|
||||
|
||||
+1
-1
@@ -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<MediaItem.Audio> {
|
||||
class MediaItemAudioPreviewParam : PreviewParameterProvider<MediaItem.Audio> {
|
||||
override val values: Sequence<MediaItem.Audio>
|
||||
get() = sequenceOf(
|
||||
aMediaItemAudio(),
|
||||
+1
-1
@@ -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<MediaItem.DateSeparator> {
|
||||
class MediaItemDateSeparatorPreviewParam : PreviewParameterProvider<MediaItem.DateSeparator> {
|
||||
override val values: Sequence<MediaItem.DateSeparator>
|
||||
get() = sequenceOf(
|
||||
aMediaItemDateSeparator(),
|
||||
+1
-1
@@ -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<MediaItem.File> {
|
||||
class MediaItemFilePreviewParam : PreviewParameterProvider<MediaItem.File> {
|
||||
override val values: Sequence<MediaItem.File>
|
||||
get() = sequenceOf(
|
||||
aMediaItemFile(),
|
||||
+1
-1
@@ -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<MediaItem.Video> {
|
||||
class MediaItemVideoPreviewParam : PreviewParameterProvider<MediaItem.Video> {
|
||||
override val values: Sequence<MediaItem.Video>
|
||||
get() = sequenceOf(
|
||||
aMediaItemVideo(),
|
||||
+1
-1
@@ -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<MediaItem.Voice> {
|
||||
class MediaItemVoicePreviewParam : PreviewParameterProvider<MediaItem.Voice> {
|
||||
override val values: Sequence<MediaItem.Voice>
|
||||
get() = sequenceOf(
|
||||
aMediaItemVoice(),
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+3
-3
@@ -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(
|
||||
|
||||
+1
-1
@@ -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(),
|
||||
|
||||
+1
-1
@@ -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<MediaInfo> {
|
||||
open class MediaInfoAudioPreviewParam : PreviewParameterProvider<MediaInfo> {
|
||||
override val values: Sequence<MediaInfo>
|
||||
get() = sequenceOf(
|
||||
anAudioMediaInfo(),
|
||||
+1
-1
@@ -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(),
|
||||
|
||||
+1
-1
@@ -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<MediaInfo> {
|
||||
open class MediaInfoFilePreviewParam : PreviewParameterProvider<MediaInfo> {
|
||||
override val values: Sequence<MediaInfo>
|
||||
get() = sequenceOf(
|
||||
aZipMediaInfo(),
|
||||
+1
-1
@@ -10,7 +10,7 @@ package io.element.android.libraries.mediaviewer.impl.local.player
|
||||
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
|
||||
open class MediaPlayerControllerStateProvider : PreviewParameterProvider<MediaPlayerControllerState> {
|
||||
open class MediaPlayerControllerStatePreviewParam : PreviewParameterProvider<MediaPlayerControllerState> {
|
||||
override val values: Sequence<MediaPlayerControllerState> = sequenceOf(
|
||||
aMediaPlayerControllerState(),
|
||||
aMediaPlayerControllerState(
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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<AsyncData<ImmutableList<String>>> {
|
||||
open class TextFileContentPreviewParam : PreviewParameterProvider<AsyncData<ImmutableList<String>>> {
|
||||
override val values: Sequence<AsyncData<ImmutableList<String>>>
|
||||
get() = sequenceOf(
|
||||
AsyncData.Uninitialized,
|
||||
+1
-1
@@ -98,7 +98,7 @@ private fun TextFileContentView(
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun TextFileContentViewPreview(
|
||||
@PreviewParameter(TextFileContentProvider::class) text: AsyncData<ImmutableList<String>>,
|
||||
@PreviewParameter(TextFileContentPreviewParam::class) text: AsyncData<ImmutableList<String>>,
|
||||
) = ElementPreview {
|
||||
TextFileContentView(
|
||||
data = text,
|
||||
|
||||
+1
-1
@@ -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<MediaViewerState> {
|
||||
open class MediaViewerStatePreviewParam : PreviewParameterProvider<MediaViewerState> {
|
||||
override val values: Sequence<MediaViewerState>
|
||||
get() = sequenceOf(
|
||||
aMediaViewerState(),
|
||||
+2
-2
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user