```@OptIn(ExperimentalComposeUiApi::class) @Compos...
# compose
f
Copy code
@OptIn(ExperimentalComposeUiApi::class)
@Composable
fun SearchInput(onInputText: (inputText: String) -> Unit = {}) {
    val keyboardController = LocalSoftwareKeyboardController.current
    var inputText by rememberSaveable { mutableStateOf("") }
    val invalidInput = inputText.isBlank()

    OutlinedTextField(
        modifier = Modifier
            .fillMaxWidth()
            .padding(start = 24.dp, end = 24.dp),
        isError = invalidInput,
        label = { Text(text = stringResource(id = R.string.search)) },
        value = inputText,
        onValueChange = { inputText = it },
        keyboardOptions = KeyboardOptions(
            KeyboardCapitalization.Words, autoCorrect = false,
            keyboardType = KeyboardType.Text, imeAction = ImeAction.Search
        ),
        keyboardActions = KeyboardActions(onSearch = {
            keyboardController?.hideSoftwareKeyboard()
            onInputText(inputText)
        })
    )
}
Hey guys, the code above crashes when the app goes into onPause/onStop the error is
java.lang.RuntimeException: Parcel: unable to marshal value androidx.compose.runtime.SnapshotMutableStateImpl@f5abce7
at android.os.Parcel.writeValue(Parcel.java:1926)
at android.os.Parcel.writeList(Parcel.java:1133)
at android.os.Parcel.writeValue(Parcel.java:1873)
at android.os.Parcel.writeMapInternal(Parcel.java:984)
at android.os.Parcel.writeMap(Parcel.java:966)
at android.os.Parcel.writeValue(Parcel.java:1838)
at android.os.Parcel.writeMapInternal(Parcel.java:984)
at android.os.Parcel.writeMap(Parcel.java:966)
at android.os.Parcel.writeValue(Parcel.java:1838)
at android.os.Parcel.writeList(Parcel.java:1133)
at android.os.Parcel.writeValue(Parcel.java:1873)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1016)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1085)
at android.os.Parcel.writeValue(Parcel.java:1842)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1016)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1085)
at android.os.Parcel.writeValue(Parcel.java:1842)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1690)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1727)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:150)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7729)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
if i use
Copy code
var inputText by remember { mutableStateOf("") }
the issue goes away i've made the code by the Unidirectional data flow in Jetpack Compose documentation
🧵 2
a
Hello. This is fixed and will be released in beta02. You can see https://issuetracker.google.com/issues/180042685 for temporary workarounds
👍 1
f
Thank you