Skip to content

Commit

Permalink
Add a deprecated method of ComposablePreview<AndroidPreviewInfo>.appl…
Browse files Browse the repository at this point in the history
…yToRobolectricConfiguration() as it was a ExperimentalApi
  • Loading branch information
takahirom committed Dec 5, 2024
1 parent 6199248 commit 5d26cbd
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,18 @@ import sergio.sastre.composable.preview.scanner.core.preview.ComposablePreview
fun ComposablePreview<AndroidPreviewInfo>.captureRoboImage(
filePath: String,
roborazziOptions: RoborazziOptions = provideRoborazziContext().options,
configBuilder: RoborazziComposeConfigBuilder = RoborazziComposeConfigBuilder()
configBuilder: RoborazziComposeConfigBuilder = this.toRoborazziComposeConfigBuilder()
) {
if (!roborazziOptions.taskType.isEnabled()) return
val composablePreview = this
captureRoboImage(filePath, roborazziOptions, configBuilder) {
composablePreview()
}
}

@ExperimentalRoborazziApi
fun ComposablePreview<AndroidPreviewInfo>.toRoborazziComposeConfigBuilder() =
RoborazziComposeConfigBuilder()
.size(
widthDp = previewInfo.widthDp,
heightDp = previewInfo.heightDp
Expand All @@ -26,12 +37,16 @@ fun ComposablePreview<AndroidPreviewInfo>.captureRoboImage(
.configurationUiMode(previewInfo.uiMode)
.previewDevice(previewInfo.device)
.fontScale(previewInfo.fontScale)
) {
if (!roborazziOptions.taskType.isEnabled()) return
val composablePreview = this
captureRoboImage(filePath, roborazziOptions, configBuilder) {
composablePreview()
}


@Suppress("UnusedReceiverParameter")
@Deprecated(
message = "Use previewInfo.toRoborazziComposeConfigBuilder().apply(scenario, composeContent) or ComposablePreview<AndroidPreviewInfo>.captureRoboImage() instead",
replaceWith = ReplaceWith("previewInfo.toRoborazziComposeConfigBuilder().apply(scenario, composeContent)"),
level = DeprecationLevel.ERROR
)
fun ComposablePreview<AndroidPreviewInfo>.applyToRobolectricConfiguration() {
throw UnsupportedOperationException("Use previewInfo.toRoborazziComposeConfigBuilder().apply(scenario, composeContent) or ComposablePreview<AndroidPreviewInfo>.captureRoboImage() instead")
}

fun RoborazziComposeConfigBuilder.previewDevice(previewDevice: String) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ interface RoborazziComposeComposableConfig : RoborazziComposeConfig {
fun configureWithComposable(content: @Composable () -> Unit): @Composable () -> Unit
}


@ExperimentalRoborazziApi
class RoborazziComposeConfigBuilder {
private val activityScenarioConfigs =
Expand All @@ -55,7 +54,7 @@ class RoborazziComposeConfigBuilder {
return this
}

@InternalRoborazziApi
@ExperimentalRoborazziApi
fun configure(
scenario: ActivityScenario<out Activity>,
content: @Composable () -> Unit
Expand Down

0 comments on commit 5d26cbd

Please sign in to comment.