From 373bd754045dd1e15738e2440bf28f69b5129887 Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 28 May 2026 15:28:56 +0800 Subject: [PATCH 1/2] Migrate BCV https://kotlinlang.org/docs/gradle-binary-compatibility-validation.html --- build.gradle.kts | 1 - gradle/libs.versions.toml | 1 - preference/api/preference.klib.api | 190 +++++++++++++++++++++++++++++ preference/build.gradle.kts | 7 +- 4 files changed, 196 insertions(+), 3 deletions(-) create mode 100644 preference/api/preference.klib.api diff --git a/build.gradle.kts b/build.gradle.kts index 24495cb..288bbeb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,7 +27,6 @@ plugins { alias(libs.plugins.kotlin.jvm).apply(false) alias(libs.plugins.kotlin.multiplatform).apply(false) alias(libs.plugins.kotlin.plugin.compose).apply(false) - alias(libs.plugins.kotlinx.binaryCompatibilityValidator).apply(false) alias(libs.plugins.mavenPublish).apply(false) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 15d4099..6d5dff5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -32,5 +32,4 @@ dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-plugin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -kotlinx-binaryCompatibilityValidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinx-binaryCompatibilityValidator" } mavenPublish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublish" } diff --git a/preference/api/preference.klib.api b/preference/api/preference.klib.api new file mode 100644 index 0000000..10213b2 --- /dev/null +++ b/preference/api/preference.klib.api @@ -0,0 +1,190 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, js, macosArm64, wasmJs] +// Alias: apple => [iosArm64, iosSimulatorArm64, macosArm64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final enum class me.zhanghai.compose.preference/ListPreferenceType : kotlin/Enum { // me.zhanghai.compose.preference/ListPreferenceType|null[0] + enum entry ALERT_DIALOG // me.zhanghai.compose.preference/ListPreferenceType.ALERT_DIALOG|null[0] + enum entry DROPDOWN_MENU // me.zhanghai.compose.preference/ListPreferenceType.DROPDOWN_MENU|null[0] + + final val entries // me.zhanghai.compose.preference/ListPreferenceType.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // me.zhanghai.compose.preference/ListPreferenceType.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): me.zhanghai.compose.preference/ListPreferenceType // me.zhanghai.compose.preference/ListPreferenceType.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // me.zhanghai.compose.preference/ListPreferenceType.values|values#static(){}[0] +} + +abstract interface me.zhanghai.compose.preference/MutablePreferences : me.zhanghai.compose.preference/Preferences { // me.zhanghai.compose.preference/MutablePreferences|null[0] + abstract fun <#A1: kotlin/Any?> set(kotlin/String, #A1?) // me.zhanghai.compose.preference/MutablePreferences.set|set(kotlin.String;0:0?){0§}[0] + abstract fun clear() // me.zhanghai.compose.preference/MutablePreferences.clear|clear(){}[0] + open fun minusAssign(kotlin/String) // me.zhanghai.compose.preference/MutablePreferences.minusAssign|minusAssign(kotlin.String){}[0] + open fun remove(kotlin/String) // me.zhanghai.compose.preference/MutablePreferences.remove|remove(kotlin.String){}[0] +} + +abstract interface me.zhanghai.compose.preference/Preferences { // me.zhanghai.compose.preference/Preferences|null[0] + abstract fun <#A1: kotlin/Any?> get(kotlin/String): #A1? // me.zhanghai.compose.preference/Preferences.get|get(kotlin.String){0§}[0] + abstract fun asMap(): kotlin.collections/Map // me.zhanghai.compose.preference/Preferences.asMap|asMap(){}[0] + abstract fun toMutablePreferences(): me.zhanghai.compose.preference/MutablePreferences // me.zhanghai.compose.preference/Preferences.toMutablePreferences|toMutablePreferences(){}[0] + open fun toPreferences(): me.zhanghai.compose.preference/Preferences // me.zhanghai.compose.preference/Preferences.toPreferences|toPreferences(){}[0] +} + +final class me.zhanghai.compose.preference/MapPreferences : me.zhanghai.compose.preference/Preferences { // me.zhanghai.compose.preference/MapPreferences|null[0] + constructor (kotlin.collections/Map = ...) // me.zhanghai.compose.preference/MapPreferences.|(kotlin.collections.Map){}[0] + + final fun <#A1: kotlin/Any?> get(kotlin/String): #A1? // me.zhanghai.compose.preference/MapPreferences.get|get(kotlin.String){0§}[0] + final fun asMap(): kotlin.collections/Map // me.zhanghai.compose.preference/MapPreferences.asMap|asMap(){}[0] + final fun toMutablePreferences(): me.zhanghai.compose.preference/MutablePreferences // me.zhanghai.compose.preference/MapPreferences.toMutablePreferences|toMutablePreferences(){}[0] +} + +final class me.zhanghai.compose.preference/MutableMapPreferences : me.zhanghai.compose.preference/MutablePreferences { // me.zhanghai.compose.preference/MutableMapPreferences|null[0] + constructor (kotlin.collections/MutableMap = ...) // me.zhanghai.compose.preference/MutableMapPreferences.|(kotlin.collections.MutableMap){}[0] + + final fun <#A1: kotlin/Any?> get(kotlin/String): #A1? // me.zhanghai.compose.preference/MutableMapPreferences.get|get(kotlin.String){0§}[0] + final fun <#A1: kotlin/Any?> set(kotlin/String, #A1?) // me.zhanghai.compose.preference/MutableMapPreferences.set|set(kotlin.String;0:0?){0§}[0] + final fun asMap(): kotlin.collections/Map // me.zhanghai.compose.preference/MutableMapPreferences.asMap|asMap(){}[0] + final fun clear() // me.zhanghai.compose.preference/MutableMapPreferences.clear|clear(){}[0] + final fun toMutablePreferences(): me.zhanghai.compose.preference/MutablePreferences // me.zhanghai.compose.preference/MutableMapPreferences.toMutablePreferences|toMutablePreferences(){}[0] +} + +final class me.zhanghai.compose.preference/PreferenceTheme { // me.zhanghai.compose.preference/PreferenceTheme|null[0] + constructor (androidx.compose.foundation.layout/PaddingValues, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle, androidx.compose.foundation.layout/PaddingValues, androidx.compose.ui.unit/Dp, androidx.compose.ui.unit/Dp, kotlin/Float, androidx.compose.ui.unit/Dp, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle, androidx.compose.ui.unit/Dp) // me.zhanghai.compose.preference/PreferenceTheme.|(androidx.compose.foundation.layout.PaddingValues;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle;androidx.compose.foundation.layout.PaddingValues;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;kotlin.Float;androidx.compose.ui.unit.Dp;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle;androidx.compose.ui.unit.Dp){}[0] + + final val categoryColor // me.zhanghai.compose.preference/PreferenceTheme.categoryColor|{}categoryColor[0] + final fun (): androidx.compose.ui.graphics/Color // me.zhanghai.compose.preference/PreferenceTheme.categoryColor.|(){}[0] + final val categoryPadding // me.zhanghai.compose.preference/PreferenceTheme.categoryPadding|{}categoryPadding[0] + final fun (): androidx.compose.foundation.layout/PaddingValues // me.zhanghai.compose.preference/PreferenceTheme.categoryPadding.|(){}[0] + final val categoryTextStyle // me.zhanghai.compose.preference/PreferenceTheme.categoryTextStyle|{}categoryTextStyle[0] + final fun (): androidx.compose.ui.text/TextStyle // me.zhanghai.compose.preference/PreferenceTheme.categoryTextStyle.|(){}[0] + final val disabledOpacity // me.zhanghai.compose.preference/PreferenceTheme.disabledOpacity|{}disabledOpacity[0] + final fun (): kotlin/Float // me.zhanghai.compose.preference/PreferenceTheme.disabledOpacity.|(){}[0] + final val dividerHeight // me.zhanghai.compose.preference/PreferenceTheme.dividerHeight|{}dividerHeight[0] + final fun (): androidx.compose.ui.unit/Dp // me.zhanghai.compose.preference/PreferenceTheme.dividerHeight.|(){}[0] + final val horizontalSpacing // me.zhanghai.compose.preference/PreferenceTheme.horizontalSpacing|{}horizontalSpacing[0] + final fun (): androidx.compose.ui.unit/Dp // me.zhanghai.compose.preference/PreferenceTheme.horizontalSpacing.|(){}[0] + final val iconColor // me.zhanghai.compose.preference/PreferenceTheme.iconColor|{}iconColor[0] + final fun (): androidx.compose.ui.graphics/Color // me.zhanghai.compose.preference/PreferenceTheme.iconColor.|(){}[0] + final val iconContainerMinWidth // me.zhanghai.compose.preference/PreferenceTheme.iconContainerMinWidth|{}iconContainerMinWidth[0] + final fun (): androidx.compose.ui.unit/Dp // me.zhanghai.compose.preference/PreferenceTheme.iconContainerMinWidth.|(){}[0] + final val padding // me.zhanghai.compose.preference/PreferenceTheme.padding|{}padding[0] + final fun (): androidx.compose.foundation.layout/PaddingValues // me.zhanghai.compose.preference/PreferenceTheme.padding.|(){}[0] + final val summaryColor // me.zhanghai.compose.preference/PreferenceTheme.summaryColor|{}summaryColor[0] + final fun (): androidx.compose.ui.graphics/Color // me.zhanghai.compose.preference/PreferenceTheme.summaryColor.|(){}[0] + final val summaryTextStyle // me.zhanghai.compose.preference/PreferenceTheme.summaryTextStyle|{}summaryTextStyle[0] + final fun (): androidx.compose.ui.text/TextStyle // me.zhanghai.compose.preference/PreferenceTheme.summaryTextStyle.|(){}[0] + final val titleColor // me.zhanghai.compose.preference/PreferenceTheme.titleColor|{}titleColor[0] + final fun (): androidx.compose.ui.graphics/Color // me.zhanghai.compose.preference/PreferenceTheme.titleColor.|(){}[0] + final val titleTextStyle // me.zhanghai.compose.preference/PreferenceTheme.titleTextStyle|{}titleTextStyle[0] + final fun (): androidx.compose.ui.text/TextStyle // me.zhanghai.compose.preference/PreferenceTheme.titleTextStyle.|(){}[0] + final val verticalSpacing // me.zhanghai.compose.preference/PreferenceTheme.verticalSpacing|{}verticalSpacing[0] + final fun (): androidx.compose.ui.unit/Dp // me.zhanghai.compose.preference/PreferenceTheme.verticalSpacing.|(){}[0] +} + +final object me.zhanghai.compose.preference/ListPreferenceDefaults { // me.zhanghai.compose.preference/ListPreferenceDefaults|null[0] + final fun <#A1: kotlin/Any?> item(me.zhanghai.compose.preference/ListPreferenceType, kotlin/Function3<#A1, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>): kotlin/Function5<#A1, #A1, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> // me.zhanghai.compose.preference/ListPreferenceDefaults.item|item(me.zhanghai.compose.preference.ListPreferenceType;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>){0§}[0] +} + +final object me.zhanghai.compose.preference/MultiSelectListPreferenceDefaults { // me.zhanghai.compose.preference/MultiSelectListPreferenceDefaults|null[0] + final fun <#A1: kotlin/Any?> item(kotlin/Function3<#A1, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>): kotlin/Function5<#A1, kotlin.collections/Set<#A1>, kotlin/Function1, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> // me.zhanghai.compose.preference/MultiSelectListPreferenceDefaults.item|item(kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>){0§}[0] +} + +final object me.zhanghai.compose.preference/TextFieldPreferenceDefaults { // me.zhanghai.compose.preference/TextFieldPreferenceDefaults|null[0] + final val TextField // me.zhanghai.compose.preference/TextFieldPreferenceDefaults.TextField|{}TextField[0] + final fun (): kotlin/Function5, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> // me.zhanghai.compose.preference/TextFieldPreferenceDefaults.TextField.|(){}[0] +} + +final val composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_array$stableprop // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_array$stableprop|#static{}composepreference_preference_generated_resources_Res_array$stableprop[0] +final val composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_drawable$stableprop // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_drawable$stableprop|#static{}composepreference_preference_generated_resources_Res_drawable$stableprop[0] +final val composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_font$stableprop // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_font$stableprop|#static{}composepreference_preference_generated_resources_Res_font$stableprop[0] +final val composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_plurals$stableprop // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_plurals$stableprop|#static{}composepreference_preference_generated_resources_Res_plurals$stableprop[0] +final val composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_string$stableprop // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_string$stableprop|#static{}composepreference_preference_generated_resources_Res_string$stableprop[0] +final val me.zhanghai.compose.preference/LocalPreferenceFlow // me.zhanghai.compose.preference/LocalPreferenceFlow|{}LocalPreferenceFlow[0] + final fun (): androidx.compose.runtime/ProvidableCompositionLocal> // me.zhanghai.compose.preference/LocalPreferenceFlow.|(){}[0] +final val me.zhanghai.compose.preference/LocalPreferenceTheme // me.zhanghai.compose.preference/LocalPreferenceTheme|{}LocalPreferenceTheme[0] + final fun (): androidx.compose.runtime/ProvidableCompositionLocal // me.zhanghai.compose.preference/LocalPreferenceTheme.|(){}[0] +final val me.zhanghai.compose.preference/me_zhanghai_compose_preference_MapPreferences$stableprop // me.zhanghai.compose.preference/me_zhanghai_compose_preference_MapPreferences$stableprop|#static{}me_zhanghai_compose_preference_MapPreferences$stableprop[0] +final val me.zhanghai.compose.preference/me_zhanghai_compose_preference_MutableMapPreferences$stableprop // me.zhanghai.compose.preference/me_zhanghai_compose_preference_MutableMapPreferences$stableprop|#static{}me_zhanghai_compose_preference_MutableMapPreferences$stableprop[0] +final val me.zhanghai.compose.preference/me_zhanghai_compose_preference_PreferenceTheme$stableprop // me.zhanghai.compose.preference/me_zhanghai_compose_preference_PreferenceTheme$stableprop|#static{}me_zhanghai_compose_preference_PreferenceTheme$stableprop[0] + +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/basicPreference(kotlin/String, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2 = ..., kotlin/Function2 = ..., kotlin/Function0? = ...) // me.zhanghai.compose.preference/basicPreference|basicPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2;kotlin.Function2;kotlin.Function0?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/checkboxPreference(kotlin/String, kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ...) // me.zhanghai.compose.preference/checkboxPreference|checkboxPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/footerPreference(kotlin/String, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Function2 = ...) // me.zhanghai.compose.preference/footerPreference|footerPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Function2){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/preference(kotlin/String, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function0? = ...) // me.zhanghai.compose.preference/preference|preference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/preferenceCategory(kotlin/String, kotlin/Function2, androidx.compose.ui/Modifier = ...) // me.zhanghai.compose.preference/preferenceCategory|preferenceCategory@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;androidx.compose.ui.Modifier){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/radioButtonPreference(kotlin/String, kotlin/Boolean, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function0) // me.zhanghai.compose.preference/radioButtonPreference|radioButtonPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/sliderPreference(kotlin/String, kotlin/Float, kotlin/Function1, kotlin/Float, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin.ranges/ClosedFloatingPointRange = ..., kotlin/Int = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function2? = ...) // me.zhanghai.compose.preference/sliderPreference|sliderPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Float;kotlin.Function1;kotlin.Float;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.ranges.ClosedFloatingPointRange;kotlin.Int;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function2?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/switchPreference(kotlin/String, kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ...) // me.zhanghai.compose.preference/switchPreference|switchPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/twoTargetIconButtonPreference(kotlin/String, kotlin/Function2, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function0? = ..., kotlin/Boolean = ..., kotlin/Function0) // me.zhanghai.compose.preference/twoTargetIconButtonPreference|twoTargetIconButtonPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?;kotlin.Boolean;kotlin.Function0){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/twoTargetPreference(kotlin/String, kotlin/Function2, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function0? = ...) // me.zhanghai.compose.preference/twoTargetPreference|twoTargetPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Function2;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?){}[0] +final fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/twoTargetSwitchPreference(kotlin/String, kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Boolean = ..., kotlin/Function0? = ...) // me.zhanghai.compose.preference/twoTargetSwitchPreference|twoTargetSwitchPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Boolean;kotlin.Function0?){}[0] +final fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/listPreference(kotlin/String, #A, kotlin/Function1<#A, kotlin/Unit>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., me.zhanghai.compose.preference/ListPreferenceType = ..., kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString> = ..., kotlin/Function5<#A, #A, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/listPreference|listPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;me.zhanghai.compose.preference.ListPreferenceType;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>;kotlin.Function5<0:0,0:0,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/multiSelectListPreference(kotlin/String, kotlin.collections/Set<#A>, kotlin/Function1, kotlin/Unit>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString> = ..., kotlin/Function5<#A, kotlin.collections/Set<#A>, kotlin/Function1, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/multiSelectListPreference|multiSelectListPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.collections.Set<0:0>;kotlin.Function1,kotlin.Unit>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>;kotlin.Function5<0:0,kotlin.collections.Set<0:0>,kotlin.Function1,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/textFieldPreference(kotlin/String, #A, kotlin/Function1<#A, kotlin/Unit>, kotlin/Function2, kotlin/Function1, androidx.compose.ui/Modifier = ..., kotlin/Boolean = ..., kotlin/Function2? = ..., kotlin/Function2? = ..., kotlin/Function1<#A, kotlin/String> = ..., kotlin/Function5, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/textFieldPreference|textFieldPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function2;kotlin.Function1;androidx.compose.ui.Modifier;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function1<0:0,kotlin.String>;kotlin.Function5,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/ListPreference(#A, kotlin/Function1<#A, kotlin/Unit>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, me.zhanghai.compose.preference/ListPreferenceType?, kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>?, kotlin/Function5<#A, #A, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/ListPreference|ListPreference(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;me.zhanghai.compose.preference.ListPreferenceType?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>?;kotlin.Function5<0:0,0:0,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/ListPreference(androidx.compose.runtime/MutableState<#A>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, me.zhanghai.compose.preference/ListPreferenceType?, kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>?, kotlin/Function5<#A, #A, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/ListPreference|ListPreference(androidx.compose.runtime.MutableState<0:0>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;me.zhanghai.compose.preference.ListPreferenceType?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>?;kotlin.Function5<0:0,0:0,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/MultiSelectListPreference(androidx.compose.runtime/MutableState>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>?, kotlin/Function5<#A, kotlin.collections/Set<#A>, kotlin/Function1, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/MultiSelectListPreference|MultiSelectListPreference(androidx.compose.runtime.MutableState>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>?;kotlin.Function5<0:0,kotlin.collections.Set<0:0>,kotlin.Function1,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/MultiSelectListPreference(kotlin.collections/Set<#A>, kotlin/Function1, kotlin/Unit>, kotlin.collections/List<#A>, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString>?, kotlin/Function5<#A, kotlin.collections/Set<#A>, kotlin/Function1, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/MultiSelectListPreference|MultiSelectListPreference(kotlin.collections.Set<0:0>;kotlin.Function1,kotlin.Unit>;kotlin.collections.List<0:0>;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>?;kotlin.Function5<0:0,kotlin.collections.Set<0:0>,kotlin.Function1,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/TextFieldPreference(#A, kotlin/Function1<#A, kotlin/Unit>, kotlin/Function2, kotlin/Function1, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function1<#A, kotlin/String>?, kotlin/Function5, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TextFieldPreference|TextFieldPreference(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function2;kotlin.Function1;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function1<0:0,kotlin.String>?;kotlin.Function5,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/TextFieldPreference(androidx.compose.runtime/MutableState<#A>, kotlin/Function2, kotlin/Function1, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function1<#A, kotlin/String>?, kotlin/Function5, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TextFieldPreference|TextFieldPreference(androidx.compose.runtime.MutableState<0:0>;kotlin.Function2;kotlin.Function1;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function1<0:0,kotlin.String>?;kotlin.Function5,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> me.zhanghai.compose.preference/rememberPreferenceState(kotlin/String, #A, kotlinx.coroutines.flow/MutableStateFlow?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): androidx.compose.runtime/MutableState<#A> // me.zhanghai.compose.preference/rememberPreferenceState|rememberPreferenceState(kotlin.String;0:0;kotlinx.coroutines.flow.MutableStateFlow?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§}[0] +final fun composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_array$stableprop_getter(): kotlin/Int // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_array$stableprop_getter|composepreference_preference_generated_resources_Res_array$stableprop_getter(){}[0] +final fun composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_drawable$stableprop_getter(): kotlin/Int // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_drawable$stableprop_getter|composepreference_preference_generated_resources_Res_drawable$stableprop_getter(){}[0] +final fun composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_font$stableprop_getter(): kotlin/Int // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_font$stableprop_getter|composepreference_preference_generated_resources_Res_font$stableprop_getter(){}[0] +final fun composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_plurals$stableprop_getter(): kotlin/Int // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_plurals$stableprop_getter|composepreference_preference_generated_resources_Res_plurals$stableprop_getter(){}[0] +final fun composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_string$stableprop_getter(): kotlin/Int // composepreference.preference.generated.resources/composepreference_preference_generated_resources_Res_string$stableprop_getter|composepreference_preference_generated_resources_Res_string$stableprop_getter(){}[0] +final fun me.zhanghai.compose.preference/BasicPreference(kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function0?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/BasicPreference|BasicPreference(kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/CheckboxPreference(androidx.compose.runtime/MutableState, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/CheckboxPreference|CheckboxPreference(androidx.compose.runtime.MutableState;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/CheckboxPreference(kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/CheckboxPreference|CheckboxPreference(kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/FooterPreference(kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/FooterPreference|FooterPreference(kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/Preference(kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function2?, kotlin/Function0?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/Preference|Preference(kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/PreferenceCategory(kotlin/Function2, androidx.compose.ui/Modifier?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/PreferenceCategory|PreferenceCategory(kotlin.Function2;androidx.compose.ui.Modifier?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/ProvidePreferenceFlow(kotlinx.coroutines.flow/MutableStateFlow?, kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/ProvidePreferenceFlow|ProvidePreferenceFlow(kotlinx.coroutines.flow.MutableStateFlow?;kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/ProvidePreferenceLocals(kotlinx.coroutines.flow/MutableStateFlow?, me.zhanghai.compose.preference/PreferenceTheme?, kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/ProvidePreferenceLocals|ProvidePreferenceLocals(kotlinx.coroutines.flow.MutableStateFlow?;me.zhanghai.compose.preference.PreferenceTheme?;kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/ProvidePreferenceTheme(me.zhanghai.compose.preference/PreferenceTheme?, kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/ProvidePreferenceTheme|ProvidePreferenceTheme(me.zhanghai.compose.preference.PreferenceTheme?;kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/RadioButtonPreference(kotlin/Boolean, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function0, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/RadioButtonPreference|RadioButtonPreference(kotlin.Boolean;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/SliderPreference(androidx.compose.runtime/MutableState, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin.ranges/ClosedFloatingPointRange?, kotlin/Int, androidx.compose.runtime/MutableFloatState?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/SliderPreference|SliderPreference(androidx.compose.runtime.MutableState;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.ranges.ClosedFloatingPointRange?;kotlin.Int;androidx.compose.runtime.MutableFloatState?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/SliderPreference(kotlin/Float, kotlin/Function1, kotlin/Float, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin.ranges/ClosedFloatingPointRange?, kotlin/Int, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/SliderPreference|SliderPreference(kotlin.Float;kotlin.Function1;kotlin.Float;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.ranges.ClosedFloatingPointRange?;kotlin.Int;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/SwitchPreference(androidx.compose.runtime/MutableState, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/SwitchPreference|SwitchPreference(androidx.compose.runtime.MutableState;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/SwitchPreference(kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/SwitchPreference|SwitchPreference(kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/TwoTargetIconButtonPreference(kotlin/Function2, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function0?, kotlin/Boolean, kotlin/Function0, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TwoTargetIconButtonPreference|TwoTargetIconButtonPreference(kotlin.Function2;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?;kotlin.Boolean;kotlin.Function0;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/TwoTargetPreference(kotlin/Function2, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Function0?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TwoTargetPreference|TwoTargetPreference(kotlin.Function2;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Function0?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/TwoTargetSwitchPreference(androidx.compose.runtime/MutableState, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Boolean, kotlin/Function0?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TwoTargetSwitchPreference|TwoTargetSwitchPreference(androidx.compose.runtime.MutableState;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Boolean;kotlin.Function0?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/TwoTargetSwitchPreference(kotlin/Boolean, kotlin/Function1, kotlin/Function2, androidx.compose.ui/Modifier?, kotlin/Boolean, kotlin/Function2?, kotlin/Function2?, kotlin/Boolean, kotlin/Function0?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // me.zhanghai.compose.preference/TwoTargetSwitchPreference|TwoTargetSwitchPreference(kotlin.Boolean;kotlin.Function1;kotlin.Function2;androidx.compose.ui.Modifier?;kotlin.Boolean;kotlin.Function2?;kotlin.Function2?;kotlin.Boolean;kotlin.Function0?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/createDefaultPreferenceFlow(androidx.compose.runtime/Composer?, kotlin/Int): kotlinx.coroutines.flow/MutableStateFlow // me.zhanghai.compose.preference/createDefaultPreferenceFlow|createDefaultPreferenceFlow(androidx.compose.runtime.Composer?;kotlin.Int){}[0] +final fun me.zhanghai.compose.preference/me_zhanghai_compose_preference_MapPreferences$stableprop_getter(): kotlin/Int // me.zhanghai.compose.preference/me_zhanghai_compose_preference_MapPreferences$stableprop_getter|me_zhanghai_compose_preference_MapPreferences$stableprop_getter(){}[0] +final fun me.zhanghai.compose.preference/me_zhanghai_compose_preference_MutableMapPreferences$stableprop_getter(): kotlin/Int // me.zhanghai.compose.preference/me_zhanghai_compose_preference_MutableMapPreferences$stableprop_getter|me_zhanghai_compose_preference_MutableMapPreferences$stableprop_getter(){}[0] +final fun me.zhanghai.compose.preference/me_zhanghai_compose_preference_PreferenceTheme$stableprop_getter(): kotlin/Int // me.zhanghai.compose.preference/me_zhanghai_compose_preference_PreferenceTheme$stableprop_getter|me_zhanghai_compose_preference_PreferenceTheme$stableprop_getter(){}[0] +final fun me.zhanghai.compose.preference/preferenceTheme(androidx.compose.foundation.layout/PaddingValues?, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle?, androidx.compose.foundation.layout/PaddingValues?, androidx.compose.ui.unit/Dp, androidx.compose.ui.unit/Dp, kotlin/Float, androidx.compose.ui.unit/Dp, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.graphics/Color, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.unit/Dp, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int): me.zhanghai.compose.preference/PreferenceTheme // me.zhanghai.compose.preference/preferenceTheme|preferenceTheme(androidx.compose.foundation.layout.PaddingValues?;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle?;androidx.compose.foundation.layout.PaddingValues?;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;kotlin.Float;androidx.compose.ui.unit.Dp;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.graphics.Color;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.unit.Dp;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final inline fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/checkboxPreference(kotlin/String, kotlin/Boolean, crossinline kotlin/Function3, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., crossinline kotlin/Function1 = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function3? = ...) // me.zhanghai.compose.preference/checkboxPreference|checkboxPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function3;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.Function1;kotlin.Function3?;kotlin.Function3?){}[0] +final inline fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/sliderPreference(kotlin/String, kotlin/Float, crossinline kotlin/Function3, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., kotlin.ranges/ClosedFloatingPointRange = ..., kotlin/Int = ..., crossinline kotlin/Function3 = ..., crossinline kotlin/Function1 = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function3? = ...) // me.zhanghai.compose.preference/sliderPreference|sliderPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Float;kotlin.Function3;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.ranges.ClosedFloatingPointRange;kotlin.Int;kotlin.Function3;kotlin.Function1;kotlin.Function3?;kotlin.Function3?;kotlin.Function3?){}[0] +final inline fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/switchPreference(kotlin/String, kotlin/Boolean, crossinline kotlin/Function3, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., crossinline kotlin/Function1 = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function3? = ...) // me.zhanghai.compose.preference/switchPreference|switchPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function3;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.Function1;kotlin.Function3?;kotlin.Function3?){}[0] +final inline fun (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/twoTargetSwitchPreference(kotlin/String, kotlin/Boolean, crossinline kotlin/Function3, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., noinline kotlin/Function1 = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function3? = ..., noinline kotlin/Function1 = ..., noinline kotlin/Function1? = ...) // me.zhanghai.compose.preference/twoTargetSwitchPreference|twoTargetSwitchPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.Boolean;kotlin.Function3;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.Function1;kotlin.Function3?;kotlin.Function3?;kotlin.Function1;kotlin.Function1?){}[0] +final inline fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/listPreference(kotlin/String, #A, kotlin.collections/List<#A>, crossinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., crossinline kotlin/Function1<#A, kotlin/Boolean> = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., me.zhanghai.compose.preference/ListPreferenceType = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString> = ..., noinline kotlin/Function5<#A, #A, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/listPreference|listPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;0:0;kotlin.collections.List<0:0>;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.Function1<0:0,kotlin.Boolean>;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;me.zhanghai.compose.preference.ListPreferenceType;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>;kotlin.Function5<0:0,0:0,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] +final inline fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/multiSelectListPreference(kotlin/String, kotlin.collections/Set<#A>, kotlin.collections/List<#A>, crossinline kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2>> = ..., crossinline kotlin/Function1, kotlin/Boolean> = ..., noinline kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., noinline kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, androidx.compose.ui.text/AnnotatedString> = ..., noinline kotlin/Function5<#A, kotlin.collections/Set<#A>, kotlin/Function1, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/multiSelectListPreference|multiSelectListPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;kotlin.collections.Set<0:0>;kotlin.collections.List<0:0>;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.ui.Modifier;kotlin.Function2>>;kotlin.Function1,kotlin.Boolean>;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,androidx.compose.ui.text.AnnotatedString>;kotlin.Function5<0:0,kotlin.collections.Set<0:0>,kotlin.Function1,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] +final inline fun <#A: kotlin/Any?> (androidx.compose.foundation.lazy/LazyListScope).me.zhanghai.compose.preference/textFieldPreference(kotlin/String, #A, crossinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, noinline kotlin/Function1, androidx.compose.ui/Modifier = ..., crossinline kotlin/Function2> = ..., crossinline kotlin/Function1<#A, kotlin/Boolean> = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., noinline kotlin/Function3<#A, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>? = ..., noinline kotlin/Function1<#A, kotlin/String> = ..., noinline kotlin/Function5, kotlin/Function0, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> = ...) // me.zhanghai.compose.preference/textFieldPreference|textFieldPreference@androidx.compose.foundation.lazy.LazyListScope(kotlin.String;0:0;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;kotlin.Function1;androidx.compose.ui.Modifier;kotlin.Function2>;kotlin.Function1<0:0,kotlin.Boolean>;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function3<0:0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;kotlin.Function1<0:0,kotlin.String>;kotlin.Function5,kotlin.Function0,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){0§}[0] + +// Targets: [apple] +final var me.zhanghai.compose.preference/isDefaultPreferenceFlowAppleLongOnlySupportEnabled // me.zhanghai.compose.preference/isDefaultPreferenceFlowAppleLongOnlySupportEnabled|{}isDefaultPreferenceFlowAppleLongOnlySupportEnabled[0] + final fun (): kotlin/Boolean // me.zhanghai.compose.preference/isDefaultPreferenceFlowAppleLongOnlySupportEnabled.|(){}[0] + final fun (kotlin/Boolean) // me.zhanghai.compose.preference/isDefaultPreferenceFlowAppleLongOnlySupportEnabled.|(kotlin.Boolean){}[0] + +// Targets: [apple] +final fun me.zhanghai.compose.preference/createPreferenceFlow(platform.Foundation/NSUserDefaults): kotlinx.coroutines.flow/MutableStateFlow // me.zhanghai.compose.preference/createPreferenceFlow|createPreferenceFlow(platform.Foundation.NSUserDefaults){}[0] + +// Targets: [js, wasmJs] +abstract interface me.zhanghai.compose.preference/Storage { // me.zhanghai.compose.preference/Storage|null[0] + abstract val length // me.zhanghai.compose.preference/Storage.length|{}length[0] + abstract fun (): kotlin/Int // me.zhanghai.compose.preference/Storage.length.|(){}[0] + + abstract fun clear() // me.zhanghai.compose.preference/Storage.clear|clear(){}[0] + abstract fun getItem(kotlin/String): kotlin/String? // me.zhanghai.compose.preference/Storage.getItem|getItem(kotlin.String){}[0] + abstract fun key(kotlin/Int): kotlin/String? // me.zhanghai.compose.preference/Storage.key|key(kotlin.Int){}[0] + abstract fun removeItem(kotlin/String) // me.zhanghai.compose.preference/Storage.removeItem|removeItem(kotlin.String){}[0] + abstract fun setItem(kotlin/String, kotlin/String) // me.zhanghai.compose.preference/Storage.setItem|setItem(kotlin.String;kotlin.String){}[0] +} + +// Targets: [js, wasmJs] +final fun me.zhanghai.compose.preference/createPreferenceFlow(me.zhanghai.compose.preference/Storage): kotlinx.coroutines.flow/MutableStateFlow // me.zhanghai.compose.preference/createPreferenceFlow|createPreferenceFlow(me.zhanghai.compose.preference.Storage){}[0] diff --git a/preference/build.gradle.kts b/preference/build.gradle.kts index 4e52be5..449c5e7 100644 --- a/preference/build.gradle.kts +++ b/preference/build.gradle.kts @@ -15,6 +15,7 @@ */ import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl +import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation plugins { alias(libs.plugins.android.kotlinMultiplatformLibrary) @@ -22,13 +23,17 @@ plugins { alias(libs.plugins.dokka) alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.plugin.compose) - alias(libs.plugins.kotlinx.binaryCompatibilityValidator) alias(libs.plugins.mavenPublish) } kotlin { explicitApi() + @OptIn(ExperimentalAbiValidation::class) + abiValidation { + enabled = true + } + // From AndroidX and Compose Multiplatform // @see // https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:collection/collection/build.gradle From 8024e7c124adca47f6b0f4ed1d08b7da94a7d174 Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 28 May 2026 15:30:55 +0800 Subject: [PATCH 2/2] Run checkKotlinAbi for PRs --- .github/workflows/android.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 4d64e1f..eca8ab4 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -1,6 +1,10 @@ name: Android CI -on: [push] +on: + push: + branches: + - master + pull_request: jobs: build: @@ -18,4 +22,4 @@ jobs: distribution: 'temurin' java-version: '17' - name: Build with Gradle - run: ./gradlew assembleDebug lintVitalRelease + run: ./gradlew assembleDebug lintVitalRelease :preference:checkKotlinAbi