Fixed
Status Update
Comments
bo...@google.com <bo...@google.com>
jl...@google.com <jl...@google.com>
jl...@google.com <jl...@google.com> #2
Wow, it seems like a very important bug to fix.
Doing some investigations...
It works fine with CoreTextField as well as BaseTextField.
jl...@google.com <jl...@google.com> #3
Seems to be a duplicate of
jl...@google.com <jl...@google.com> #4
It works fine with Material TextFields (both filled and outline) if you use TextFieldValue based overloads.
It doesn't work when you use String based overloads however (both Outline and Filled). I believe this is related to the one-frame lag as we host TextFieldValue internally and proxy only string.
jl...@google.com <jl...@google.com> #5
Chatted with Anastasia.
We have this code
// "value: String" comes as a param in TextField
TextFieldImpl(
type = TextFieldType.Outlined,
value = textFieldValue,
onValueChange = {
selection = it.selection
composition = it.composition
if (value != it.text) {
onValueChange(it.text)
}
},
and this value is always ""
for me, as it's captured my lambda when lambda was created and this lambda is saved and reused by CoreTextField.
Anyway, two things we can do:
- Remove this if and invoke
onValueChange
everytime, even on the selection change (which we don't care about). This will allow us to workaround quickly and not to let it slip through. - Find and implement the proper fix in CoreTextField
Let me know what you think
Description
Build: AI-213.7172.25.2211.8624637, 202205202352,
AI-213.7172.25.2211.8624637, JRE 11.0.13+0-b1751.21-8125866x64 JetBrains s.r.o., OS Mac OS X(aarch64) v12.4, screens 3024.0x1964.0, 5120.0x2880.0; Retina
AS: Electric Eel | 2022.1.1 Canary 3 Kotlin plugin: 213-1.6.21-release-for-android-studio-AS6777.52 Android Gradle Plugin: (plugin information not found) Gradle: 7.4.2 Gradle JDK: version 11.0.15 NDK: from local.properties: (not specified), latest from SDK: (not found) CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: (not found)
Compose 1.2.0-beta01