Status Update
Comments
al...@google.com <al...@google.com> #2
This is actually the intended behavior, the text overload was only intended for the simplest use case. Anything else requires the lambda API by design. Having discussed this further, the distinction between overloads is confusing though, and there isn't much value in just providing a string overload. As a result we plan to remove the string overload for Button, see how that goes, and then evaluate our overall 'string overload strategy' across other components.
bu...@google.com <bu...@google.com> #3
Branch: androidx-master-dev
commit e386f97dd769da18d9f3103958714e43d797219f
Author: Louis Pullen-Freilich <lpf@google.com>
Date: Fri Jan 31 17:32:33 2020
Monthly button refactoring
- Removes string overload for Button
- Replaces ButtonStyle with distinct functions, the following is the
migration strategy:
ContainedButtonStyle -> Button
OutlinedButtonStyle -> OutlinedButton
TextButtonStyle -> TextButton
Custom ButtonStyle -> Any / which ever is most semantically related
Now that each function takes the same parameters, and there are no
overloads, there is no more large separation between layers - extra
customization is just a matter of supplying more parameters, instead of
needing to find overloads / copy and paste parameters from high level
styles into the base ButtonStyle.
Also adds sample for Modifiers so the samples won't break when API
changes like this are made.
Bug:
Bug:
Bug:
Test: ButtonTest
Change-Id: If63ab32bd3f12050a2d2f4b8c0cb044bc7144a6b
Relnote: "Replaced ButtonStyle with distinct functions and removed text (string) overload. See updated samples for usage information."
M compose/compose-runtime/integration-tests/samples/src/main/java/androidx/compose/samples/EffectSamples.kt
M compose/compose-runtime/integration-tests/samples/src/main/java/androidx/compose/samples/ModelSamples.kt
M compose/compose-runtime/integration-tests/samples/src/main/java/androidx/compose/samples/RecomposeSamples.kt
M ui/ui-android-view/integration-tests/android-view-demos/src/main/java/androidx/ui/androidview/demos/ViewInCompose.kt
M ui/ui-core/integration-tests/samples/build.gradle
A ui/ui-core/integration-tests/samples/src/main/java/androidx/ui/core/samples/ModifierSamples.kt
M ui/ui-core/src/main/java/androidx/ui/core/Modifier.kt
M ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/SemanticsL1.kt
M ui/ui-material/api/0.1.0-dev05.txt
M ui/ui-material/api/current.txt
M ui/ui-material/api/public_plus_experimental_0.1.0-dev05.txt
M ui/ui-material/api/public_plus_experimental_current.txt
M ui/ui-material/api/restricted_0.1.0-dev05.txt
M ui/ui-material/api/restricted_current.txt
M ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ButtonActivity.kt
M ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/CustomShapeActivity.kt
M ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/TabActivity.kt
M ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyAlertDialog.kt
M ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyCards.kt
M ui/ui-material/integration-tests/samples/src/main/java/androidx/ui/material/samples/AlertDialogSample.kt
M ui/ui-material/integration-tests/samples/src/main/java/androidx/ui/material/samples/ButtonSamples.kt
M ui/ui-material/integration-tests/samples/src/main/java/androidx/ui/material/samples/DrawerSamples.kt
M ui/ui-material/integration-tests/samples/src/main/java/androidx/ui/material/samples/SnackbarSample.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
M ui/ui-material/src/androidTest/java/androidx/ui/material/SnackbarTest.kt
M ui/ui-material/src/main/java/androidx/ui/material/Button.kt
M ui/ui-material/src/main/java/androidx/ui/material/Snackbar.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/AssertExistsTest.kt
M ui/ui-test/src/androidTest/java/androidx/ui/test/CustomActivityTest.kt
Ar...@qq.com <Ar...@qq.com> #4
You can provide a method to clear the cache.
e.g:
public final class ResourcesCompat {
...
public static void clearColorStateCache() {
synchronized (sColorStateCacheLock) {
sColorStateCaches.clear();
}
}
...
}
al...@google.com <al...@google.com> #5
Good suggestion! I think it would also be reasonable to provide a cache-clearing mechanism for a specific Theme
, since this applies to more than just CSL
s. We can do that as a stop-gap until we have APIs for comparing Theme
contents.
al...@google.com <al...@google.com>
al...@google.com <al...@google.com> #6
aosp/1927081 up for review.
ap...@google.com <ap...@google.com> #7
Branch: androidx-main
commit 4f66c0ca1f324426a862a707597573d6bd8c0f01
Author: Alan Viverette <alanv@google.com>
Date: Thu Dec 16 15:28:48 2021
Add workaround method for addressing cache invalidation on SDK < 33
This method is not very discoverable, but it's also pretty niche. Those
who need it will probably find it via StackOverflow or Buganizer.
Relnote: """Added method for working around ColorStateList issues
resulting from Theme-keyed caching and Theme.applyStyle"""
Test: ResourcesCompatTest
Fixes: 207739887
Change-Id: I9188bbf6b182111b3d6d302b81b9a000058687bd
M core/core/api/restricted_current.txt
M core/core/src/main/java/androidx/core/content/res/ResourcesCompat.java
M core/core/api/public_plus_experimental_current.txt
M core/core/src/androidTest/java/androidx/core/content/res/ResourcesCompatTest.java
M core/core/api/current.txt
Description