Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor naming #582

Merged
merged 1 commit into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ fun ComposablePreview<AndroidPreviewInfo>.captureRoboImage(
filePath: String,
roborazziOptions: RoborazziOptions = provideRoborazziContext().options,
configBuilder: RoborazziComposeConfigBuilder = RoborazziComposeConfigBuilder()
.sized(
.size(
widthDp = previewInfo.widthDp,
heightDp = previewInfo.heightDp
)
.colored(
.background(
showBackground = previewInfo.showBackground,
backgroundColor = previewInfo.backgroundColor
)
.locale(previewInfo.locale)
.uiMode(previewInfo.uiMode)
.device(previewInfo.device)
.configurationUiMode(previewInfo.uiMode)
.previewDevice(previewInfo.device)
.fontScale(previewInfo.fontScale)
) {
if (!roborazziOptions.taskType.isEnabled()) return
Expand All @@ -34,15 +34,16 @@ fun ComposablePreview<AndroidPreviewInfo>.captureRoboImage(
}
}

fun RoborazziComposeConfigBuilder.device(device: String) = with(DeviceConfig(device))
fun RoborazziComposeConfigBuilder.previewDevice(previewDevice: String) =
with(PreviewDeviceConfig(previewDevice))

@ExperimentalRoborazziApi
data class DeviceConfig(val device: String) :
data class PreviewDeviceConfig(private val previewDevice: String) :
RoborazziComposeSetupConfig {
override fun configure() {
if (device.isNotBlank()) {
if (previewDevice.isNotBlank()) {
// Requires `io.github.sergio-sastre.ComposablePreviewScanner:android:0.4.0` or later
RobolectricDeviceQualifierBuilder.build(device)?.run {
RobolectricDeviceQualifierBuilder.build(previewDevice)?.run {
setQualifiers(this)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ interface RoborazziComposeSetupConfig : RoborazziComposeConfig {

@ExperimentalRoborazziApi
interface RoborazziComposeActivityScenarioConfig : RoborazziComposeConfig {
fun configureToActivityScenario(scenario: ActivityScenario<out Activity>)
fun configureWithActivityScenario(scenario: ActivityScenario<out Activity>)
}

@ExperimentalRoborazziApi
interface RoborazziComposeComposableConfig : RoborazziComposeConfig {
fun configureToComposable(content: @Composable () -> Unit): @Composable () -> Unit
fun configureWithComposable(content: @Composable () -> Unit): @Composable () -> Unit
}


Expand Down Expand Up @@ -61,10 +61,10 @@ class RoborazziComposeConfigBuilder {
content: @Composable () -> Unit
): @Composable () -> Unit {
setupConfigs.forEach { it.configure() }
activityScenarioConfigs.forEach { it.configureToActivityScenario(scenario) }
activityScenarioConfigs.forEach { it.configureWithActivityScenario(scenario) }
var appliedContent = content
composableConfigs.forEach { config ->
appliedContent = config.configureToComposable(appliedContent)
appliedContent = config.configureWithComposable(appliedContent)
}
return {
appliedContent()
Expand All @@ -73,15 +73,18 @@ class RoborazziComposeConfigBuilder {
}

@ExperimentalRoborazziApi
fun RoborazziComposeConfigBuilder.sized(widthDp: Int = 0, heightDp: Int = 0): RoborazziComposeConfigBuilder {
fun RoborazziComposeConfigBuilder.size(
widthDp: Int = 0,
heightDp: Int = 0
): RoborazziComposeConfigBuilder {
return with(RoborazziComposeSizeConfig(widthDp, heightDp))
}

@ExperimentalRoborazziApi
data class RoborazziComposeSizeConfig(val widthDp: Int, val heightDp: Int) :
RoborazziComposeActivityScenarioConfig,
RoborazziComposeComposableConfig {
override fun configureToActivityScenario(scenario: ActivityScenario<out Activity>) {
override fun configureWithActivityScenario(scenario: ActivityScenario<out Activity>) {
scenario.onActivity { activity ->
activity.setDisplaySize(widthDp = widthDp, heightDp = heightDp)
}
Expand All @@ -106,7 +109,7 @@ data class RoborazziComposeSizeConfig(val widthDp: Int, val heightDp: Int) :
recreate()
}

override fun configureToComposable(content: @Composable () -> Unit): @Composable () -> Unit {
override fun configureWithComposable(content: @Composable () -> Unit): @Composable () -> Unit {
/**
* WARNING:
* For this to work, it requires that the Display is within the widthDp and heightDp dimensions
Expand All @@ -127,7 +130,7 @@ data class RoborazziComposeSizeConfig(val widthDp: Int, val heightDp: Int) :
}

@ExperimentalRoborazziApi
fun RoborazziComposeConfigBuilder.colored(
fun RoborazziComposeConfigBuilder.background(
showBackground: Boolean,
backgroundColor: Long = 0L
): RoborazziComposeConfigBuilder {
Expand All @@ -136,10 +139,10 @@ fun RoborazziComposeConfigBuilder.colored(

@ExperimentalRoborazziApi
data class RoborazziComposeBackgroundConfig(
val showBackground: Boolean,
val backgroundColor: Long
private val showBackground: Boolean,
private val backgroundColor: Long
) : RoborazziComposeActivityScenarioConfig {
override fun configureToActivityScenario(scenario: ActivityScenario<out Activity>) {
override fun configureWithActivityScenario(scenario: ActivityScenario<out Activity>) {
when (showBackground) {
false -> {
scenario.onActivity { activity ->
Expand All @@ -161,16 +164,16 @@ data class RoborazziComposeBackgroundConfig(
}

@ExperimentalRoborazziApi
fun RoborazziComposeConfigBuilder.uiMode(configurationUiMode: Int): RoborazziComposeConfigBuilder {
return with(UiModeConfig(configurationUiMode))
fun RoborazziComposeConfigBuilder.configurationUiMode(configurationUiMode: Int): RoborazziComposeConfigBuilder {
return with(ConfigurationUiModeConfig(configurationUiMode))
}

@ExperimentalRoborazziApi
data class UiModeConfig(val uiMode: Int) :
data class ConfigurationUiModeConfig(private val configurationUiMode: Int) :
RoborazziComposeSetupConfig {
override fun configure() {
val nightMode =
when (uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES) {
when (configurationUiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES) {
true -> "night"
false -> "notnight"
}
Expand All @@ -179,12 +182,12 @@ data class UiModeConfig(val uiMode: Int) :
}

@ExperimentalRoborazziApi
fun RoborazziComposeConfigBuilder.locale(bcp47LanguageTag: String): RoborazziComposeConfigBuilder {
return with(LocaleConfig(bcp47LanguageTag))
fun RoborazziComposeConfigBuilder.locale(locale: String): RoborazziComposeConfigBuilder {
return with(LocaleConfig(locale))
}

@ExperimentalRoborazziApi
data class LocaleConfig(val locale: String) :
data class LocaleConfig(private val locale: String) :
RoborazziComposeSetupConfig {
override fun configure() {
val localeWithFallback = locale.ifBlank { "en" }
Expand All @@ -198,7 +201,7 @@ fun RoborazziComposeConfigBuilder.fontScale(fontScale: Float): RoborazziComposeC
}

@ExperimentalRoborazziApi
data class FontScaleConfig(val fontScale: Float) :
data class FontScaleConfig(private val fontScale: Float) :
RoborazziComposeSetupConfig {
override fun configure() {
setFontScale(fontScale)
Expand Down
Loading