Skip to content

Commit 431e81c

Browse files
Update to Compose beta release
1 parent d2ccac0 commit 431e81c

File tree

7 files changed

+68
-56
lines changed

7 files changed

+68
-56
lines changed

compose/snippets/src/main/java/com/example/compose/snippets/adaptivelayouts/SampleListDetailPaneScaffold.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,24 @@ import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold
3535
import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole
3636
import androidx.compose.material3.adaptive.navigation.rememberListDetailPaneScaffoldNavigator
3737
import androidx.compose.runtime.Composable
38+
import androidx.compose.runtime.rememberCoroutineScope
3839
import androidx.compose.ui.Modifier
3940
import androidx.compose.ui.graphics.Color
4041
import androidx.compose.ui.tooling.preview.Preview
4142
import androidx.compose.ui.unit.dp
4243
import androidx.compose.ui.unit.sp
44+
import kotlinx.coroutines.launch
4345
import kotlinx.parcelize.Parcelize
4446

4547
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
4648
@Composable
4749
fun SampleListDetailPaneScaffoldParts() {
4850
// [START android_compose_adaptivelayouts_sample_list_detail_pane_scaffold_part02]
4951
val navigator = rememberListDetailPaneScaffoldNavigator<MyItem>()
52+
val scope = rememberCoroutineScope()
5053

5154
BackHandler(navigator.canNavigateBack()) {
52-
navigator.navigateBack()
55+
scope.launch { navigator.navigateBack() }
5356
}
5457
// [END android_compose_adaptivelayouts_sample_list_detail_pane_scaffold_part02]
5558

@@ -73,7 +76,9 @@ fun SampleListDetailPaneScaffoldParts() {
7376
MyList(
7477
onItemClick = { item ->
7578
// Navigate to the detail pane with the passed item
76-
navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, item)
79+
scope.launch {
80+
navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, item)
81+
}
7782
}
7883
)
7984
}
@@ -94,7 +99,7 @@ fun SampleListDetailPaneScaffoldParts() {
9499
// [END_EXCLUDE]
95100
detailPane = {
96101
AnimatedPane {
97-
navigator.currentDestination?.content?.let {
102+
navigator.currentDestination?.contentKey?.let {
98103
MyDetails(it)
99104
}
100105
}
@@ -109,9 +114,10 @@ fun SampleListDetailPaneScaffoldParts() {
109114
fun SampleListDetailPaneScaffoldFull() {
110115
// [START android_compose_adaptivelayouts_sample_list_detail_pane_scaffold_full]
111116
val navigator = rememberListDetailPaneScaffoldNavigator<MyItem>()
117+
val scope = rememberCoroutineScope()
112118

113119
BackHandler(navigator.canNavigateBack()) {
114-
navigator.navigateBack()
120+
scope.launch { navigator.navigateBack() }
115121
}
116122

117123
ListDetailPaneScaffold(
@@ -122,15 +128,17 @@ fun SampleListDetailPaneScaffoldFull() {
122128
MyList(
123129
onItemClick = { item ->
124130
// Navigate to the detail pane with the passed item
125-
navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, item)
131+
scope.launch {
132+
navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, item)
133+
}
126134
},
127135
)
128136
}
129137
},
130138
detailPane = {
131139
AnimatedPane {
132140
// Show the detail pane content if selected item is available
133-
navigator.currentDestination?.content?.let {
141+
navigator.currentDestination?.contentKey?.let {
134142
MyDetails(it)
135143
}
136144
}

compose/snippets/src/main/java/com/example/compose/snippets/adaptivelayouts/SampleSupportingPaneScaffold.kt

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,20 @@ import androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole
3232
import androidx.compose.material3.adaptive.layout.ThreePaneScaffoldScope
3333
import androidx.compose.material3.adaptive.navigation.rememberSupportingPaneScaffoldNavigator
3434
import androidx.compose.runtime.Composable
35+
import androidx.compose.runtime.rememberCoroutineScope
3536
import androidx.compose.ui.Modifier
37+
import androidx.compose.ui.tooling.preview.Preview
38+
import kotlinx.coroutines.launch
3639

40+
@Preview
3741
@Composable
3842
fun SampleSupportingPaneScaffoldParts() {
3943
// [START android_compose_adaptivelayouts_sample_supporting_pane_scaffold_nav_and_back]
4044
val navigator = rememberSupportingPaneScaffoldNavigator()
45+
val scope = rememberCoroutineScope()
4146

4247
BackHandler(navigator.canNavigateBack()) {
43-
navigator.navigateBack()
48+
scope.launch { navigator.navigateBack() }
4449
}
4550
// [END android_compose_adaptivelayouts_sample_supporting_pane_scaffold_nav_and_back]
4651

@@ -54,13 +59,15 @@ fun SampleSupportingPaneScaffoldParts() {
5459
// [END android_compose_adaptivelayouts_sample_supporting_pane_scaffold_params]
5560
}
5661

62+
@Preview
5763
@Composable
5864
fun SampleSupportingPaneScaffoldFull() {
5965
// [START android_compose_adaptivelayouts_sample_supporting_pane_scaffold_full]
6066
val navigator = rememberSupportingPaneScaffoldNavigator()
67+
val scope = rememberCoroutineScope()
6168

6269
BackHandler(navigator.canNavigateBack()) {
63-
navigator.navigateBack()
70+
scope.launch { navigator.navigateBack() }
6471
}
6572

6673
SupportingPaneScaffold(
@@ -73,7 +80,9 @@ fun SampleSupportingPaneScaffoldFull() {
7380
Button(
7481
modifier = Modifier.wrapContentSize(),
7582
onClick = {
76-
navigator.navigateTo(SupportingPaneScaffoldRole.Supporting)
83+
scope.launch {
84+
navigator.navigateTo(SupportingPaneScaffoldRole.Supporting)
85+
}
7786
}
7887
) {
7988
Text("Show supporting pane")
@@ -100,36 +109,30 @@ fun ThreePaneScaffoldScope.MainPane(
100109
onNavigateToSupportingPane: () -> Unit,
101110
modifier: Modifier = Modifier,
102111
) {
103-
AnimatedPane(modifier = modifier.safeContentPadding()) {
104-
// Main pane content
105-
if (shouldShowSupportingPaneButton) {
106-
Button(onClick = onNavigateToSupportingPane) {
107-
Text("Show supporting pane")
108-
}
109-
} else {
110-
Text("Supporting pane is shown")
111-
}
112-
}
112+
MainPane(
113+
modifier = modifier.safeContentPadding(),
114+
shouldShowSupportingPaneButton = shouldShowSupportingPaneButton,
115+
onNavigateToSupportingPane = onNavigateToSupportingPane
116+
)
113117
}
114118

115119
@Composable
116120
fun ThreePaneScaffoldScope.SupportingPane(
117121
modifier: Modifier = Modifier,
118122
) {
119-
AnimatedPane(modifier = modifier.safeContentPadding()) {
120-
// Supporting pane content
121-
Text("This is the supporting pane")
122-
}
123+
SupportingPane(modifier = modifier.safeContentPadding())
123124
}
124125
// [END android_compose_adaptivelayouts_sample_supporting_pane_scaffold_extracted_panes]
125126

127+
@Preview
126128
@Composable
127129
fun SampleSupportingPaneScaffoldSimplified() {
128130
// [START android_compose_adaptivelayouts_sample_supporting_pane_scaffold_simplified]
129131
val navigator = rememberSupportingPaneScaffoldNavigator()
132+
val scope = rememberCoroutineScope()
130133

131134
BackHandler(navigator.canNavigateBack()) {
132-
navigator.navigateBack()
135+
scope.launch { navigator.navigateBack() }
133136
}
134137

135138
SupportingPaneScaffold(
@@ -138,7 +141,9 @@ fun SampleSupportingPaneScaffoldSimplified() {
138141
mainPane = {
139142
MainPane(
140143
shouldShowSupportingPaneButton = navigator.scaffoldValue.secondary == PaneAdaptedValue.Hidden,
141-
onNavigateToSupportingPane = { navigator.navigateTo(ThreePaneScaffoldRole.Secondary) }
144+
onNavigateToSupportingPane = {
145+
scope.launch { navigator.navigateTo(ThreePaneScaffoldRole.Secondary) }
146+
}
142147
)
143148
},
144149
supportingPane = { SupportingPane() },

compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/AnimatedVisibilitySharedElementBlurSnippet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ fun SharedTransitionScope.SnackItem(
157157
SnackContents(
158158
snack = snack,
159159
modifier = Modifier.sharedElement(
160-
state = rememberSharedContentState(key = snack.name),
160+
sharedContentState = rememberSharedContentState(key = snack.name),
161161
animatedVisibilityScope = this@AnimatedVisibility,
162162
boundsTransform = boundsTransition,
163163
),

compose/snippets/src/main/java/com/example/compose/snippets/animations/sharedelement/AnimatedVisibilitySharedElementSnippets.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private fun AnimatedVisibilitySharedElementShortenedExample() {
111111
SnackContents(
112112
snack = snack,
113113
modifier = Modifier.sharedElement(
114-
state = rememberSharedContentState(key = snack.name),
114+
sharedContentState = rememberSharedContentState(key = snack.name),
115115
animatedVisibilityScope = this@AnimatedVisibility
116116
),
117117
onClick = {
@@ -175,7 +175,7 @@ fun SharedTransitionScope.SnackEditDetails(
175175
SnackContents(
176176
snack = targetSnack,
177177
modifier = Modifier.sharedElement(
178-
state = rememberSharedContentState(key = targetSnack.name),
178+
sharedContentState = rememberSharedContentState(key = targetSnack.name),
179179
animatedVisibilityScope = this@AnimatedContent,
180180
),
181181
onClick = {

compose/snippets/src/main/java/com/example/compose/snippets/draganddrop/DragAndDropSnippets.kt

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import androidx.annotation.RequiresApi
2424
import androidx.compose.foundation.ExperimentalFoundationApi
2525
import androidx.compose.foundation.draganddrop.dragAndDropSource
2626
import androidx.compose.foundation.draganddrop.dragAndDropTarget
27-
import androidx.compose.foundation.gestures.detectTapGestures
2827
import androidx.compose.runtime.Composable
2928
import androidx.compose.runtime.remember
3029
import androidx.compose.ui.Modifier
@@ -41,39 +40,39 @@ private fun DragAndDropSnippet() {
4140
val url = ""
4241

4342
// [START android_compose_drag_and_drop_1]
44-
Modifier.dragAndDropSource {
45-
detectTapGestures(onLongPress = {
46-
// Transfer data here.
47-
})
43+
Modifier.dragAndDropSource { _ ->
44+
// Transfer data here.
45+
DragAndDropTransferData(ClipData.newPlainText("image Url", url))
4846
}
4947
// [END android_compose_drag_and_drop_1]
5048

5149
// [START android_compose_drag_and_drop_2]
52-
Modifier.dragAndDropSource {
53-
detectTapGestures(onLongPress = {
54-
startTransfer(
50+
Modifier.dragAndDropSource { _ ->
51+
52+
// detectTapGestures(onLongPress = {
53+
// startTransfer(
5554
DragAndDropTransferData(
5655
ClipData.newPlainText(
5756
"image Url", url
5857
)
5958
)
60-
)
61-
})
59+
// )
60+
// })
6261
}
6362
// [END android_compose_drag_and_drop_2]
6463

6564
// [START android_compose_drag_and_drop_3]
66-
Modifier.dragAndDropSource {
67-
detectTapGestures(onLongPress = {
68-
startTransfer(
65+
Modifier.dragAndDropSource { _ ->
66+
// detectTapGestures(onLongPress = {
67+
// startTransfer(
6968
DragAndDropTransferData(
7069
ClipData.newPlainText(
7170
"image Url", url
7271
),
7372
flags = View.DRAG_FLAG_GLOBAL
7473
)
75-
)
76-
})
74+
// )
75+
// })
7776
}
7877
// [END android_compose_drag_and_drop_3]
7978

compose/snippets/src/main/java/com/example/compose/snippets/touchinput/userinteractions/UserInteractions.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ import androidx.compose.foundation.interaction.PressInteraction
3030
import androidx.compose.foundation.layout.Box
3131
import androidx.compose.material.ExperimentalMaterialApi
3232
import androidx.compose.material.LocalRippleConfiguration
33-
import androidx.compose.material.LocalUseFallbackRippleImplementation
3433
import androidx.compose.material.RippleConfiguration
3534
import androidx.compose.material.ripple
3635
import androidx.compose.material.ripple.LocalRippleTheme
3736
import androidx.compose.material.ripple.RippleAlpha
3837
import androidx.compose.material.ripple.RippleTheme
3938
import androidx.compose.material.ripple.rememberRipple
39+
import androidx.compose.material3.ExperimentalMaterial3Api
40+
import androidx.compose.material3.LocalUseFallbackRippleImplementation
4041
import androidx.compose.material3.MaterialTheme
4142
import androidx.compose.runtime.Composable
4243
import androidx.compose.runtime.CompositionLocalProvider
@@ -239,7 +240,7 @@ private class ScaleIndicationNode(
239240
fun App() {
240241
}
241242

242-
@OptIn(ExperimentalMaterialApi::class)
243+
@OptIn(ExperimentalMaterial3Api::class)
243244
@Composable
244245
private fun LocalUseFallbackRippleImplementationExample() {
245246
// [START android_compose_userinteractions_localusefallbackrippleimplementation]
@@ -252,7 +253,7 @@ private fun LocalUseFallbackRippleImplementationExample() {
252253
}
253254

254255
// [START android_compose_userinteractions_localusefallbackrippleimplementation_app_theme]
255-
@OptIn(ExperimentalMaterialApi::class)
256+
@OptIn(ExperimentalMaterial3Api::class)
256257
@Composable
257258
fun MyAppTheme(content: @Composable () -> Unit) {
258259
CompositionLocalProvider(LocalUseFallbackRippleImplementation provides true) {

gradle/libs.versions.toml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ androidx-navigation = "2.8.6"
1818
androidx-paging = "3.3.5"
1919
androidx-test = "1.6.1"
2020
androidx-test-espresso = "3.6.1"
21-
androidx-window = "1.4.0-beta01"
21+
androidx-window = "1.4.0-beta02"
2222
androidxHiltNavigationCompose = "1.2.0"
2323
coil = "2.7.0"
2424
# @keep
2525
compileSdk = "35"
26-
compose-latest = "1.7.7"
27-
composeUiTooling = "1.4.0"
26+
composeUiTooling = "1.4.1"
2827
coreSplashscreen = "1.0.1"
2928
coroutines = "1.10.1"
3029
glide = "1.0.0-beta01"
@@ -64,21 +63,21 @@ accompanist-theme-adapter-material = { module = "com.google.accompanist:accompan
6463
accompanist-theme-adapter-material3 = { module = "com.google.accompanist:accompanist-themeadapter-material3", version.ref = "accompanist" }
6564
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" }
6665
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
67-
androidx-compose-animation-graphics = { module = "androidx.compose.animation:animation-graphics", version.ref = "compose-latest" }
68-
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "androidx-compose-bom" }
69-
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose-latest" }
70-
androidx-compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout", version.ref = "compose-latest" }
71-
androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "compose-latest" }
66+
androidx-compose-animation-graphics = { module = "androidx.compose.animation:animation-graphics" }
67+
androidx-compose-bom = { module = "androidx.compose:compose-bom-beta", version.ref = "androidx-compose-bom" }
68+
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" }
69+
androidx-compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout" }
70+
androidx-compose-material = { module = "androidx.compose.material:material" }
7271
androidx-compose-material-iconsExtended = { module = "androidx.compose.material:material-icons-extended" }
73-
androidx-compose-material-ripple = { module = "androidx.compose.material:material-ripple", version.ref = "compose-latest" }
72+
androidx-compose-material-ripple = { module = "androidx.compose.material:material-ripple" }
7473
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
7574
androidx-compose-material3-adaptive = { module = "androidx.compose.material3.adaptive:adaptive", version.ref = "material3-adaptive" }
7675
androidx-compose-material3-adaptive-layout = { module = "androidx.compose.material3.adaptive:adaptive-layout", version.ref = "material3-adaptive" }
7776
androidx-compose-material3-adaptive-navigation = { module = "androidx.compose.material3.adaptive:adaptive-navigation", version.ref = "material3-adaptive" }
7877
androidx-compose-material3-adaptive-navigation-suite = { module = "androidx.compose.material3:material3-adaptive-navigation-suite", version.ref = "material3-adaptive-navigation-suite" }
7978
androidx-compose-runtime = { module = "androidx.compose.runtime:runtime" }
8079
androidx-compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
81-
androidx-compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose-latest" }
80+
androidx-compose-ui = { module = "androidx.compose.ui:ui" }
8281
androidx-compose-ui-googlefonts = { module = "androidx.compose.ui:ui-text-google-fonts" }
8382
androidx-compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
8483
androidx-compose-ui-test = { module = "androidx.compose.ui:ui-test" }

0 commit comments

Comments
 (0)