Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Add property delegates to support saving and restoring serializable data with SavedStateHandle
Expand for full commit details
Add property delegates to support saving and restoring serializable data with SavedStateHandle
Relnote: Add `SavedStateHandle.saved()` property delegates
Bug: 376026744
Test: SerializationTest.kt
Change-Id: I47a88d7bc335db7e22a9e6c05da38c2a8e012331
Files:
- M
docs-tip-of-tree/build.gradle
- A
lifecycle/lifecycle-viewmodel-savedstate-samples/build.gradle
- A
lifecycle/lifecycle-viewmodel-savedstate-samples/src/main/java/androidx/lifecycle/LifecycleViewModelSavedStateSamples.kt
- 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/build.gradle
- M
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/AndroidManifest.xml
- A
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/kotlin/androidx/lifecycle/SerializationTest.kt
- A
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/SavedStateHandleDelegates.kt
- M
settings.gradle
Hash: 56f2b181d36e05dde00166b3ed188ad8700cc4e2
Date: Tue Nov 05 01:53:42 2024
il...@google.com <il...@google.com> #3
This has been fixed internally and will be available in Lifecycle ViewModel SavedState 2.9.0-alpha07.
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Fix empty SavedStates not getting restored
Expand for full commit details
Fix empty SavedStates not getting restored
Fixes an issue that when we restore an empty SavedState (e.g. from an empty List or an object without properties) we will ignore it and call the initailizer instead.
Bug: 376027806
Bug: 376026744
Test: SerializationTest.kt, SavedStateRegistryOwnerDelegatesTest.kt
Change-Id: Ibc7b93a58c3327589e1b1e30573459dde266ae72
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/kotlin/androidx/lifecycle/SerializationTest.kt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/SavedStateHandleDelegates.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegates.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegatesTest.kt
Hash: 61e4357bcd441f896695fdebe1e8d4f8108ae520
Date: Thu Nov 07 23:59:57 2024
na...@google.com <na...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-desktop:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-iosarm64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-iossimulatorarm64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-iosx64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-linuxarm64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-linuxx64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-macosarm64:2.9.0-alpha07
androidx.lifecycle:lifecycle-viewmodel-savedstate-macosx64:2.9.0-alpha07
androidx.savedstate:savedstate:1.3.0-alpha05
androidx.savedstate:savedstate-android:1.3.0-alpha05
androidx.savedstate:savedstate-desktop:1.3.0-alpha05
androidx.savedstate:savedstate-iosarm64:1.3.0-alpha05
androidx.savedstate:savedstate-iossimulatorarm64:1.3.0-alpha05
androidx.savedstate:savedstate-iosx64:1.3.0-alpha05
androidx.savedstate:savedstate-linuxarm64:1.3.0-alpha05
androidx.savedstate:savedstate-linuxx64:1.3.0-alpha05
androidx.savedstate:savedstate-macosarm64:1.3.0-alpha05
androidx.savedstate:savedstate-macosx64:1.3.0-alpha05
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Don't load value from SavedState or call init() when set() happens before get()
Expand for full commit details
Don't load value from SavedState or call init() when set() happens before get()
Bug: 376027806
Bug: 376026744
Test: SerializationTest, SavedStateRegistryOwnerDelegatesTest
Change-Id: I466a149716350aa5a4a8b50d787c14143b3a4060
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate/src/androidInstrumentedTest/kotlin/androidx/lifecycle/SerializationTest.kt
- M
lifecycle/lifecycle-viewmodel-savedstate/src/commonMain/kotlin/androidx/lifecycle/SavedStateHandleDelegates.kt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegates.kt
- M
savedstate/savedstate/src/commonTest/kotlin/androidx/savedstate/serialization/SavedStateRegistryOwnerDelegatesTest.kt
Hash: 4eefb5afedd1a6741b8c1a8606936921faf46f09
Date: Fri Nov 08 10:53:37 2024
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
Author: Kuan-Ying Chou <
Link:
Make the namings and package organization more consistent with SavedStateRegistryOwnerDelegate
Expand for full commit details
Make the namings and package organization more consistent with SavedStateRegistryOwnerDelegate
1. Rename `SerializationTest` to `SavedStateHandleDelegatesTest` and move to package `serialization`.
2. Move `SavedStateHandleDelegates` to package `serialization`.
3. Rename `SerializablePropertyDelegate` to `SavedStateHandleDelegate`.
4. Rename the parameter of `encodeToSavedState(T) from `serializable` to `value`.
Relnote: Make the namings and package organization more consistent with SavedStateRegistryOwnerDelegate
Bug: 376026744
Test: existing tests still pass
Change-Id: I8c1353eedd7299f885ce45b7d85deb4a24c557e4
Files:
- M
lifecycle/lifecycle-viewmodel-savedstate-samples/src/main/java/androidx/lifecycle/LifecycleViewModelSavedStateSamples.kt
- 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/api/current.txt
- M
savedstate/savedstate/api/restricted_current.txt
- M
savedstate/savedstate/src/commonMain/kotlin/androidx/savedstate/serialization/SavedStateEncoder.kt
Hash: 9763a24a5490004eb400ceca3268ee1ddf23e17e
Date: Fri Nov 29 14:30:34 2024
pr...@google.com <pr...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-desktop:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-iosarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-iossimulatorarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-iosx64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-linuxarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-linuxx64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-macosarm64:2.9.0-alpha08
androidx.lifecycle:lifecycle-viewmodel-savedstate-macosx64:2.9.0-alpha08
androidx.savedstate:savedstate:1.3.0-alpha06
androidx.savedstate:savedstate-android:1.3.0-alpha06
androidx.savedstate:savedstate-desktop:1.3.0-alpha06
androidx.savedstate:savedstate-iosarm64:1.3.0-alpha06
androidx.savedstate:savedstate-iossimulatorarm64:1.3.0-alpha06
androidx.savedstate:savedstate-iosx64:1.3.0-alpha06
androidx.savedstate:savedstate-linuxarm64:1.3.0-alpha06
androidx.savedstate:savedstate-linuxx64:1.3.0-alpha06
androidx.savedstate:savedstate-macosarm64:1.3.0-alpha06
androidx.savedstate:savedstate-macosx64:1.3.0-alpha06
Description
```kotlin
val serializable by savedStateHandle.saveable(key, serializer()) {
MySerializableType()
}
```