Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
I realize this should be filed as a feature request
il...@google.com <il...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit ed2450ec5d2cdf62f1ebf13a29fe04295ad65e44
Author: Anastasia Soboleva <soboleva@google.com>
Date: Thu Dec 30 19:22:41 2021
Add material decoration box for TextField and OutlinedTextField
It allows additionally to what is customisable in text fields already to customise paddings (incl. for dense text field support), border or indicator line.
In the future we could add prefix/suffix, helper message slots.
Fixes: 203764564
Fixes: 191543915
Fixes: 189971673
Fixes: 183136600
Fixes: 179882597
Fixes: 168003617
Test: TextFieldTest and OutlinedTextFieldTest
Test: new tests TextFieldDecorationBoxTest
Relnote: "Added TextFieldDecorationBox and
OutlinedTextFieldDecorationBox. Using them together with BasicTextField
will help you build custom text field based on Material Design text
fields but with more options for customisation."
Relnote: "Provided a way to adjust horizontal and vertical paddings in text fields."
Change-Id: I8c9f168a687e337670c266e1eb3e985da6aebdc3
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/TextFieldSamples.kt
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
A compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/api/public_plus_experimental_current.txt
A compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
https://android-review.googlesource.com/1934969
Branch: androidx-main
commit ed2450ec5d2cdf62f1ebf13a29fe04295ad65e44
Author: Anastasia Soboleva <soboleva@google.com>
Date: Thu Dec 30 19:22:41 2021
Add material decoration box for TextField and OutlinedTextField
It allows additionally to what is customisable in text fields already to customise paddings (incl. for dense text field support), border or indicator line.
In the future we could add prefix/suffix, helper message slots.
Fixes: 203764564
Fixes: 191543915
Fixes: 189971673
Fixes: 183136600
Fixes: 179882597
Fixes: 168003617
Test: TextFieldTest and OutlinedTextFieldTest
Test: new tests TextFieldDecorationBoxTest
Relnote: "Added TextFieldDecorationBox and
OutlinedTextFieldDecorationBox. Using them together with BasicTextField
will help you build custom text field based on Material Design text
fields but with more options for customisation."
Relnote: "Provided a way to adjust horizontal and vertical paddings in text fields."
Change-Id: I8c9f168a687e337670c266e1eb3e985da6aebdc3
M compose/material/material/samples/src/main/java/androidx/compose/material/samples/TextFieldSamples.kt
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldTest.kt
A compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/api/public_plus_experimental_current.txt
A compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialDemos.kt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MaterialTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
Description
Component used: lifecycle-viewmodel-savedstate Version used: 2.3.0-alpha01
SavedStateHandle
is currently the only mechanism for accessing saved instance state from aViewModel
. However, it currently forces you to only use objects that can be put in a Bundle sinceset()
verifies the type of object immediately.It would be nice if
SavedStateHandle
could also support lazy serialization of objects - namely, having some equivalent to being able to register aonSaveInstanceState()
like callback.It seems like this is precisely what something like
SavedStateProvider
could fill. You couldregisterSavedStateProvider()
with aString key
and aSavedStateProvider
and theSavedStateHandle
would be responsible for callingsaveState()
on each provider to fill in theBundle
for that key.It would be the responsibility of the
ViewModel
for maintaining the non-bundable object outside ofSavedStateHandle
(i.e., having its ownMutableLiveData
) as well as in implementing theSavedStateProvider
.There'd need be some way to access the previously saved state - perhaps the underlying
get()
method would return aBundle?
indicating the previously saved state and/orregisterSavedStateProvider()
could return that sameBundle?
.