Skip to content

Commit 23fef00

Browse files
authored
Merge pull request android#387 from android/dev_alpha12
[All] Update to Compose 1.0.0-alpha12
2 parents 46a9ebf + cdd5f9b commit 23fef00

File tree

145 files changed

+1079
-1179
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+1079
-1179
lines changed

Crane/app/build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,24 @@ dependencies {
108108
implementation Libs.GoogleMaps.maps
109109
implementation Libs.GoogleMaps.mapsKtx
110110

111+
implementation Libs.Accompanist.coil
112+
implementation Libs.AndroidX.Activity.activityCompose
111113
implementation Libs.AndroidX.Compose.runtime
112114
implementation Libs.AndroidX.Compose.runtimeLivedata
113115
implementation Libs.AndroidX.Compose.foundation
114116
implementation Libs.AndroidX.Compose.material
115117
implementation Libs.AndroidX.Compose.layout
116118
implementation Libs.AndroidX.Compose.animation
117119
implementation Libs.AndroidX.Compose.tooling
118-
implementation Libs.Accompanist.coil
120+
implementation Libs.AndroidX.Lifecycle.viewModelCompose
119121

120122
implementation Libs.AndroidX.Lifecycle.viewModelKtx
121123
implementation Libs.Hilt.android
122124
kapt Libs.Hilt.compiler
123125

126+
// FIXME: only needed for Compose alpha12
127+
androidTestImplementation Libs.AndroidX.Activity.activityCompose
128+
124129
androidTestImplementation Libs.JUnit.junit
125130
androidTestImplementation Libs.AndroidX.Test.runner
126131
androidTestImplementation Libs.AndroidX.Test.espressoCore

Crane/app/src/androidTest/java/androidx/compose/samples/crane/calendar/CalendarTest.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import androidx.compose.samples.crane.calendar.model.DaySelectedStatus.Selected
2626
import androidx.compose.samples.crane.data.DatesRepository
2727
import androidx.compose.samples.crane.ui.CraneTheme
2828
import androidx.compose.ui.test.SemanticsMatcher
29-
import androidx.compose.ui.test.assertLabelEquals
29+
import androidx.compose.ui.test.assertContentDescriptionEquals
3030
import androidx.compose.ui.test.junit4.ComposeTestRule
3131
import androidx.compose.ui.test.junit4.createAndroidComposeRule
3232
import androidx.compose.ui.test.onNodeWithContentDescription
@@ -80,29 +80,29 @@ class CalendarTest {
8080
composeTestRule.onNodeWithContentDescription("January 3").assertExists()
8181

8282
val datesNoSelected = composeTestRule.onDateNodes(NoSelected)
83-
datesNoSelected[0].assertLabelEquals("January 1")
84-
datesNoSelected[1].assertLabelEquals("January 3")
83+
datesNoSelected[0].assertContentDescriptionEquals("January 1")
84+
datesNoSelected[1].assertContentDescriptionEquals("January 3")
8585

86-
composeTestRule.onDateNode(FirstLastDay).assertLabelEquals("January 2")
86+
composeTestRule.onDateNode(FirstLastDay).assertContentDescriptionEquals("January 2")
8787
}
8888

8989
@Test
9090
fun twoDaysSelected() {
9191
composeTestRule.onNodeWithContentDescription("January 2").assertExists().performClick()
9292

9393
val datesNoSelectedOneClick = composeTestRule.onDateNodes(NoSelected)
94-
datesNoSelectedOneClick[0].assertLabelEquals("January 1")
95-
datesNoSelectedOneClick[1].assertLabelEquals("January 3")
94+
datesNoSelectedOneClick[0].assertContentDescriptionEquals("January 1")
95+
datesNoSelectedOneClick[1].assertContentDescriptionEquals("January 3")
9696

9797
composeTestRule.onNodeWithContentDescription("January 4").assertExists().performClick()
9898

99-
composeTestRule.onDateNode(FirstDay).assertLabelEquals("January 2")
100-
composeTestRule.onDateNode(Selected).assertLabelEquals("January 3")
101-
composeTestRule.onDateNode(LastDay).assertLabelEquals("January 4")
99+
composeTestRule.onDateNode(FirstDay).assertContentDescriptionEquals("January 2")
100+
composeTestRule.onDateNode(Selected).assertContentDescriptionEquals("January 3")
101+
composeTestRule.onDateNode(LastDay).assertContentDescriptionEquals("January 4")
102102

103103
val datesNoSelected = composeTestRule.onDateNodes(NoSelected)
104-
datesNoSelected[0].assertLabelEquals("January 1")
105-
datesNoSelected[1].assertLabelEquals("January 5")
104+
datesNoSelected[0].assertContentDescriptionEquals("January 1")
105+
datesNoSelected[1].assertContentDescriptionEquals("January 5")
106106
}
107107
}
108108

Crane/app/src/main/java/androidx/compose/samples/crane/base/BaseUserInput.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ import androidx.compose.foundation.layout.padding
2424
import androidx.compose.foundation.layout.preferredSize
2525
import androidx.compose.foundation.layout.preferredWidth
2626
import androidx.compose.foundation.text.BasicTextField
27-
import androidx.compose.material.AmbientContentColor
2827
import androidx.compose.material.Icon
28+
import androidx.compose.material.LocalContentColor
2929
import androidx.compose.material.MaterialTheme
3030
import androidx.compose.material.Surface
3131
import androidx.compose.material.Text
@@ -39,7 +39,7 @@ import androidx.compose.samples.crane.ui.captionTextStyle
3939
import androidx.compose.ui.Alignment
4040
import androidx.compose.ui.Modifier
4141
import androidx.compose.ui.graphics.Color
42-
import androidx.compose.ui.res.vectorResource
42+
import androidx.compose.ui.res.painterResource
4343
import androidx.compose.ui.text.input.TextFieldValue
4444
import androidx.compose.ui.tooling.preview.Preview
4545
import androidx.compose.ui.unit.dp
@@ -63,7 +63,7 @@ fun CraneUserInput(
6363
modifier: Modifier = Modifier,
6464
caption: String? = null,
6565
@DrawableRes vectorImageId: Int? = null,
66-
tint: Color = AmbientContentColor.current
66+
tint: Color = LocalContentColor.current
6767
) {
6868
CraneBaseUserInput(
6969
modifier = modifier,
@@ -100,11 +100,11 @@ fun CraneEditableUserInput(
100100
if (!isHint()) onInputChanged(textFieldState.text)
101101
},
102102
textStyle = if (isHint()) {
103-
captionTextStyle.copy(color = AmbientContentColor.current)
103+
captionTextStyle.copy(color = LocalContentColor.current)
104104
} else {
105-
MaterialTheme.typography.body1.copy(color = AmbientContentColor.current)
105+
MaterialTheme.typography.body1.copy(color = LocalContentColor.current)
106106
},
107-
cursorColor = AmbientContentColor.current
107+
cursorColor = LocalContentColor.current
108108
)
109109
}
110110
}
@@ -116,15 +116,15 @@ private fun CraneBaseUserInput(
116116
@DrawableRes vectorImageId: Int? = null,
117117
showCaption: () -> Boolean = { true },
118118
tintIcon: () -> Boolean,
119-
tint: Color = AmbientContentColor.current,
119+
tint: Color = LocalContentColor.current,
120120
content: @Composable () -> Unit
121121
) {
122122
Surface(modifier = modifier, color = MaterialTheme.colors.primaryVariant) {
123123
Row(Modifier.padding(all = 12.dp)) {
124124
if (vectorImageId != null) {
125125
Icon(
126126
modifier = Modifier.preferredSize(24.dp, 24.dp),
127-
imageVector = vectorResource(id = vectorImageId),
127+
painter = painterResource(id = vectorImageId),
128128
tint = if (tintIcon()) tint else Color(0x80FFFFFF),
129129
contentDescription = null
130130
)

Crane/app/src/main/java/androidx/compose/samples/crane/base/CraneDrawer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import androidx.compose.runtime.Composable
2828
import androidx.compose.samples.crane.R
2929
import androidx.compose.samples.crane.ui.CraneTheme
3030
import androidx.compose.ui.Modifier
31+
import androidx.compose.ui.res.painterResource
3132
import androidx.compose.ui.res.stringResource
32-
import androidx.compose.ui.res.vectorResource
3333
import androidx.compose.ui.tooling.preview.Preview
3434
import androidx.compose.ui.unit.dp
3535

@@ -43,7 +43,7 @@ fun CraneDrawer(modifier: Modifier = Modifier) {
4343
.padding(start = 24.dp, top = 48.dp)
4444
) {
4545
Image(
46-
imageVector = vectorResource(R.drawable.ic_crane_drawer),
46+
painter = painterResource(R.drawable.ic_crane_drawer),
4747
contentDescription = stringResource(R.string.cd_drawer)
4848
)
4949
for (screen in screens) {

Crane/app/src/main/java/androidx/compose/samples/crane/base/CraneTabs.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ import androidx.compose.samples.crane.home.CraneScreen
3636
import androidx.compose.ui.Alignment
3737
import androidx.compose.ui.Modifier
3838
import androidx.compose.ui.graphics.Color
39-
import androidx.compose.ui.platform.AmbientConfiguration
39+
import androidx.compose.ui.platform.LocalConfiguration
40+
import androidx.compose.ui.res.painterResource
4041
import androidx.compose.ui.res.stringResource
41-
import androidx.compose.ui.res.vectorResource
4242
import androidx.compose.ui.unit.dp
4343
import androidx.core.os.ConfigurationCompat
4444

@@ -55,12 +55,12 @@ fun CraneTabBar(
5555
modifier = Modifier
5656
.padding(top = 8.dp)
5757
.clickable(onClick = onMenuClicked),
58-
imageVector = vectorResource(id = R.drawable.ic_menu),
58+
painter = painterResource(id = R.drawable.ic_menu),
5959
contentDescription = stringResource(id = R.string.cd_menu)
6060
)
6161
Spacer(Modifier.preferredWidth(8.dp))
6262
Image(
63-
imageVector = vectorResource(id = R.drawable.ic_crane_logo),
63+
painter = painterResource(id = R.drawable.ic_crane_logo),
6464
contentDescription = null
6565
)
6666
}
@@ -105,7 +105,7 @@ fun CraneTabs(
105105
Text(
106106
modifier = textModifier,
107107
text = title.toUpperCase(
108-
ConfigurationCompat.getLocales(AmbientConfiguration.current)[0]
108+
ConfigurationCompat.getLocales(LocalConfiguration.current)[0]
109109
)
110110
)
111111
}

Crane/app/src/main/java/androidx/compose/samples/crane/base/ExploreSection.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import androidx.compose.ui.Alignment
4545
import androidx.compose.ui.Modifier
4646
import androidx.compose.ui.graphics.Color
4747
import androidx.compose.ui.layout.ContentScale
48-
import androidx.compose.ui.res.vectorResource
48+
import androidx.compose.ui.res.painterResource
4949
import androidx.compose.ui.unit.dp
5050
import dev.chrisbanes.accompanist.coil.CoilImage
5151

@@ -102,7 +102,7 @@ private fun ExploreItem(
102102
Box(Modifier.fillMaxSize()) {
103103
Image(
104104
modifier = Modifier.preferredSize(36.dp).align(Alignment.Center),
105-
imageVector = vectorResource(id = R.drawable.ic_crane_logo),
105+
painter = painterResource(id = R.drawable.ic_crane_logo),
106106
contentDescription = null
107107
)
108108
}

Crane/app/src/main/java/androidx/compose/samples/crane/calendar/CalendarActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import android.content.Context
2020
import android.content.Intent
2121
import android.os.Bundle
2222
import androidx.activity.ComponentActivity
23+
import androidx.activity.compose.setContent
2324
import androidx.compose.foundation.Image
2425
import androidx.compose.foundation.layout.Column
2526
import androidx.compose.material.IconButton
@@ -34,10 +35,9 @@ import androidx.compose.samples.crane.calendar.model.CalendarDay
3435
import androidx.compose.samples.crane.calendar.model.CalendarMonth
3536
import androidx.compose.samples.crane.calendar.model.DaySelected
3637
import androidx.compose.samples.crane.data.CalendarYear
37-
import androidx.compose.ui.platform.setContent
38+
import androidx.compose.ui.res.painterResource
3839
import androidx.compose.ui.res.stringResource
39-
import androidx.compose.ui.res.vectorResource
40-
import androidx.compose.ui.viewinterop.viewModel
40+
import androidx.lifecycle.viewmodel.compose.viewModel
4141
import dagger.hilt.android.AndroidEntryPoint
4242

4343
fun launchCalendarActivity(context: Context) {
@@ -97,7 +97,7 @@ private fun CalendarContent(
9797
navigationIcon = {
9898
IconButton(onClick = { onBackPressed() }) {
9999
Image(
100-
imageVector = vectorResource(R.drawable.ic_back),
100+
painter = painterResource(R.drawable.ic_back),
101101
contentDescription = stringResource(R.string.cd_back)
102102
)
103103
}

Crane/app/src/main/java/androidx/compose/samples/crane/details/DetailsActivity.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import android.content.Context
2020
import android.content.Intent
2121
import android.os.Bundle
2222
import androidx.activity.ComponentActivity
23+
import androidx.activity.compose.setContent
2324
import androidx.annotation.VisibleForTesting
2425
import androidx.compose.foundation.layout.Arrangement
2526
import androidx.compose.foundation.layout.Column
@@ -34,19 +35,19 @@ import androidx.compose.material.MaterialTheme
3435
import androidx.compose.material.Text
3536
import androidx.compose.runtime.Composable
3637
import androidx.compose.runtime.getValue
38+
import androidx.compose.runtime.mutableStateOf
3739
import androidx.compose.runtime.remember
3840
import androidx.compose.runtime.rememberCoroutineScope
39-
import androidx.compose.runtime.savedinstancestate.savedInstanceState
41+
import androidx.compose.runtime.saveable.rememberSaveable
4042
import androidx.compose.runtime.setValue
4143
import androidx.compose.samples.crane.base.CraneScaffold
4244
import androidx.compose.samples.crane.base.Result
4345
import androidx.compose.samples.crane.data.ExploreModel
4446
import androidx.compose.ui.Alignment
4547
import androidx.compose.ui.Modifier
46-
import androidx.compose.ui.platform.setContent
4748
import androidx.compose.ui.unit.dp
4849
import androidx.compose.ui.viewinterop.AndroidView
49-
import androidx.compose.ui.viewinterop.viewModel
50+
import androidx.lifecycle.viewmodel.compose.viewModel
5051
import com.google.android.libraries.maps.CameraUpdateFactory
5152
import com.google.android.libraries.maps.MapView
5253
import com.google.android.libraries.maps.model.LatLng
@@ -152,7 +153,7 @@ private fun MapViewContainer(
152153
latitude: String,
153154
longitude: String
154155
) {
155-
var zoom by savedInstanceState { InitialZoom }
156+
var zoom by rememberSaveable { mutableStateOf(InitialZoom) }
156157
val coroutineScope = rememberCoroutineScope()
157158

158159
ZoomControls(zoom) {

Crane/app/src/main/java/androidx/compose/samples/crane/details/MapViewUtils.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import androidx.compose.runtime.Composable
2222
import androidx.compose.runtime.DisposableEffect
2323
import androidx.compose.runtime.remember
2424
import androidx.compose.samples.crane.R
25-
import androidx.compose.ui.platform.AmbientContext
26-
import androidx.compose.ui.platform.AmbientLifecycleOwner
25+
import androidx.compose.ui.platform.LocalContext
26+
import androidx.compose.ui.platform.LocalLifecycleOwner
2727
import androidx.lifecycle.Lifecycle
2828
import androidx.lifecycle.LifecycleEventObserver
2929
import com.google.android.libraries.maps.GoogleMap
@@ -34,7 +34,7 @@ import com.google.android.libraries.maps.MapView
3434
*/
3535
@Composable
3636
fun rememberMapViewWithLifecycle(): MapView {
37-
val context = AmbientContext.current
37+
val context = LocalContext.current
3838
val mapView = remember {
3939
MapView(context).apply {
4040
id = R.id.map
@@ -43,7 +43,7 @@ fun rememberMapViewWithLifecycle(): MapView {
4343

4444
// Makes MapView follow the lifecycle of this composable
4545
val lifecycleObserver = rememberMapLifecycleObserver(mapView)
46-
val lifecycle = AmbientLifecycleOwner.current.lifecycle
46+
val lifecycle = LocalLifecycleOwner.current.lifecycle
4747
DisposableEffect(lifecycle) {
4848
lifecycle.addObserver(lifecycleObserver)
4949
onDispose {

Crane/app/src/main/java/androidx/compose/samples/crane/home/CraneHome.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import androidx.compose.samples.crane.base.ExploreSection
3636
import androidx.compose.samples.crane.data.ExploreModel
3737
import androidx.compose.ui.Modifier
3838
import androidx.compose.ui.graphics.Color
39-
import androidx.compose.ui.viewinterop.viewModel
39+
import androidx.lifecycle.viewmodel.compose.viewModel
4040

4141
typealias OnExploreItemClicked = (ExploreModel) -> Unit
4242

0 commit comments

Comments
 (0)