Status Update
Comments
va...@google.com <va...@google.com> #2
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
mg...@google.com <mg...@google.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
mg...@google.com <mg...@google.com> #4
-
Second crash in the description is from a real device. Experienced it myself on two different Xiaomi phones, plus lots of crashes from users in the Google Play console.
-
Dynamic features are not used in the application.
As a wild guess, I have downgraded build tools from 31.0.0 to 30.0.3, compileSdk from 31 to 30, and moved all work with Language ID to the service in a separate process (just to be sure that crash can kill secondary process instead of main). This combination is in beta for 2 days by now and I don't see any SIGSEGV crashes.
mg...@google.com <mg...@google.com>
ap...@google.com <ap...@google.com> #5
Hmm, I feel the crash might be something related to separate/secondary process.
I also changed compileSdk and targetSDK to 31 but still cannot repro this issue.
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.