Status Update
Comments
va...@google.com <va...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Clean-up SavedState Serialization Reified functions
Expand for full commit details
Clean-up SavedState Serialization Reified functions
- Ensure their positioning and "call hierarchy" match each other.
- Make the KDocs consistent with KTX Serialization.
RelNote: "N/A"
Bug: b/399629301
Test: N/A
Change-Id: Icb6924b6f1929d4a3c00ded922c74e83fbe163f1
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/serialization/SavedStateHandleDelegates.kt
- M
savedstate/savedstate/api/current.txt
- M
savedstate/savedstate/api/restricted_current.txt
- M
savedstate/savedstate/bcv/native/current.txt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateDecoder.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateEncoder.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegates.kt
Hash: 4f4e3cf53813a572ddd78967a279e9d5415ac615
Date: Mon Feb 24 13:54:34 2025
mg...@google.com <mg...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Rename file SavedStateDelegates to SavedStateDelegate
Expand for full commit details
Rename file SavedState*Delegates to SavedState*Delegate
- File name now matches the class name `SavedState*Delegate`.
- That is consistent with `SavedStateDecoder.kt` and `SavedStateEncoder.kt` that are named after the `internal class` but expose only top-level functions (`SavedStateDecoderKt.method()` or `SavedStateEncoderKt.method()`).
RelNote: "Rename `SavedState*Delegates` to `SavedState*Delegate`."
Bug: 399629301
Test: N/A
Change-Id: I8589b62294646cb4529869228ea0185dac6087e6
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate/api/current.txt
- M
lifecycle/lifecycle-viewmodel-savedstate/api/restricted_current.txt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/kotlin/androidx/lifecycle/serialization/SavedStateHandleDelegateTest.kt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/serialization/SavedStateHandleDelegate.kt
- M
savedstate/savedstate/api/current.txt
- M
savedstate/savedstate/api/restricted_current.txt
- M
savedstate/savedstate/bcv/native/current.txt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegate.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegateTest.kt
Hash: d749bb5032edfe9547da480963da3c559b874023
Date: Fri Feb 28 14:18:38 2025
mg...@google.com <mg...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: Marcello Galhardo <
Link:
Rename SavedStateConfig to SavedStateConfiguration
Expand for full commit details
Rename SavedStateConfig to SavedStateConfiguration
- Previously called `SavedStateConfig`, we have decide to match the name used by the other KotlinX Serialization format configs.
RelNote: "Rename `SavedStateConfig` to `SavedStateConfiguration`."
Bug: 399629301
Test: N/A
Change-Id: I043a5be95276ef617588559f5e3fcdb15905b793
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate/api/current.txt
- M
lifecycle/lifecycle-viewmodel-savedstate/api/restricted_current.txt
- M
lifecycle/lifecycle-viewmodel-savedstate/bcv/native/current.txt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/kotlin/androidx/lifecycle/serialization/SavedStateHandleDelegatesTest.kt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/serialization/SavedStateHandleDelegates.kt
- M
savedstate/savedstate-compose/src/androidInstrumentedTest/kotlin/androidx/savedstate/compose/serialization/serializers/MutableStateSerializerTest.android.kt
- M
savedstate/savedstate-samples/src/main/java/androidx/savedstate/SavedStateCodecSamples.kt
- M
savedstate/savedstate/api/current.txt
- M
savedstate/savedstate/api/restricted_current.txt
- M
savedstate/savedstate/bcv/native/current.txt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/ClassDiscriminatorMode.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateConfiguration.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateDecoder.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateEncoder.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegates.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/SavedStateCodecTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/SavedStateCodecTestUtils.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/MutableStateFlowSerializerTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateCodecClassDiscriminatorAllObjectsTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateCodecClassDiscriminatorPolymorphicTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateCodecEncodeDefaultsTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegatesTest.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/utils/SavedStateSerializationBaseTest.kt
Hash: db71d74194b21d66c591aebfa5b6ea0398f0cd51
Date: Mon Feb 24 14:33:00 2025
mg...@google.com <mg...@google.com>
ap...@google.com <ap...@google.com> #5
Android API Change
This bug was referenced by a recent CL that changed the Android API surface area.
The
We'll wait until you mark this bug as 'Fixed' before starting our review, but please reach out if you'd like us to review it sooner.
Changes to lifecycle/lifecycle-viewmodel-savedstate/api/current.txt
- androidx.lifecycle.serialization
- androidx.lifecycle.serialization.SavedStateHandleDelegateKt
- androidx.lifecycle.serialization.SavedStateHandleDelegatesKt
Changes to savedstate/savedstate/api/current.txt
- androidx.savedstate.serialization
- androidx.savedstate.serialization.SavedStateRegistryOwnerDelegateKt
- androidx.savedstate.serialization.SavedStateRegistryOwnerDelegatesKt
[Gerrit:https://android-review.googlesource.com/3517474]
[API-Approvers:
[Branch:androidx-main]
[LIBRARY_API_REVIEW_TAG:lifecycle/lifecycle-viewmodel-savedstate/api/current.txt]
[LIBRARY_API_REVIEW_TAG:savedstate/savedstate/api/current.txt]
mg...@google.com <mg...@google.com>
mg...@google.com <mg...@google.com> #6
Android API Change
This bug was referenced by a recent CL that changed the Android API surface area.
The
We'll wait until you mark this bug as 'Fixed' before starting our review, but please reach out if you'd like us to review it sooner.
Changes to lifecycle/lifecycle-viewmodel-savedstate/api/current.txt
- androidx.lifecycle.serialization
- androidx.lifecycle.serialization.SavedStateHandleDelegatesKt
Changes to savedstate/savedstate/api/current.txt
- androidx.savedstate.serialization
- androidx.savedstate.serialization.SavedStateConfig
- androidx.savedstate.serialization.SavedStateConfig.Builder
- androidx.savedstate.serialization.SavedStateConfig.Companion
- androidx.savedstate.serialization.SavedStateConfigKt
- androidx.savedstate.serialization.SavedStateConfiguration
- androidx.savedstate.serialization.SavedStateConfiguration.Builder
- androidx.savedstate.serialization.SavedStateConfiguration.Companion
- androidx.savedstate.serialization.SavedStateConfigurationKt
- androidx.savedstate.serialization.SavedStateDecoderKt
- androidx.savedstate.serialization.SavedStateEncoderKt
- androidx.savedstate.serialization.SavedStateRegistryOwnerDelegatesKt
[Gerrit:https://android-review.googlesource.com/3506352]
[API-Approvers:
[Branch:androidx-main]
[LIBRARY_API_REVIEW_TAG:lifecycle/lifecycle-viewmodel-savedstate/api/current.txt]
[LIBRARY_API_REVIEW_TAG:savedstate/savedstate/api/current.txt]
na...@google.com <na...@google.com> #7
Android API Change
This bug was referenced by a recent CL that changed the Android API surface area.
The
We'll wait until you mark this bug as 'Fixed' before starting our review, but please reach out if you'd like us to review it sooner.
Changes to savedstate/savedstate/api/current.txt
- androidx.savedstate.serialization
- androidx.savedstate.serialization.SavedStateDecoderKt
- androidx.savedstate.serialization.SavedStateEncoderKt
[Gerrit:https://android-review.googlesource.com/3506351]
[API-Approvers:
[Branch:androidx-main]
[LIBRARY_API_REVIEW_TAG:savedstate/savedstate/api/current.txt]
Description
While
saveable
depends on aSaver
implementation,saved
depends on aKSerializer
. Both are valid options, depending on project needs (e.g., adding a KotlinX Serialization dependency might be undesirable).To smooth the transition between these APIs, we want to enable using
Saver
as aKSerializer
and vice versa.This would allow using
Serializable
classes insaveable
, andSaveable
data insaved
.Since
Saver
returns a type accepted byBundle
, andencodeToSavedState
returns aBundle
, we can theoretically wrap one within the other for compatibility with both APIs at the cost of an wrapper instance.The goal is to determine the best way to handle this interoperability.