Skip to content

Commit 7f662e4

Browse files
Treehugger RobotGerrit Code Review
Treehugger Robot
authored and
Gerrit Code Review
committed
Merge "Revert "Add brush: () -> Brush override to BasicText"" into androidx-main
2 parents d6682de + eae62ab commit 7f662e4

File tree

21 files changed

+43
-646
lines changed

21 files changed

+43
-646
lines changed

compose/foundation/foundation/api/current.txt

-2
Original file line numberDiff line numberDiff line change
@@ -867,9 +867,7 @@ package androidx.compose.foundation.text {
867867

868868
public final class BasicTextKt {
869869
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional androidx.compose.ui.graphics.ColorLambda? color);
870-
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
871870
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional androidx.compose.ui.graphics.ColorLambda? color);
872-
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
873871
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
874872
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,? extends androidx.compose.foundation.text.InlineTextContent> inlineContent);
875873
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines);

compose/foundation/foundation/api/public_plus_experimental_current.txt

-2
Original file line numberDiff line numberDiff line change
@@ -1215,9 +1215,7 @@ package androidx.compose.foundation.text {
12151215

12161216
public final class BasicTextKt {
12171217
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional androidx.compose.ui.graphics.ColorLambda? color);
1218-
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
12191218
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional androidx.compose.ui.graphics.ColorLambda? color);
1220-
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
12211219
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
12221220
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,? extends androidx.compose.foundation.text.InlineTextContent> inlineContent);
12231221
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines);

compose/foundation/foundation/api/restricted_current.txt

-2
Original file line numberDiff line numberDiff line change
@@ -867,9 +867,7 @@ package androidx.compose.foundation.text {
867867

868868
public final class BasicTextKt {
869869
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional androidx.compose.ui.graphics.ColorLambda? color);
870-
method @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
871870
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional androidx.compose.ui.graphics.ColorLambda? color);
872-
method @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function0<? extends androidx.compose.ui.graphics.Brush>? brush, optional androidx.compose.ui.unit.FloatLambda? alpha);
873871
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
874872
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,? extends androidx.compose.foundation.text.InlineTextContent> inlineContent);
875873
method @Deprecated @androidx.compose.runtime.Composable public static void BasicText(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,? extends kotlin.Unit>? onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional int minLines);

compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextAnimationDemo.kt

+1-39
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ import androidx.compose.runtime.remember
4545
import androidx.compose.runtime.setValue
4646
import androidx.compose.ui.Alignment
4747
import androidx.compose.ui.Modifier
48-
import androidx.compose.ui.geometry.Offset
49-
import androidx.compose.ui.graphics.Brush
5048
import androidx.compose.ui.graphics.Color
5149
import androidx.compose.ui.graphics.graphicsLayer
5250
import androidx.compose.ui.text.ExperimentalTextApi
@@ -84,11 +82,7 @@ fun TextColorAnimation() {
8482
initialValue = Color.Black,
8583
targetValue = Color.Gray,
8684
animationSpec = InfiniteRepeatableSpec(
87-
tween(
88-
5_000,
89-
50,
90-
CubicBezierEasing(0.2f, 0.0f, 0.5f, 0.6f)
91-
),
85+
tween(5_000, 50, CubicBezierEasing(0.2f, 0.0f, 0.5f, 0.6f)),
9286
repeatMode = RepeatMode.Reverse
9387
),
9488
label = "slow gray"
@@ -115,38 +109,6 @@ fun TextColorAnimation() {
115109
}
116110
}
117111

118-
@Composable
119-
fun TextGradientAnimation() {
120-
val anim = rememberInfiniteTransition("gradient")
121-
val offset = anim.animateFloat(
122-
initialValue = 0.0f,
123-
targetValue = 0.8f,
124-
animationSpec = InfiniteRepeatableSpec(
125-
animation = tween(
126-
durationMillis = 4000,
127-
delayMillis = 500,
128-
easing = CubicBezierEasing(0.2f, 0.0f, 0.5f, 1.0f)
129-
),
130-
repeatMode = RepeatMode.Reverse),
131-
label = "offset"
132-
)
133-
134-
Box(contentAlignment = Alignment.Center) {
135-
BasicText(
136-
"Search Light",
137-
style = TextStyle.Default.copy(fontSize = 45.sp, textAlign = TextAlign.Center),
138-
brush = {
139-
Brush.radialGradient(
140-
offset.value + 0.2f to Color.LightGray, /* grow and sharpen */
141-
offset.value + 0.8f to Color.Black,
142-
center = Offset(600f * offset.value, 100f)
143-
)
144-
},
145-
alpha = { 1.0f }
146-
)
147-
}
148-
}
149-
150112
class TextMotionState(initialTextStyle: TextStyle) {
151113
var isStatic by mutableStateOf(true)
152114

compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ val TextDemos = DemoCategory(
3434
DemoCategory(
3535
"Animation",
3636
listOf(
37-
ComposableDemo("color = { animated.value }") { TextColorAnimation() },
38-
ComposableDemo("gradient = { animated.value } ") { TextGradientAnimation() },
37+
ComposableDemo("color = { animatedColor.value }") { TextColorAnimation() },
3938
ComposableDemo("GraphicsLayer (skew, scale, etc)") { TextAnimationDemo() },
4039
)
4140
),

compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/NodeInvalidationTestParent.kt

+4-27
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package androidx.compose.foundation.text.modifiers
1919
import androidx.compose.ui.graphics.Brush
2020
import androidx.compose.ui.graphics.Color
2121
import androidx.compose.ui.graphics.ColorLambda
22+
import androidx.compose.ui.text.ExperimentalTextApi
2223
import androidx.compose.ui.text.TextStyle
2324
import androidx.compose.ui.text.font.FontFamily
2425
import androidx.compose.ui.text.font.createFontFamilyResolver
@@ -65,31 +66,7 @@ abstract class NodeInvalidationTestParent {
6566
assertThat(drawChanged).isTrue()
6667
}
6768

68-
@Test
69-
fun brushChanged_usingLambda_doesInvalidateDraw() {
70-
val params = generateParams()
71-
val redFactory = { Brush.linearGradient(listOf(Color.Red)) }
72-
val blueFactory = { Brush.linearGradient(listOf(Color.Blue)) }
73-
val alpha = { 1.0f }
74-
val drawParams = DrawParams(params.style, null, redFactory, alpha)
75-
val subject = createSubject(params, drawParams)
76-
val drawChanged = subject.updateDrawArgs(drawParams.copy(brush = blueFactory))
77-
assertThat(drawChanged).isTrue()
78-
}
79-
80-
@Test
81-
fun brushChanged_usingStyle_doesInvalidateDraw() {
82-
val params = generateParams()
83-
val drawParams = DrawParams(params.style, null, null, null)
84-
val subject = createSubject(params, drawParams)
85-
val drawChanged = subject.updateDrawArgs(
86-
drawParams = drawParams.copy(
87-
style = drawParams.style.copy(brush = Brush.linearGradient(listOf(Color.Blue)))
88-
)
89-
)
90-
assertThat(drawChanged).isTrue()
91-
}
92-
69+
@OptIn(ExperimentalTextApi::class)
9370
@Test
9471
fun brushChange_doesNotInvalidateLayout() {
9572
val params = generateParams()
@@ -196,7 +173,7 @@ abstract class NodeInvalidationTestParent {
196173
data class DrawParams(
197174
val style: TextStyle,
198175
val color: ColorLambda? = null,
199-
val brush: (() -> Brush)? = null,
200-
val alpha: (() -> Float)? = null
176+
val brush: Brush? = null,
177+
val alpha: Float = Float.NaN
201178
)
202179
}

compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextAnnotatedStringNodeInvalidationTest.kt

+3-10
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,7 @@ class TextAnnotatedStringNodeInvalidationTest : NodeInvalidationTestParent() {
3434

3535
override fun Any.updateDrawArgs(drawParams: DrawParams): Boolean {
3636
this as TextAnnotatedStringNode
37-
return updateDraw(
38-
drawParams.color,
39-
drawParams.brush,
40-
drawParams.alpha,
41-
drawParams.style
42-
)
37+
return updateDraw(drawParams.color, drawParams.style)
4338
}
4439

4540
override fun createSubject(params: Params): Any {
@@ -51,7 +46,7 @@ class TextAnnotatedStringNodeInvalidationTest : NodeInvalidationTestParent() {
5146
overflow = params.overflow,
5247
softWrap = params.softWrap,
5348
maxLines = params.maxLines,
54-
minLines = params.minLines,
49+
minLines = params.minLines
5550
)
5651
}
5752

@@ -65,9 +60,7 @@ class TextAnnotatedStringNodeInvalidationTest : NodeInvalidationTestParent() {
6560
softWrap = params.softWrap,
6661
maxLines = params.maxLines,
6762
minLines = params.minLines,
68-
overrideColor = drawParams.color,
69-
overrideBrush = drawParams.brush,
70-
overrideAlpha = drawParams.alpha
63+
overrideColor = drawParams.color
7164
)
7265
}
7366
}

compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/modifiers/TextStringSimpleNodeInvalidationTest.kt

+3-10
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,7 @@ package androidx.compose.foundation.text.modifiers
1919
class TextStringSimpleNodeInvalidationTest : NodeInvalidationTestParent() {
2020
override fun Any.updateDrawArgs(drawParams: DrawParams): Boolean {
2121
this as TextStringSimpleNode
22-
return this.updateDraw(
23-
drawParams.color,
24-
drawParams.brush,
25-
drawParams.alpha,
26-
drawParams.style
27-
)
22+
return this.updateDraw(drawParams.color, drawParams.style)
2823
}
2924

3025
override fun Any.updateAll(params: Params): Pair<Boolean, Boolean> {
@@ -47,7 +42,7 @@ class TextStringSimpleNodeInvalidationTest : NodeInvalidationTestParent() {
4742
params.overflow,
4843
params.softWrap,
4944
params.maxLines,
50-
params.minLines,
45+
params.minLines
5146
)
5247
}
5348

@@ -60,9 +55,7 @@ class TextStringSimpleNodeInvalidationTest : NodeInvalidationTestParent() {
6055
params.softWrap,
6156
params.maxLines,
6257
params.minLines,
63-
drawParams.color,
64-
drawParams.brush,
65-
drawParams.alpha
58+
drawParams.color
6659
)
6760
}
6861
}

0 commit comments

Comments
 (0)