Expose `SavedStateConfig` properties as public
- We have cases where `SavedStateConfig` properties need to be used in other modules, such as handling fallbacks with `serializersModule.serializer()` to support contextual and polymorphic serializers.
- To follow KTX Serialization convention, we are keeping `SavedStateConfig` properties public, similar to how `JsonConfiguration` does.
RelNote: "`SavedStateConfig` properties are now public, enabling other modules to use these configurations."
Bug: 378897438
Test: N/A
Change-Id: Ie5f4997bc61932de390da3699339e01b2e91b514
diff --git a/savedstate/savedstate/api/current.txt b/savedstate/savedstate/api/current.txt
index ba76eee..9c6ddf9 100644
--- a/savedstate/savedstate/api/current.txt
+++ b/savedstate/savedstate/api/current.txt
@@ -175,6 +175,10 @@
}
public final class SavedStateConfig {
+ method public int getClassDiscriminatorMode();
+ method public kotlinx.serialization.modules.SerializersModule getSerializersModule();
+ property public int classDiscriminatorMode;
+ property public kotlinx.serialization.modules.SerializersModule serializersModule;
field public static final androidx.savedstate.serialization.SavedStateConfig.Companion Companion;
field public static final androidx.savedstate.serialization.SavedStateConfig DEFAULT;
}
diff --git a/savedstate/savedstate/api/restricted_current.txt b/savedstate/savedstate/api/restricted_current.txt
index ff61985..10c068d 100644
--- a/savedstate/savedstate/api/restricted_current.txt
+++ b/savedstate/savedstate/api/restricted_current.txt
@@ -200,7 +200,10 @@
}
public final class SavedStateConfig {
- property @kotlin.PublishedApi internal kotlinx.serialization.modules.SerializersModule serializersModule;
+ method public int getClassDiscriminatorMode();
+ method public kotlinx.serialization.modules.SerializersModule getSerializersModule();
+ property public int classDiscriminatorMode;
+ property public kotlinx.serialization.modules.SerializersModule serializersModule;
field public static final androidx.savedstate.serialization.SavedStateConfig.Companion Companion;
field public static final androidx.savedstate.serialization.SavedStateConfig DEFAULT;
}
diff --git a/savedstate/savedstate/bcv/native/current.txt b/savedstate/savedstate/bcv/native/current.txt
index 0da23d7..b58138b 100644
--- a/savedstate/savedstate/bcv/native/current.txt
+++ b/savedstate/savedstate/bcv/native/current.txt
@@ -32,6 +32,8 @@
}
final class androidx.savedstate.serialization/SavedStateConfig { // androidx.savedstate.serialization/SavedStateConfig|null[0]
+ final val classDiscriminatorMode // androidx.savedstate.serialization/SavedStateConfig.classDiscriminatorMode|{}classDiscriminatorMode[0]
+ final fun <get-classDiscriminatorMode>(): kotlin/Int // androidx.savedstate.serialization/SavedStateConfig.classDiscriminatorMode.<get-classDiscriminatorMode>|<get-classDiscriminatorMode>(){}[0]
final val serializersModule // androidx.savedstate.serialization/SavedStateConfig.serializersModule|{}serializersModule[0]
final fun <get-serializersModule>(): kotlinx.serialization.modules/SerializersModule // androidx.savedstate.serialization/SavedStateConfig.serializersModule.<get-serializersModule>|<get-serializersModule>(){}[0]
diff --git a/savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateConfig.kt b/savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateConfig.kt
index 95a1e34..6a881c4 100644
--- a/savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateConfig.kt
+++ b/savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateConfig.kt
@@ -38,9 +38,9 @@
*/
public class SavedStateConfig
private constructor(
- @PublishedApi internal val serializersModule: SerializersModule = EmptySerializersModule(),
+ public val serializersModule: SerializersModule = EmptySerializersModule(),
@ClassDiscriminatorMode.Definition
- internal val classDiscriminatorMode: Int = ClassDiscriminatorMode.POLYMORPHIC,
+ public val classDiscriminatorMode: Int = ClassDiscriminatorMode.POLYMORPHIC,
) {
/**
* Builder of the [SavedStateConfig] instance provided by `SavedStateConfig { ... }` factory