Status Update
Comments
cc...@google.com <cc...@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
ra...@google.com <ra...@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
lo...@gmail.com <lo...@gmail.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
ra...@google.com <ra...@google.com>
ra...@google.com <ra...@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]
ap...@google.com <ap...@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
Component used: Version used: Latest (1.3.0-alpha04) Devices/Android versions reproduced on: all devices
TL;DR
Macrobenchmark tests fails with
IllegalArgumentException: At least one result is necessary
when usingFrameTimingMetric
together with tooling that adds trace sections to the root of the main thread section stacks. See attached screenshot for an example of what that might look like.Details
FrameTimingQuery
(Unfortunately, this assumption is broken when 3rd party code inserts additional sections to the top of the main thread section stack.
For example, the papa library adds a top trace section to every running main thread section ( source ), leveraging the logged name provided through
Looper.getMainLooper().setMessageLogging()
(see screenshot for what that looks like).Side note 1: I'm aware that
Looper.getMainLooper().setMessageLogging()
wasn't exactly designed for this purpose, but having toString() details for all messages that run on the main thread is incredibly useful to help understand perfetto traces. Ideally there would be a dedicated API to help understand what runs on main.Side note2: if anyone using papa runs into this issue, you can disable the additional tracing with a boolean resource override for
R.bool.papa_trace_main_thread
. Unfortunately that will make your perfetto traces a lot less easy to investigate.