Skip to content

Commit 67d265f

Browse files
Melba NuzenGerrit Code Review
Melba Nuzen
authored and
Gerrit Code Review
committed
Merge "Rename isContainer to isTraversalGroup" into androidx-main
2 parents 79bb370 + aa66eb3 commit 67d265f

File tree

18 files changed

+170
-89
lines changed

18 files changed

+170
-89
lines changed

compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt

+2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import androidx.compose.ui.platform.LocalLayoutDirection
5252
import androidx.compose.ui.platform.debugInspectorInfo
5353
import androidx.compose.ui.semantics.ScrollAxisRange
5454
import androidx.compose.ui.semantics.horizontalScrollAxisRange
55+
import androidx.compose.ui.semantics.isTraversalGroup
5556
import androidx.compose.ui.semantics.scrollBy
5657
import androidx.compose.ui.semantics.semantics
5758
import androidx.compose.ui.semantics.verticalScrollAxisRange
@@ -267,6 +268,7 @@ private fun Modifier.scroll(
267268
val overscrollEffect = ScrollableDefaults.overscrollEffect()
268269
val coroutineScope = rememberCoroutineScope()
269270
val semantics = Modifier.semantics {
271+
isTraversalGroup = true
270272
val accessibilityScrollState = ScrollAxisRange(
271273
value = { state.value.toFloat() },
272274
maxValue = { state.maxValue.toFloat() },

compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt

+2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.compose.ui.semantics.ScrollAxisRange
2828
import androidx.compose.ui.semantics.collectionInfo
2929
import androidx.compose.ui.semantics.horizontalScrollAxisRange
3030
import androidx.compose.ui.semantics.indexForKey
31+
import androidx.compose.ui.semantics.isTraversalGroup
3132
import androidx.compose.ui.semantics.scrollBy
3233
import androidx.compose.ui.semantics.scrollToIndex
3334
import androidx.compose.ui.semantics.semantics
@@ -120,6 +121,7 @@ internal fun Modifier.lazyLayoutSemantics(
120121
val collectionInfo = state.collectionInfo()
121122

122123
Modifier.semantics {
124+
isTraversalGroup = true
123125
indexForKey(indexForKeyMapping)
124126

125127
if (isVertical) {

compose/material/material/src/commonMain/kotlin/androidx/compose/material/Surface.kt

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ fun Surface(
129129
elevation = elevation
130130
)
131131
.semantics(mergeDescendants = false) {
132+
@Suppress("DEPRECATION")
132133
isContainer = true
133134
}
134135
.pointerInput(Unit) {},

compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SearchBarSamples.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ fun SearchBarSample() {
6060
// Talkback focus order sorts based on x and y position before considering z-index. The
6161
// extra Box with semantics and fillMaxWidth is a workaround to get the search bar to focus
6262
// before the content.
63-
Box(Modifier.semantics { isContainer = true }.zIndex(1f).fillMaxWidth()) {
63+
Box(Modifier.semantics {
64+
@Suppress("DEPRECATION")
65+
isContainer = true
66+
}.zIndex(1f).fillMaxWidth()) {
6467
SearchBar(
6568
modifier = Modifier.align(Alignment.TopCenter),
6669
query = text,
@@ -119,7 +122,10 @@ fun DockedSearchBarSample() {
119122
// Talkback focus order sorts based on x and y position before considering z-index. The
120123
// extra Box with semantics and fillMaxWidth is a workaround to get the search bar to focus
121124
// before the content.
122-
Box(Modifier.semantics { isContainer = true }.zIndex(1f).fillMaxWidth()) {
125+
Box(Modifier.semantics {
126+
@Suppress("DEPRECATION")
127+
isContainer = true
128+
}.zIndex(1f).fillMaxWidth()) {
123129
DockedSearchBar(
124130
modifier = Modifier.align(Alignment.TopCenter).padding(top = 8.dp),
125131
query = text,

compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/TimePickerSamples.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,10 @@ fun TimePickerSwitchableSample() {
184184
Box(
185185
Modifier
186186
.fillMaxSize()
187-
.semantics { isContainer = true }
187+
.semantics {
188+
@Suppress("DEPRECATION")
189+
isContainer = true
190+
}
188191
) {
189192
IconButton(
190193
modifier = Modifier

compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,10 @@ internal fun DateEntryContainer(
10801080
Column(
10811081
modifier = modifier
10821082
.sizeIn(minWidth = DatePickerModalTokens.ContainerWidth)
1083-
.semantics { isContainer = true }
1083+
.semantics {
1084+
@Suppress("DEPRECATION")
1085+
isContainer = true
1086+
}
10841087
) {
10851088
DatePickerHeader(
10861089
modifier = Modifier,
@@ -1166,7 +1169,10 @@ private fun SwitchableDateEntryContent(
11661169
Crossfade(
11671170
targetState = displayMode,
11681171
animationSpec = spring(),
1169-
modifier = Modifier.semantics { isContainer = true }) { mode ->
1172+
modifier = Modifier.semantics {
1173+
@Suppress("DEPRECATION")
1174+
isContainer = true
1175+
}) { mode ->
11701176
when (mode) {
11711177
DisplayMode.Picker -> DatePickerContent(
11721178
selectedDateMillis = selectedDateMillis,

compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DateRangePicker.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,10 @@ private fun SwitchableDateEntryContent(
624624
Crossfade(
625625
targetState = displayMode,
626626
animationSpec = spring(),
627-
modifier = Modifier.semantics { isContainer = true }) { mode ->
627+
modifier = Modifier.semantics {
628+
@Suppress("DEPRECATION")
629+
isContainer = true
630+
}) { mode ->
628631
when (mode) {
629632
DisplayMode.Picker -> DateRangePickerContent(
630633
selectedStartDateMillis = selectedStartDateMillis,

compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/Surface.kt

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ fun Surface(
124124
shadowElevation = shadowElevation
125125
)
126126
.semantics(mergeDescendants = false) {
127+
@Suppress("DEPRECATION")
127128
isContainer = true
128129
}
129130
.pointerInput(Unit) {},

compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/TimePicker.kt

+2
Original file line numberDiff line numberDiff line change
@@ -980,6 +980,7 @@ private fun PeriodToggleImpl(
980980
Layout(
981981
modifier = modifier
982982
.semantics {
983+
@Suppress("DEPRECATION")
983984
isContainer = true
984985
this.contentDescription = contentDescription
985986
}
@@ -1133,6 +1134,7 @@ internal fun ClockFace(
11331134
.background(shape = CircleShape, color = colors.clockDialColor)
11341135
.size(ClockDialContainerSize)
11351136
.semantics {
1137+
@Suppress("DEPRECATION")
11361138
isContainer = false
11371139
selectableGroup()
11381140
},

compose/ui/ui/api/current.txt

+8-4
Original file line numberDiff line numberDiff line change
@@ -2971,9 +2971,10 @@ package androidx.compose.ui.semantics {
29712971
method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
29722972
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> getIndexForKey();
29732973
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getInvisibleToUser();
2974-
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsContainer();
2974+
method @Deprecated public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsContainer();
29752975
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsDialog();
29762976
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
2977+
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsTraversalGroup();
29772978
method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> getLiveRegion();
29782979
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getPaneTitle();
29792980
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getPassword();
@@ -2999,9 +3000,10 @@ package androidx.compose.ui.semantics {
29993000
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
30003001
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> IndexForKey;
30013002
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> InvisibleToUser;
3002-
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsContainer;
3003+
property @Deprecated public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsContainer;
30033004
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsDialog;
30043005
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
3006+
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsTraversalGroup;
30053007
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> LiveRegion;
30063008
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> PaneTitle;
30073009
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Password;
@@ -3050,7 +3052,8 @@ package androidx.compose.ui.semantics {
30503052
method public static void heading(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
30513053
method public static void indexForKey(androidx.compose.ui.semantics.SemanticsPropertyReceiver, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> mapping);
30523054
method public static void insertTextAtCursor(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
3053-
method public static boolean isContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
3055+
method @Deprecated public static boolean isContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
3056+
method public static boolean isTraversalGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
30543057
method public static void onClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
30553058
method public static void onLongClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
30563059
method public static void pageDown(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
@@ -3067,7 +3070,7 @@ package androidx.compose.ui.semantics {
30673070
method public static void selectableGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
30683071
method public static void setCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionInfo);
30693072
method public static void setCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionItemInfo);
3070-
method public static void setContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
3073+
method @Deprecated public static void setContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
30713074
method public static void setContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String);
30723075
method public static void setCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>);
30733076
method public static void setEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString);
@@ -3087,6 +3090,7 @@ package androidx.compose.ui.semantics {
30873090
method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
30883091
method public static void setTextSelectionRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, long);
30893092
method public static void setToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.state.ToggleableState);
3093+
method public static void setTraversalGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
30903094
method public static void setVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange);
30913095
}
30923096

compose/ui/ui/api/public_plus_experimental_current.txt

+8-4
Original file line numberDiff line numberDiff line change
@@ -3233,9 +3233,10 @@ package androidx.compose.ui.semantics {
32333233
method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
32343234
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> getIndexForKey();
32353235
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getInvisibleToUser();
3236-
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsContainer();
3236+
method @Deprecated public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsContainer();
32373237
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsDialog();
32383238
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
3239+
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getIsTraversalGroup();
32393240
method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> getLiveRegion();
32403241
method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getPaneTitle();
32413242
method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getPassword();
@@ -3261,9 +3262,10 @@ package androidx.compose.ui.semantics {
32613262
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
32623263
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> IndexForKey;
32633264
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> InvisibleToUser;
3264-
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsContainer;
3265+
property @Deprecated public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsContainer;
32653266
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsDialog;
32663267
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
3268+
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> IsTraversalGroup;
32673269
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> LiveRegion;
32683270
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> PaneTitle;
32693271
property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Password;
@@ -3319,7 +3321,8 @@ package androidx.compose.ui.semantics {
33193321
method public static void indexForKey(androidx.compose.ui.semantics.SemanticsPropertyReceiver, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> mapping);
33203322
method public static void insertTextAtCursor(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
33213323
method @androidx.compose.ui.ExperimentalComposeUiApi public static void invisibleToUser(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
3322-
method public static boolean isContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
3324+
method @Deprecated public static boolean isContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
3325+
method public static boolean isTraversalGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
33233326
method public static void onClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
33243327
method public static void onLongClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
33253328
method public static void pageDown(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
@@ -3336,7 +3339,7 @@ package androidx.compose.ui.semantics {
33363339
method public static void selectableGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
33373340
method public static void setCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionInfo);
33383341
method public static void setCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionItemInfo);
3339-
method public static void setContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
3342+
method @Deprecated public static void setContainer(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
33403343
method public static void setContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String);
33413344
method public static void setCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>);
33423345
method public static void setEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString);
@@ -3356,6 +3359,7 @@ package androidx.compose.ui.semantics {
33563359
method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
33573360
method public static void setTextSelectionRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, long);
33583361
method public static void setToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.state.ToggleableState);
3362+
method public static void setTraversalGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean);
33593363
method public static void setVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange);
33603364
}
33613365

0 commit comments

Comments
 (0)