Fixed
Status Update
Comments
ow...@google.com <ow...@google.com>
ri...@gmail.com <ri...@gmail.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.
se...@google.com <se...@google.com> #3
Project: platform/frameworks/support
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: b/146478620
Bug: b/146482131
Bug: b/146346551
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
https://android-review.googlesource.com/1222411
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
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 6e7a1ffacde6ead3acbff09514503e896d3c8bf3
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Mar 29 11:04:25 2022
TypefaceCompatApi29 finds best from requested style
This causes fonts closer to the desired style to be chosen on
resolution.
Test: ./gradlew :core:core:cAT
Bug: b/194553426
Relnote: "TypefaceCompat will now respect both requested and loaded
style information on API 29+. This is a behavior change when the loaded
fonts are not FontWeight.Normal or FontWeight.Bold, as the actual loaded
weight and style will be used. For more information see b/194553426 "
Change-Id: I1f90279afa68afa450bb98eb7c5237464c5f57d8
M core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java
M core/core/src/androidTest/java/androidx/core/content/res/ResourcesCompatTest.java
A core/core/src/androidTest/res/font/samplexmlfont_medium.xml
M core/core/src/main/java/androidx/core/graphics/TypefaceCompatApi29Impl.java
https://android-review.googlesource.com/2047984
Branch: androidx-main
commit 6e7a1ffacde6ead3acbff09514503e896d3c8bf3
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Mar 29 11:04:25 2022
TypefaceCompatApi29 finds best from requested style
This causes fonts closer to the desired style to be chosen on
resolution.
Test: ./gradlew :core:core:cAT
Bug:
Relnote: "TypefaceCompat will now respect both requested and loaded
style information on API 29+. This is a behavior change when the loaded
fonts are not FontWeight.Normal or FontWeight.Bold, as the actual loaded
weight and style will be used. For more information see
Change-Id: I1f90279afa68afa450bb98eb7c5237464c5f57d8
M core/core/src/androidTest/java/androidx/core/graphics/TypefaceCompatTest.java
M core/core/src/androidTest/java/androidx/core/content/res/ResourcesCompatTest.java
A core/core/src/androidTest/res/font/samplexmlfont_medium.xml
M core/core/src/main/java/androidx/core/graphics/TypefaceCompatApi29Impl.java
se...@google.com <se...@google.com> #6
Since it's not listed here, repeating:
This was solved by github contribution
Description
Artifact used: androidx.core:core:1.6.0 Version used: 1.6.0 Theme used: (Not related) Devices/Android versions reproduced on: Pixel 5 Android 11
This part will make the final Typeface lost the correct font-weight from the FontInfo. For example, request for a font with 500 weight, but the final Typeface has 400 weight. This will make the fallback font incorrectly displayed.
The fix is to use the style from the best-matched font, just like the platform,https://cs.android.com/android/platform/superproject/+/android-11.0.0_r1:frameworks/base/graphics/java/android/graphics/Typeface.java;l=276-285 .