Fixed
Status Update
Comments
lc...@gmail.com <lc...@gmail.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 2e60aef4d56a64a8d8732c543b644ff0b4b78734
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Dec 19 13:45:45 2022
Flesh out MultiParagraphPlaceholderLayoutCache
It's now a layout cache.
TextInlineContentLayoutDrawModifier now does similar debouncing
on input, and defers all cache behaviors to the cache.
Bug: b/246960758
Test: ./gradlew :com:found:found-d-n-s-newtext:cAT
Change-Id: If104398da705747c6cdcaffe95ff9d2badd20324
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheWidthWithLetterSpacingTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextLayoutResultIntegrationTest.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
D compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/InlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawParams.kt
M compose/foundation/foundation-newtext/src/test/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheTest.kt
https://android-review.googlesource.com/2362353
Branch: androidx-main
commit 2e60aef4d56a64a8d8732c543b644ff0b4b78734
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Dec 19 13:45:45 2022
Flesh out MultiParagraphPlaceholderLayoutCache
It's now a layout cache.
TextInlineContentLayoutDrawModifier now does similar debouncing
on input, and defers all cache behaviors to the cache.
Bug:
Test: ./gradlew :com:found:found-d-n-s-newtext:cAT
Change-Id: If104398da705747c6cdcaffe95ff9d2badd20324
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheWidthWithLetterSpacingTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextLayoutResultIntegrationTest.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
D compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/InlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawParams.kt
M compose/foundation/foundation-newtext/src/test/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCacheTest.kt
jo...@gmail.com <jo...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 968e10f6319d6e22d035191fa863e5b41c5ce957
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Dec 19 14:20:48 2022
Add semantics to static text modifier
Draws static text and adds appropriate semantics for non-editable text
This adds semantics to text modifier rewrite.
Bug: b/246960758
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: I05c30a3ba21b4b409f15b15e06c271b2d759de0a
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/TextLayoutTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/BasicTextSemanticsTest.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
https://android-review.googlesource.com/2363663
Branch: androidx-main
commit 968e10f6319d6e22d035191fa863e5b41c5ce957
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Dec 19 14:20:48 2022
Add semantics to static text modifier
Draws static text and adds appropriate semantics for non-editable text
This adds semantics to text modifier rewrite.
Bug:
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: I05c30a3ba21b4b409f15b15e06c271b2d759de0a
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/TextLayoutTest.kt
M compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/modifiers/BasicTextSemanticsTest.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 56d766d1f2e2735425cf9cd20ed802c203223f56
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Dec 20 11:25:08 2022
Code cleanup for text modifiers
- Semantics allocation caching
- various logic cleanup
- cache added more invalidation branches
Bug: b/246960758
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: Ice59bdee908cedb2ad7a5756a1c5810de3823bb2
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
https://android-review.googlesource.com/2361967
Branch: androidx-main
commit 56d766d1f2e2735425cf9cd20ed802c203223f56
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Dec 20 11:25:08 2022
Code cleanup for text modifiers
- Semantics allocation caching
- various logic cleanup
- cache added more invalidation branches
Bug:
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: Ice59bdee908cedb2ad7a5756a1c5810de3823bb2
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
jb...@google.com <jb...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 48a03c8e31e7ae37924b173b7396f1087740024b
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Dec 20 14:04:38 2022
Port heightInLines behavior to new modifier
Adds support for minLines/maxLines to TextUsingModifier
Bug: b/246960758
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: Ic2823ce15f10cafb180aca46e80f62d6b6abd9e0
A compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifierMinMaxLinesTest.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MinMaxLinesUtils.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawParams.kt
https://android-review.googlesource.com/2361789
Branch: androidx-main
commit 48a03c8e31e7ae37924b173b7396f1087740024b
Author: Sean McQuillan <seanmcq@google.com>
Date: Tue Dec 20 14:04:38 2022
Port heightInLines behavior to new modifier
Adds support for minLines/maxLines to TextUsingModifier
Bug:
Test: ./gradlew :com:found--d-n-s-newtext:cAT
Change-Id: Ic2823ce15f10cafb180aca46e80f62d6b6abd9e0
A compose/foundation/foundation-newtext/src/androidAndroidTest/kotlin/androidx/compose/foundation/newtext/text/TextUsingModifierMinMaxLinesTest.kt
A compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MinMaxLinesUtils.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/MultiParagraphLayoutCache.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawModifier.kt
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/TextInlineContentLayoutDrawParams.kt
ec...@gmail.com <ec...@gmail.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 05bdcc6bc778f2ccd4a9378ede04bd99c26372f1
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Jan 09 16:36:03 2023
Remove 6 more allocations from TextUsingModifier measure
// before
1,220,605 ns 306 allocs trace ModifierAllAppsSetText.measureIt[size=8]
// after
1,176,671 ns 300 allocs trace ModifierAllAppsSetText.measureIt[size=8]
Test: bench
Bug: b/246960758
Change-Id: I98e2a5ba2657d634bbcc87be4cba5c3a0f24a53a
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
https://android-review.googlesource.com/2380665
Branch: androidx-main
commit 05bdcc6bc778f2ccd4a9378ede04bd99c26372f1
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Jan 09 16:36:03 2023
Remove 6 more allocations from TextUsingModifier measure
// before
1,220,605 ns 306 allocs trace ModifierAllAppsSetText.measureIt[size=8]
// after
1,176,671 ns 300 allocs trace ModifierAllAppsSetText.measureIt[size=8]
Test: bench
Bug:
Change-Id: I98e2a5ba2657d634bbcc87be4cba5c3a0f24a53a
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
jb...@google.com <jb...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 596ad9439f540ba37416b492e991dfc90b5177b3
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Jan 09 15:03:13 2023
Fix restart behavior in TextUsingModifier
Use new restarting methods correctly
Bug: b/246960758
Test: Manual - integrated with Sample app
Change-Id: I0cf75a543927280fcc1efb5b0460c50f3bc37088
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
https://android-review.googlesource.com/2380657
Branch: androidx-main
commit 596ad9439f540ba37416b492e991dfc90b5177b3
Author: Sean McQuillan <seanmcq@google.com>
Date: Mon Jan 09 15:03:13 2023
Fix restart behavior in TextUsingModifier
Use new restarting methods correctly
Bug:
Test: Manual - integrated with Sample app
Change-Id: I0cf75a543927280fcc1efb5b0460c50f3bc37088
M compose/foundation/foundation-newtext/src/commonMain/kotlin/androidx/compose/foundation/newtext/text/modifiers/StaticTextModifier.kt
Description
Component used: Navigation
Version used: 2.4.0-alpha09
Devices/Android versions reproduced on: Not device dependent, code generation issue
Safeargs plugin on 2.4.0-alpha09 since it implemented this behaviour change below
When generating arguments, Safe Args now puts parameters without default values before those with default values. (I89709, b/198493585)
This bahvious change seesms to cause the side effect of compilation time errors in the genrated argument files. As far as I know this affects both kotlin and java generated files.
e.g.
XML navgraph destination (
NavCompFingerPrintAuthDialogFragment
)As you can see the arguments with no default values are not defined first.
this will generate the argument data object shown below with the behavios change which puts the arguments with no default values first in the constructor.
Now the problem is that in the
NavCompFingerPrintAuthDialogFragmentArgs.fromBundle(bundle: Bundle): NavCompFingerPrintAuthDialogFragmentArgs
companion function does not use named arguments when creating aNavCompFingerPrintAuthDialogFragmentArgs
from a bundle. And it uses the arguments in the order that it was defined in the navgraph and not in the order that theNavCompFingerPrintAuthDialogFragmentArgs
data object expects in its constructor. The same issue also apples for the companion functionfromSavedStateHandle(savedStateHandle: SavedStateHandle):NavCompFingerPrintAuthDialogFragmentArgs
but compilation will fail at the earliest point so it was not reported in the error. But from what i can see in the genrated code, its will have the same problem too.One solution is to just use named arguments for kotlin generated files, but it does not solve the issue for java generated files. So perhaps putting the arguments in the order of the
behavior change
mention above shld solve the issue.