From c03b711c6675ac7701bd2e284d6da617b0c00023 Mon Sep 17 00:00:00 2001 From: Sungyong An Date: Tue, 28 Oct 2025 00:42:40 +0900 Subject: [PATCH 1/2] Add Compose Stability Analyzer plugin --- .github/workflows/build.yaml | 3 + CONTRIBUTING.md | 10 ++ gradle/libs.versions.toml | 2 + pre_check.sh | 16 ++- readmore-foundation/build.gradle | 1 + .../stability/readmore-foundation.stability | 89 +++++++++++++++ readmore-material/build.gradle | 1 + .../stability/readmore-material.stability | 104 ++++++++++++++++++ readmore-material3/build.gradle | 1 + .../stability/readmore-material3.stability | 104 ++++++++++++++++++ .../dependencies/releaseRuntimeClasspath.txt | 2 + 11 files changed, 328 insertions(+), 5 deletions(-) create mode 100644 readmore-foundation/stability/readmore-foundation.stability create mode 100644 readmore-material/stability/readmore-material.stability create mode 100644 readmore-material3/stability/readmore-material3.stability diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cb2ab8b..a0e61f7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -47,6 +47,9 @@ jobs: - name: Check lint run: ./gradlew lintDebug --stacktrace + - name: Check stability + run: ./gradlew stabilityCheck --stacktrace + - name: Build all build type and flavor permutations run: ./gradlew assemble --stacktrace diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f22f05b..d856af8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,6 +30,11 @@ ./gradlew lintDebug ``` +- stability +```bash +./gradlew stabilityCheck +``` + - roborazzi ```bash ./gradlew verifyRoborazziDebug @@ -55,6 +60,11 @@ ./gradlew metalavaGenerateSignatureRelease ``` +- stability +```bash +./gradlew stabilityDump +``` + - roborazzi ```bash ./gradlew recordRoborazziDebug diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index df890ab..1a0ebdf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,6 +9,7 @@ dokka = "1.8.10" compose = "1.9.0" compose-material3 = "1.4.0" +compose-stability-analyzer = "0.2.11" material = "1.5.0" @@ -72,6 +73,7 @@ android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +compose-stability-analyzer = { id = "com.github.skydoves.compose.stability.analyzer", version.ref = "compose-stability-analyzer" } roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" } jetbrains-dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } metalava = { id = "me.tylerbwong.gradle.metalava", version.ref = "metalava" } diff --git a/pre_check.sh b/pre_check.sh index b559b82..684a239 100755 --- a/pre_check.sh +++ b/pre_check.sh @@ -9,31 +9,37 @@ echo "Starting pre-check validations..." echo "" # Verify dependency changes -echo "🔍 [1/5] Checking dependency guard..." +echo "🔍 [1/6] Checking dependency guard..." ./gradlew dependencyGuard echo "✓ Dependency guard check passed" echo "" # Verify code formatting -echo "🔍 [2/5] Checking code formatting..." +echo "🔍 [2/6] Checking code formatting..." ./gradlew spotlessCheck --init-script gradle/init.gradle.kts echo "✓ Code formatting check passed" echo "" # Verify API compatibility -echo "🔍 [3/5] Checking API compatibility..." +echo "🔍 [3/6] Checking API compatibility..." ./gradlew metalavaCheckCompatibilityRelease echo "✓ API compatibility check passed" echo "" # Static analysis and lint checks -echo "🔍 [4/5] Running lint checks..." +echo "🔍 [4/6] Running lint checks..." ./gradlew lintDebug echo "✓ Lint check passed" echo "" +# Verify compose stability +echo "🔍 [5/6] Checking stability..." +./gradlew stabilityCheck +echo "✓ Stability check passed" +echo "" + # Verify screenshots -echo "🔍 [5/5] Checking screenshots..." +echo "🔍 [6/6] Checking screenshots..." ./gradlew verifyRoborazziDebug echo "✓ Screenshots check passed" echo "" diff --git a/readmore-foundation/build.gradle b/readmore-foundation/build.gradle index f6eaa2d..9fa2c6e 100644 --- a/readmore-foundation/build.gradle +++ b/readmore-foundation/build.gradle @@ -5,6 +5,7 @@ plugins { alias(libs.plugins.maven.publish) alias(libs.plugins.jetbrains.dokka) alias(libs.plugins.metalava) + alias(libs.plugins.compose.stability.analyzer) } android { diff --git a/readmore-foundation/stability/readmore-foundation.stability b/readmore-foundation/stability/readmore-foundation.stability new file mode 100644 index 0000000..52595a5 --- /dev/null +++ b/readmore-foundation/stability/readmore-foundation.stability @@ -0,0 +1,89 @@ +// This file was automatically generated by Compose Stability Analyzer +// https://github.com/skydoves/compose-stability-analyzer +// +// Do not edit this file directly. To update it, run: +// ./gradlew :readmore-foundation:stabilityDump + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (String is immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - style: STABLE (marked @Stable or @Immutable) + - onTextLayout: STABLE (function type) + - softWrap: STABLE (primitive type) + - readMoreText: STABLE + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $default: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (marked @Stable or @Immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - style: STABLE (marked @Stable or @Immutable) + - onTextLayout: STABLE (function type) + - softWrap: STABLE (primitive type) + - readMoreText: STABLE + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $default: STABLE (primitive type) + +@Composable +private fun com.webtoonscorp.android.readmore.foundation.CoreReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (marked @Stable or @Immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - style: STABLE (marked @Stable or @Immutable) + - onTextLayout: STABLE (function type) + - softWrap: STABLE (primitive type) + - readMoreText: STABLE + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $default: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.CoreReadMoreText.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + diff --git a/readmore-material/build.gradle b/readmore-material/build.gradle index c50a8c4..9d4afae 100644 --- a/readmore-material/build.gradle +++ b/readmore-material/build.gradle @@ -5,6 +5,7 @@ plugins { alias(libs.plugins.maven.publish) alias(libs.plugins.jetbrains.dokka) alias(libs.plugins.metalava) + alias(libs.plugins.compose.stability.analyzer) } android { diff --git a/readmore-material/stability/readmore-material.stability b/readmore-material/stability/readmore-material.stability new file mode 100644 index 0000000..1f96dec --- /dev/null +++ b/readmore-material/stability/readmore-material.stability @@ -0,0 +1,104 @@ +// This file was automatically generated by Compose Stability Analyzer +// https://github.com/skydoves/compose-stability-analyzer +// +// Do not edit this file directly. To update it, run: +// ./gradlew :readmore-material:stabilityDump + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (String is immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - color: STABLE (marked @Stable or @Immutable) + - fontSize: STABLE (marked @Stable or @Immutable) + - fontStyle: STABLE (known stable type) + - fontWeight: STABLE (marked @Stable or @Immutable) + - fontFamily: STABLE (marked @Stable or @Immutable) + - letterSpacing: STABLE (marked @Stable or @Immutable) + - textDecoration: STABLE (marked @Stable or @Immutable) + - textAlign: STABLE (known stable type) + - lineHeight: STABLE (marked @Stable or @Immutable) + - softWrap: STABLE (primitive type) + - onTextLayout: STABLE (function type) + - style: STABLE (marked @Stable or @Immutable) + - readMoreText: STABLE + - readMoreColor: STABLE (marked @Stable or @Immutable) + - readMoreFontSize: STABLE (marked @Stable or @Immutable) + - readMoreFontStyle: STABLE (known stable type) + - readMoreFontWeight: STABLE (marked @Stable or @Immutable) + - readMoreFontFamily: STABLE (marked @Stable or @Immutable) + - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessColor: STABLE (marked @Stable or @Immutable) + - readLessFontSize: STABLE (marked @Stable or @Immutable) + - readLessFontStyle: STABLE (known stable type) + - readLessFontWeight: STABLE (marked @Stable or @Immutable) + - readLessFontFamily: STABLE (marked @Stable or @Immutable) + - readLessTextDecoration: STABLE (marked @Stable or @Immutable) + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $changed2: STABLE (primitive type) + - $changed3: STABLE (primitive type) + - $default: STABLE (primitive type) + - $default1: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (marked @Stable or @Immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - color: STABLE (marked @Stable or @Immutable) + - fontSize: STABLE (marked @Stable or @Immutable) + - fontStyle: STABLE (known stable type) + - fontWeight: STABLE (marked @Stable or @Immutable) + - fontFamily: STABLE (marked @Stable or @Immutable) + - letterSpacing: STABLE (marked @Stable or @Immutable) + - textDecoration: STABLE (marked @Stable or @Immutable) + - textAlign: STABLE (known stable type) + - lineHeight: STABLE (marked @Stable or @Immutable) + - softWrap: STABLE (primitive type) + - onTextLayout: STABLE (function type) + - style: STABLE (marked @Stable or @Immutable) + - readMoreText: STABLE + - readMoreColor: STABLE (marked @Stable or @Immutable) + - readMoreFontSize: STABLE (marked @Stable or @Immutable) + - readMoreFontStyle: STABLE (known stable type) + - readMoreFontWeight: STABLE (marked @Stable or @Immutable) + - readMoreFontFamily: STABLE (marked @Stable or @Immutable) + - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessColor: STABLE (marked @Stable or @Immutable) + - readLessFontSize: STABLE (marked @Stable or @Immutable) + - readLessFontStyle: STABLE (known stable type) + - readLessFontWeight: STABLE (marked @Stable or @Immutable) + - readLessFontFamily: STABLE (marked @Stable or @Immutable) + - readLessTextDecoration: STABLE (marked @Stable or @Immutable) + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $changed2: STABLE (primitive type) + - $changed3: STABLE (primitive type) + - $default: STABLE (primitive type) + - $default1: STABLE (primitive type) + diff --git a/readmore-material3/build.gradle b/readmore-material3/build.gradle index 5e1e3e1..e276d8a 100644 --- a/readmore-material3/build.gradle +++ b/readmore-material3/build.gradle @@ -5,6 +5,7 @@ plugins { alias(libs.plugins.maven.publish) alias(libs.plugins.jetbrains.dokka) alias(libs.plugins.metalava) + alias(libs.plugins.compose.stability.analyzer) } android { diff --git a/readmore-material3/stability/readmore-material3.stability b/readmore-material3/stability/readmore-material3.stability new file mode 100644 index 0000000..1447b63 --- /dev/null +++ b/readmore-material3/stability/readmore-material3.stability @@ -0,0 +1,104 @@ +// This file was automatically generated by Compose Stability Analyzer +// https://github.com/skydoves/compose-stability-analyzer +// +// Do not edit this file directly. To update it, run: +// ./gradlew :readmore-material3:stabilityDump + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (String is immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - color: STABLE (marked @Stable or @Immutable) + - fontSize: STABLE (marked @Stable or @Immutable) + - fontStyle: STABLE (known stable type) + - fontWeight: STABLE (marked @Stable or @Immutable) + - fontFamily: STABLE (marked @Stable or @Immutable) + - letterSpacing: STABLE (marked @Stable or @Immutable) + - textDecoration: STABLE (marked @Stable or @Immutable) + - textAlign: STABLE (known stable type) + - lineHeight: STABLE (marked @Stable or @Immutable) + - softWrap: STABLE (primitive type) + - onTextLayout: STABLE (function type) + - style: STABLE (marked @Stable or @Immutable) + - readMoreText: STABLE + - readMoreColor: STABLE (marked @Stable or @Immutable) + - readMoreFontSize: STABLE (marked @Stable or @Immutable) + - readMoreFontStyle: STABLE (known stable type) + - readMoreFontWeight: STABLE (marked @Stable or @Immutable) + - readMoreFontFamily: STABLE (marked @Stable or @Immutable) + - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessColor: STABLE (marked @Stable or @Immutable) + - readLessFontSize: STABLE (marked @Stable or @Immutable) + - readLessFontStyle: STABLE (known stable type) + - readLessFontWeight: STABLE (marked @Stable or @Immutable) + - readLessFontFamily: STABLE (marked @Stable or @Immutable) + - readLessTextDecoration: STABLE (marked @Stable or @Immutable) + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $changed2: STABLE (primitive type) + - $changed3: STABLE (primitive type) + - $default: STABLE (primitive type) + - $default1: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - text: STABLE (marked @Stable or @Immutable) + - expanded: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + - onExpandedChange: STABLE (function type) + - contentPadding: STABLE (marked @Stable or @Immutable) + - color: STABLE (marked @Stable or @Immutable) + - fontSize: STABLE (marked @Stable or @Immutable) + - fontStyle: STABLE (known stable type) + - fontWeight: STABLE (marked @Stable or @Immutable) + - fontFamily: STABLE (marked @Stable or @Immutable) + - letterSpacing: STABLE (marked @Stable or @Immutable) + - textDecoration: STABLE (marked @Stable or @Immutable) + - textAlign: STABLE (known stable type) + - lineHeight: STABLE (marked @Stable or @Immutable) + - softWrap: STABLE (primitive type) + - onTextLayout: STABLE (function type) + - style: STABLE (marked @Stable or @Immutable) + - readMoreText: STABLE + - readMoreColor: STABLE (marked @Stable or @Immutable) + - readMoreFontSize: STABLE (marked @Stable or @Immutable) + - readMoreFontStyle: STABLE (known stable type) + - readMoreFontWeight: STABLE (marked @Stable or @Immutable) + - readMoreFontFamily: STABLE (marked @Stable or @Immutable) + - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) + - readMoreMaxLines: STABLE (primitive type) + - readMoreOverflow: STABLE + - readMoreStyle: STABLE (marked @Stable or @Immutable) + - readLessText: STABLE + - readLessColor: STABLE (marked @Stable or @Immutable) + - readLessFontSize: STABLE (marked @Stable or @Immutable) + - readLessFontStyle: STABLE (known stable type) + - readLessFontWeight: STABLE (marked @Stable or @Immutable) + - readLessFontFamily: STABLE (marked @Stable or @Immutable) + - readLessTextDecoration: STABLE (marked @Stable or @Immutable) + - readLessStyle: STABLE (marked @Stable or @Immutable) + - toggleArea: STABLE + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + - $changed1: STABLE (primitive type) + - $changed2: STABLE (primitive type) + - $changed3: STABLE (primitive type) + - $default: STABLE (primitive type) + - $default1: STABLE (primitive type) + diff --git a/sample/dependencies/releaseRuntimeClasspath.txt b/sample/dependencies/releaseRuntimeClasspath.txt index d80d07c..302419b 100644 --- a/sample/dependencies/releaseRuntimeClasspath.txt +++ b/sample/dependencies/releaseRuntimeClasspath.txt @@ -104,6 +104,8 @@ androidx.vectordrawable:vectordrawable:1.1.0 androidx.versionedparcelable:versionedparcelable:1.1.1 androidx.viewpager2:viewpager2:1.0.0 androidx.viewpager:viewpager:1.0.0 +com.github.skydoves:compose-stability-runtime-android:0.2.11 +com.github.skydoves:compose-stability-runtime:0.2.11 com.google.android.material:material:1.5.0 com.google.guava:listenablefuture:1.0 org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21 From 70750d6a5db0b659a65ab63f3808c736d259db48 Mon Sep 17 00:00:00 2001 From: Sungyong An Date: Mon, 27 Oct 2025 12:29:43 +0900 Subject: [PATCH 2/2] wrong stability for test codes --- .../stability/readmore-foundation.stability | 155 ++++++++---- .../stability/readmore-material.stability | 230 +++++++++++------- .../stability/readmore-material3.stability | 230 +++++++++++------- 3 files changed, 396 insertions(+), 219 deletions(-) diff --git a/readmore-foundation/stability/readmore-foundation.stability b/readmore-foundation/stability/readmore-foundation.stability index 52595a5..1fb3d33 100644 --- a/readmore-foundation/stability/readmore-foundation.stability +++ b/readmore-foundation/stability/readmore-foundation.stability @@ -5,82 +5,135 @@ // ./gradlew :readmore-foundation:stabilityDump @Composable -public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit +private fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.Screenshot(testCase: com.webtoonscorp.android.readmore.foundation.ScreenshotTestCase, expanded: kotlin.Boolean, readMoreText: kotlin.String?, readLessText: kotlin.String?, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $default: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (String is immutable) + - testCase: STABLE (marked @Stable or @Immutable) - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - style: STABLE (marked @Stable or @Immutable) - - onTextLayout: STABLE (function type) - - softWrap: STABLE (primitive type) - readMoreText: STABLE - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - readLessText: STABLE - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - $composer: RUNTIME (requires runtime check) - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - $default: STABLE (primitive type) @Composable -public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.Screenshot.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (marked @Stable or @Immutable) - - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - style: STABLE (marked @Stable or @Immutable) - - onTextLayout: STABLE (function type) - - softWrap: STABLE (primitive type) - - readMoreText: STABLE - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - - readLessText: STABLE - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - $composer: RUNTIME (requires runtime check) - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $default: STABLE (primitive type) @Composable -private fun com.webtoonscorp.android.readmore.foundation.CoreReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, style: androidx.compose.ui.text.TextStyle?, onTextLayout: kotlin.Function1?, softWrap: kotlin.Boolean, readMoreText: kotlin.String?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $default: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.all_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (marked @Stable or @Immutable) - - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - style: STABLE (marked @Stable or @Immutable) - - onTextLayout: STABLE (function type) - - softWrap: STABLE (primitive type) - - readMoreText: STABLE - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - - readLessText: STABLE - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - $composer: RUNTIME (requires runtime check) - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $default: STABLE (primitive type) @Composable -public fun com.webtoonscorp.android.readmore.foundation.CoreReadMoreText.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.all_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.default_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.expanded_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.readLessText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.readLessText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.readMoreText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.BasicReadMoreTextScreenshotTest.readMoreText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-1.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-1..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-2.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-2..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-3.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.foundation.ComposableSingletons$BasicReadMoreTextScreenshotTestKt.lambda-3..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: diff --git a/readmore-material/stability/readmore-material.stability b/readmore-material/stability/readmore-material.stability index 1f96dec..6f9e60e 100644 --- a/readmore-material/stability/readmore-material.stability +++ b/readmore-material/stability/readmore-material.stability @@ -5,100 +5,162 @@ // ./gradlew :readmore-material:stabilityDump @Composable -public fun com.webtoonscorp.android.readmore.material.ReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-1.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (String is immutable) - - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - color: STABLE (marked @Stable or @Immutable) - - fontSize: STABLE (marked @Stable or @Immutable) - - fontStyle: STABLE (known stable type) - - fontWeight: STABLE (marked @Stable or @Immutable) - - fontFamily: STABLE (marked @Stable or @Immutable) - - letterSpacing: STABLE (marked @Stable or @Immutable) - - textDecoration: STABLE (marked @Stable or @Immutable) - - textAlign: STABLE (known stable type) - - lineHeight: STABLE (marked @Stable or @Immutable) - - softWrap: STABLE (primitive type) - - onTextLayout: STABLE (function type) - - style: STABLE (marked @Stable or @Immutable) - - readMoreText: STABLE - - readMoreColor: STABLE (marked @Stable or @Immutable) - - readMoreFontSize: STABLE (marked @Stable or @Immutable) - - readMoreFontStyle: STABLE (known stable type) - - readMoreFontWeight: STABLE (marked @Stable or @Immutable) - - readMoreFontFamily: STABLE (marked @Stable or @Immutable) - - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - - readLessText: STABLE - - readLessColor: STABLE (marked @Stable or @Immutable) - - readLessFontSize: STABLE (marked @Stable or @Immutable) - - readLessFontStyle: STABLE (known stable type) - - readLessFontWeight: STABLE (marked @Stable or @Immutable) - - readLessFontFamily: STABLE (marked @Stable or @Immutable) - - readLessTextDecoration: STABLE (marked @Stable or @Immutable) - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - - $composer: RUNTIME (requires runtime check) - - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $changed2: STABLE (primitive type) - - $changed3: STABLE (primitive type) - - $default: STABLE (primitive type) - - $default1: STABLE (primitive type) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-1..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-2.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-3.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-3..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-4.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-5.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) @Composable -public fun com.webtoonscorp.android.readmore.material.ReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-5..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (marked @Stable or @Immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-6.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +private fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.Screenshot(testCase: com.webtoonscorp.android.readmore.material.ScreenshotTestCase, expanded: kotlin.Boolean, readMoreText: kotlin.String?, readLessText: kotlin.String?, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $default: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - testCase: STABLE (marked @Stable or @Immutable) - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - color: STABLE (marked @Stable or @Immutable) - - fontSize: STABLE (marked @Stable or @Immutable) - - fontStyle: STABLE (known stable type) - - fontWeight: STABLE (marked @Stable or @Immutable) - - fontFamily: STABLE (marked @Stable or @Immutable) - - letterSpacing: STABLE (marked @Stable or @Immutable) - - textDecoration: STABLE (marked @Stable or @Immutable) - - textAlign: STABLE (known stable type) - - lineHeight: STABLE (marked @Stable or @Immutable) - - softWrap: STABLE (primitive type) - - onTextLayout: STABLE (function type) - - style: STABLE (marked @Stable or @Immutable) - readMoreText: STABLE - - readMoreColor: STABLE (marked @Stable or @Immutable) - - readMoreFontSize: STABLE (marked @Stable or @Immutable) - - readMoreFontStyle: STABLE (known stable type) - - readMoreFontWeight: STABLE (marked @Stable or @Immutable) - - readMoreFontFamily: STABLE (marked @Stable or @Immutable) - - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - readLessText: STABLE - - readLessColor: STABLE (marked @Stable or @Immutable) - - readLessFontSize: STABLE (marked @Stable or @Immutable) - - readLessFontStyle: STABLE (known stable type) - - readLessFontWeight: STABLE (marked @Stable or @Immutable) - - readLessFontFamily: STABLE (marked @Stable or @Immutable) - - readLessTextDecoration: STABLE (marked @Stable or @Immutable) - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - - $composer: RUNTIME (requires runtime check) - - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $changed2: STABLE (primitive type) - - $changed3: STABLE (primitive type) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) - $default: STABLE (primitive type) - - $default1: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.Screenshot.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.all_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.all_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.default_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.expanded_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.readLessText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.readLessText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.readMoreText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material.ReadMoreTextScreenshotTest.readMoreText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) diff --git a/readmore-material3/stability/readmore-material3.stability b/readmore-material3/stability/readmore-material3.stability index 1447b63..e233049 100644 --- a/readmore-material3/stability/readmore-material3.stability +++ b/readmore-material3/stability/readmore-material3.stability @@ -5,100 +5,162 @@ // ./gradlew :readmore-material3:stabilityDump @Composable -public fun com.webtoonscorp.android.readmore.material3.ReadMoreText(text: kotlin.String, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-1.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (String is immutable) - - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - color: STABLE (marked @Stable or @Immutable) - - fontSize: STABLE (marked @Stable or @Immutable) - - fontStyle: STABLE (known stable type) - - fontWeight: STABLE (marked @Stable or @Immutable) - - fontFamily: STABLE (marked @Stable or @Immutable) - - letterSpacing: STABLE (marked @Stable or @Immutable) - - textDecoration: STABLE (marked @Stable or @Immutable) - - textAlign: STABLE (known stable type) - - lineHeight: STABLE (marked @Stable or @Immutable) - - softWrap: STABLE (primitive type) - - onTextLayout: STABLE (function type) - - style: STABLE (marked @Stable or @Immutable) - - readMoreText: STABLE - - readMoreColor: STABLE (marked @Stable or @Immutable) - - readMoreFontSize: STABLE (marked @Stable or @Immutable) - - readMoreFontStyle: STABLE (known stable type) - - readMoreFontWeight: STABLE (marked @Stable or @Immutable) - - readMoreFontFamily: STABLE (marked @Stable or @Immutable) - - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - - readLessText: STABLE - - readLessColor: STABLE (marked @Stable or @Immutable) - - readLessFontSize: STABLE (marked @Stable or @Immutable) - - readLessFontStyle: STABLE (known stable type) - - readLessFontWeight: STABLE (marked @Stable or @Immutable) - - readLessFontFamily: STABLE (marked @Stable or @Immutable) - - readLessTextDecoration: STABLE (marked @Stable or @Immutable) - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - - $composer: RUNTIME (requires runtime check) - - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $changed2: STABLE (primitive type) - - $changed3: STABLE (primitive type) - - $default: STABLE (primitive type) - - $default1: STABLE (primitive type) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-1..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-2.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-3.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-3..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-4.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-5.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) @Composable -public fun com.webtoonscorp.android.readmore.material3.ReadMoreText(text: androidx.compose.ui.text.AnnotatedString, expanded: kotlin.Boolean, modifier: androidx.compose.ui.Modifier?, onExpandedChange: kotlin.Function1?, contentPadding: androidx.compose.foundation.layout.PaddingValues?, color: androidx.compose.ui.graphics.Color, fontSize: androidx.compose.ui.unit.TextUnit, fontStyle: androidx.compose.ui.text.font.FontStyle?, fontWeight: androidx.compose.ui.text.font.FontWeight?, fontFamily: androidx.compose.ui.text.font.FontFamily?, letterSpacing: androidx.compose.ui.unit.TextUnit, textDecoration: androidx.compose.ui.text.style.TextDecoration?, textAlign: androidx.compose.ui.text.style.TextAlign, lineHeight: androidx.compose.ui.unit.TextUnit, softWrap: kotlin.Boolean, onTextLayout: kotlin.Function1?, style: androidx.compose.ui.text.TextStyle?, readMoreText: kotlin.String?, readMoreColor: androidx.compose.ui.graphics.Color, readMoreFontSize: androidx.compose.ui.unit.TextUnit, readMoreFontStyle: androidx.compose.ui.text.font.FontStyle?, readMoreFontWeight: androidx.compose.ui.text.font.FontWeight?, readMoreFontFamily: androidx.compose.ui.text.font.FontFamily?, readMoreTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readMoreMaxLines: kotlin.Int, readMoreOverflow: com.webtoonscorp.android.readmore.foundation.ReadMoreTextOverflow, readMoreStyle: androidx.compose.ui.text.SpanStyle?, readLessText: kotlin.String?, readLessColor: androidx.compose.ui.graphics.Color, readLessFontSize: androidx.compose.ui.unit.TextUnit, readLessFontStyle: androidx.compose.ui.text.font.FontStyle?, readLessFontWeight: androidx.compose.ui.text.font.FontWeight?, readLessFontFamily: androidx.compose.ui.text.font.FontFamily?, readLessTextDecoration: androidx.compose.ui.text.style.TextDecoration?, readLessStyle: androidx.compose.ui.text.SpanStyle?, toggleArea: com.webtoonscorp.android.readmore.foundation.ToggleArea, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $changed1: kotlin.Int, $changed2: kotlin.Int, $changed3: kotlin.Int, $default: kotlin.Int, $default1: kotlin.Int): kotlin.Unit +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-5..($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit skippable: false restartable: true params: - - text: STABLE (marked @Stable or @Immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ComposableSingletons$ReadMoreTextScreenshotTestKt.lambda-6.(it: kotlin.String, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - it: STABLE (String is immutable) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +private fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.Screenshot(testCase: com.webtoonscorp.android.readmore.material3.ScreenshotTestCase, expanded: kotlin.Boolean, readMoreText: kotlin.String?, readLessText: kotlin.String?, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int, $default: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - testCase: STABLE (marked @Stable or @Immutable) - expanded: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - - onExpandedChange: STABLE (function type) - - contentPadding: STABLE (marked @Stable or @Immutable) - - color: STABLE (marked @Stable or @Immutable) - - fontSize: STABLE (marked @Stable or @Immutable) - - fontStyle: STABLE (known stable type) - - fontWeight: STABLE (marked @Stable or @Immutable) - - fontFamily: STABLE (marked @Stable or @Immutable) - - letterSpacing: STABLE (marked @Stable or @Immutable) - - textDecoration: STABLE (marked @Stable or @Immutable) - - textAlign: STABLE (known stable type) - - lineHeight: STABLE (marked @Stable or @Immutable) - - softWrap: STABLE (primitive type) - - onTextLayout: STABLE (function type) - - style: STABLE (marked @Stable or @Immutable) - readMoreText: STABLE - - readMoreColor: STABLE (marked @Stable or @Immutable) - - readMoreFontSize: STABLE (marked @Stable or @Immutable) - - readMoreFontStyle: STABLE (known stable type) - - readMoreFontWeight: STABLE (marked @Stable or @Immutable) - - readMoreFontFamily: STABLE (marked @Stable or @Immutable) - - readMoreTextDecoration: STABLE (marked @Stable or @Immutable) - - readMoreMaxLines: STABLE (primitive type) - - readMoreOverflow: STABLE - - readMoreStyle: STABLE (marked @Stable or @Immutable) - readLessText: STABLE - - readLessColor: STABLE (marked @Stable or @Immutable) - - readLessFontSize: STABLE (marked @Stable or @Immutable) - - readLessFontStyle: STABLE (known stable type) - - readLessFontWeight: STABLE (marked @Stable or @Immutable) - - readLessFontFamily: STABLE (marked @Stable or @Immutable) - - readLessTextDecoration: STABLE (marked @Stable or @Immutable) - - readLessStyle: STABLE (marked @Stable or @Immutable) - - toggleArea: STABLE - - $composer: RUNTIME (requires runtime check) - - $changed: STABLE (primitive type) - - $changed1: STABLE (primitive type) - - $changed2: STABLE (primitive type) - - $changed3: STABLE (primitive type) + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) - $default: STABLE (primitive type) - - $default1: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.Screenshot.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.all_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.all_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.default_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.expanded_none.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.readLessText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.readLessText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.readMoreText_collapsed.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type) + +@Composable +public fun com.webtoonscorp.android.readmore.material3.ReadMoreTextScreenshotTest.readMoreText_expanded.($composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit + skippable: false + restartable: true + params: + - $composer: RUNTIME (requires runtime check) + - $changed: STABLE (primitive type)