Fixed
Status Update
Comments
cl...@google.com <cl...@google.com>
lp...@google.com <lp...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 9082f62682f853ad5251a1c79dde9eccba7abdd9
Author: Max Alfonso-Ying <maxying@google.com>
Date: Thu Apr 18 00:34:40 2024
[M2 text field] Apply background to decoration box
...instead of to the BasicTextField, so changing the
backgroundColor will properly change the decoration
box's background color.
Fixes: b/307694651
Test: added unit tests
Relnote: "Fix backgroundColor not applying to
TextFieldDecorationBox and OutlinedTextFieldDecorationBox.
Decoration boxes now accept a `shape` parameter."
Change-Id: I371c26718597cb36ac537e9412ce476532afb40d
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/androidInstrumentedTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
https://android-review.googlesource.com/3046833
Branch: androidx-main
commit 9082f62682f853ad5251a1c79dde9eccba7abdd9
Author: Max Alfonso-Ying <maxying@google.com>
Date: Thu Apr 18 00:34:40 2024
[M2 text field] Apply background to decoration box
...instead of to the BasicTextField, so changing the
backgroundColor will properly change the decoration
box's background color.
Fixes:
Test: added unit tests
Relnote: "Fix backgroundColor not applying to
TextFieldDecorationBox and OutlinedTextFieldDecorationBox.
Decoration boxes now accept a `shape` parameter."
Change-Id: I371c26718597cb36ac537e9412ce476532afb40d
M compose/material/material/api/current.txt
M compose/material/material/api/restricted_current.txt
M compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/TextFieldDecorationBoxDemos.kt
M compose/material/material/src/androidInstrumentedTest/kotlin/androidx/compose/material/textfield/TextFieldDecorationBoxTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/OutlinedTextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextField.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldDefaults.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/TextFieldImpl.kt
gs...@gmail.com <gs...@gmail.com> #3
The bug can be reproduced by using the BottomNav example in my repo
The version of compose is alpha03
https://github.com/gastsail/JetExample
The version of compose is alpha03
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 152103eb2da716cc91db034ce37bad6b22696b64
Author: Louis Pullen-Freilich <lpf@google.com>
Date: Thu Apr 22 13:30:11 2021
Migrates Ripple to use RippleDrawable internally
This allows the ripple to be animated on the RenderThread, avoiding jank when the UI thread is under load, such as navigating between screens.
Fixes: b/184842196
Fixes: b/168777351
Bug: b/183019123
Test: MaterialRippleThemeTest
Test: LocalRippleNativeRenderingTest
Test: RippleContainerTest
Relnote: "Ripple has been migrated to use RippleDrawable internally on Android devices. This means that ripple animations will happen on the RenderThread, and so will be smooth even when the UI thread is under load, such as when navigating between screens. This does not change the API surface of ripple, but there may be behavior changes introduced as a result of this change. To aid the migration, `LocalRippleNativeRendering` has been added - provide a value of `false` to this CompositionLocal to fall back to the previous ripple implementation inside the CompositionLocalProvider. This API is temporary and will be removed in the future, so if you run into issues that cause you to use this API, please file a bug:https://issuetracker.google.com/issues/new?component=612128 "
Change-Id: I902f8eecaa8e3f55eb4c1bebc86f4f50e2967d0c
M compose/material/material-ripple/api/1.0.0-beta06.txt
M compose/material/material-ripple/api/current.txt
M compose/material/material-ripple/api/public_plus_experimental_1.0.0-beta06.txt
M compose/material/material-ripple/api/public_plus_experimental_current.txt
M compose/material/material-ripple/api/restricted_1.0.0-beta06.txt
M compose/material/material-ripple/api/restricted_current.txt
M compose/material/material-ripple/build.gradle
A compose/material/material-ripple/src/androidAndroidTest/AndroidManifest.xml
A compose/material/material-ripple/src/androidAndroidTest/kotlin/androidx/compose/material/ripple/LocalRippleNativeRenderingTest.kt
A compose/material/material-ripple/src/androidAndroidTest/kotlin/androidx/compose/material/ripple/RippleContainerTest.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleContainer.android.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleHostView.android.kt
A compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/CommonRipple.kt
M compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/Ripple.kt
A compose/material/material-ripple/src/desktopMain/kotlin/androidx/compose/material/ripple/Ripple.desktop.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BottomNavigationScreenshotTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/TabScreenshotTest.kt
https://android-review.googlesource.com/1668605
Branch: androidx-main
commit 152103eb2da716cc91db034ce37bad6b22696b64
Author: Louis Pullen-Freilich <lpf@google.com>
Date: Thu Apr 22 13:30:11 2021
Migrates Ripple to use RippleDrawable internally
This allows the ripple to be animated on the RenderThread, avoiding jank when the UI thread is under load, such as navigating between screens.
Fixes:
Fixes:
Bug:
Test: MaterialRippleThemeTest
Test: LocalRippleNativeRenderingTest
Test: RippleContainerTest
Relnote: "Ripple has been migrated to use RippleDrawable internally on Android devices. This means that ripple animations will happen on the RenderThread, and so will be smooth even when the UI thread is under load, such as when navigating between screens. This does not change the API surface of ripple, but there may be behavior changes introduced as a result of this change. To aid the migration, `LocalRippleNativeRendering` has been added - provide a value of `false` to this CompositionLocal to fall back to the previous ripple implementation inside the CompositionLocalProvider. This API is temporary and will be removed in the future, so if you run into issues that cause you to use this API, please file a bug:
Change-Id: I902f8eecaa8e3f55eb4c1bebc86f4f50e2967d0c
M compose/material/material-ripple/api/1.0.0-beta06.txt
M compose/material/material-ripple/api/current.txt
M compose/material/material-ripple/api/public_plus_experimental_1.0.0-beta06.txt
M compose/material/material-ripple/api/public_plus_experimental_current.txt
M compose/material/material-ripple/api/restricted_1.0.0-beta06.txt
M compose/material/material-ripple/api/restricted_current.txt
M compose/material/material-ripple/build.gradle
A compose/material/material-ripple/src/androidAndroidTest/AndroidManifest.xml
A compose/material/material-ripple/src/androidAndroidTest/kotlin/androidx/compose/material/ripple/LocalRippleNativeRenderingTest.kt
A compose/material/material-ripple/src/androidAndroidTest/kotlin/androidx/compose/material/ripple/RippleContainerTest.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/Ripple.android.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleContainer.android.kt
A compose/material/material-ripple/src/androidMain/kotlin/androidx/compose/material/ripple/RippleHostView.android.kt
A compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/CommonRipple.kt
M compose/material/material-ripple/src/commonMain/kotlin/androidx/compose/material/ripple/Ripple.kt
A compose/material/material-ripple/src/desktopMain/kotlin/androidx/compose/material/ripple/Ripple.desktop.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/BottomNavigationScreenshotTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MaterialRippleThemeTest.kt
M compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/TabScreenshotTest.kt
Description
Problem, while I tap each destination on my BottomNav it selects the destination and highlights them but without the ripple effect at first, when I reach the end of the list (or random item) the ripple takes effect and starts to lag the selection of each destination
Code
BottomNavigation(content = {
listItems.forEachIndexed { index, item ->
BottomNavigationItem(
icon = {
Icon(asset = item.icon)
},
label = { Text(item.title) },
onClick = {
selectedIndex.value = index
showMessage(context, "${item.title} selected")
},
selected = selectedIndex.value == index
)
}
})
Output