Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 1239fac

Browse files
authoredNov 11, 2020
[Crane] Updates to snapshot 6953474 (android#268)
1 parent 8534fc2 commit 1239fac

File tree

16 files changed

+77
-69
lines changed

16 files changed

+77
-69
lines changed
 

‎Crane/app/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@ android {
9696
}
9797

9898
packagingOptions {
99-
exclude "META-INF/licenses/**"
100-
exclude "META-INF/AL2.0"
101-
exclude "META-INF/LGPL2.1"
99+
// Multiple dependency bring these files in. Exclude them to enable
100+
// our test APK to build (has no effect on our AARs)
101+
excludes += "/META-INF/AL2.0"
102+
excludes += "/META-INF/LGPL2.1"
102103
}
103104
}
104105

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ import androidx.compose.samples.crane.calendar.model.DaySelectedStatus.Selected
2626
import androidx.compose.samples.crane.data.DatesRepository
2727
import androidx.compose.samples.crane.di.DispatchersModule
2828
import androidx.compose.samples.crane.ui.CraneTheme
29-
import androidx.ui.test.ComposeTestRule
30-
import androidx.ui.test.SemanticsMatcher
31-
import androidx.ui.test.assertLabelEquals
32-
import androidx.ui.test.createAndroidComposeRule
33-
import androidx.ui.test.onNodeWithLabel
34-
import androidx.ui.test.performClick
35-
import androidx.ui.test.performScrollTo
29+
import androidx.compose.ui.test.SemanticsMatcher
30+
import androidx.compose.ui.test.assertLabelEquals
31+
import androidx.compose.ui.test.junit4.ComposeTestRule
32+
import androidx.compose.ui.test.junit4.createAndroidComposeRule
33+
import androidx.compose.ui.test.onNodeWithLabel
34+
import androidx.compose.ui.test.performClick
35+
import androidx.compose.ui.test.performScrollTo
3636
import dagger.hilt.android.testing.HiltAndroidRule
3737
import dagger.hilt.android.testing.HiltAndroidTest
3838
import dagger.hilt.android.testing.UninstallModules

‎Crane/app/src/androidTest/java/androidx/compose/samples/crane/details/DetailsActivityTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ import androidx.compose.samples.crane.data.DestinationsRepository
2121
import androidx.compose.samples.crane.data.ExploreModel
2222
import androidx.compose.samples.crane.data.MADRID
2323
import androidx.compose.samples.crane.di.DispatchersModule
24+
import androidx.compose.ui.test.assertIsDisplayed
25+
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
26+
import androidx.compose.ui.test.onNodeWithText
2427
import androidx.test.espresso.Espresso.onView
2528
import androidx.test.espresso.assertion.ViewAssertions.matches
2629
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
2730
import androidx.test.espresso.matcher.ViewMatchers.withId
2831
import androidx.test.ext.junit.rules.ActivityScenarioRule
2932
import androidx.test.platform.app.InstrumentationRegistry
30-
import androidx.ui.test.AndroidComposeTestRule
31-
import androidx.ui.test.assertIsDisplayed
32-
import androidx.ui.test.onNodeWithText
3333
import com.google.android.libraries.maps.MapView
3434
import com.google.android.libraries.maps.model.CameraPosition
3535
import com.google.android.libraries.maps.model.LatLng

‎Crane/app/src/androidTest/java/androidx/compose/samples/crane/home/HomeTest.kt

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616

1717
package androidx.compose.samples.crane.home
1818

19-
import androidx.compose.material.Surface
2019
import androidx.compose.samples.crane.di.DispatchersModule
21-
import androidx.compose.samples.crane.ui.CraneTheme
22-
import androidx.ui.test.createAndroidComposeRule
23-
import androidx.ui.test.onNodeWithText
24-
import androidx.ui.test.performClick
20+
import androidx.compose.ui.test.junit4.createAndroidComposeRule
21+
import androidx.compose.ui.test.onNodeWithText
22+
import androidx.compose.ui.test.performClick
2523
import dagger.hilt.android.testing.HiltAndroidRule
2624
import dagger.hilt.android.testing.HiltAndroidTest
2725
import dagger.hilt.android.testing.UninstallModules
@@ -42,15 +40,7 @@ class HomeTest {
4240
@Before
4341
fun setUp() {
4442
composeTestRule.setContent {
45-
CraneTheme {
46-
Surface {
47-
CraneHomeContent(
48-
onExploreItemClicked = { },
49-
onDateSelectionClicked = { },
50-
openDrawer = { }
51-
)
52-
}
53-
}
43+
MainScreen({ }, { })
5444
}
5545
}
5646

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@
1717
package androidx.compose.samples.crane.base
1818

1919
import androidx.annotation.DrawableRes
20-
import androidx.compose.foundation.AmbientContentColor
21-
import androidx.compose.foundation.BaseTextField
2220
import androidx.compose.foundation.ExperimentalFoundationApi
23-
import androidx.compose.foundation.Text
2421
import androidx.compose.foundation.layout.Row
2522
import androidx.compose.foundation.layout.Spacer
2623
import androidx.compose.foundation.layout.padding
2724
import androidx.compose.foundation.layout.preferredSize
2825
import androidx.compose.foundation.layout.preferredWidth
26+
import androidx.compose.foundation.text.BasicTextField
27+
import androidx.compose.material.AmbientContentColor
2928
import androidx.compose.material.Icon
3029
import androidx.compose.material.MaterialTheme
3130
import androidx.compose.material.Surface
31+
import androidx.compose.material.Text
3232
import androidx.compose.runtime.Composable
3333
import androidx.compose.runtime.getValue
3434
import androidx.compose.runtime.mutableStateOf
@@ -93,13 +93,18 @@ fun CraneEditableUserInput(
9393
showCaption = { !isHint() },
9494
vectorImageId = vectorImageId
9595
) {
96-
BaseTextField(
96+
BasicTextField(
9797
value = textFieldState,
9898
onValueChange = {
9999
textFieldState = it
100100
if (!isHint()) onInputChanged(textFieldState.text)
101101
},
102-
textStyle = if (isHint()) captionTextStyle else MaterialTheme.typography.body1,
102+
textStyle = if (isHint()) {
103+
captionTextStyle.copy(color = AmbientContentColor.current)
104+
} else {
105+
MaterialTheme.typography.body1
106+
},
107+
cursorColor = AmbientContentColor.current
103108
)
104109
}
105110
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
package androidx.compose.samples.crane.base
1818

1919
import androidx.compose.foundation.Image
20-
import androidx.compose.foundation.Text
2120
import androidx.compose.foundation.layout.Column
2221
import androidx.compose.foundation.layout.Spacer
2322
import androidx.compose.foundation.layout.fillMaxSize
2423
import androidx.compose.foundation.layout.padding
2524
import androidx.compose.foundation.layout.preferredHeight
2625
import androidx.compose.material.MaterialTheme
26+
import androidx.compose.material.Text
2727
import androidx.compose.runtime.Composable
2828
import androidx.compose.samples.crane.R
2929
import androidx.compose.samples.crane.ui.CraneTheme

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package androidx.compose.samples.crane.base
1818

1919
import androidx.compose.foundation.BorderStroke
2020
import androidx.compose.foundation.Image
21-
import androidx.compose.foundation.Text
2221
import androidx.compose.foundation.border
2322
import androidx.compose.foundation.clickable
2423
import androidx.compose.foundation.layout.ExperimentalLayout
@@ -30,6 +29,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
3029
import androidx.compose.material.MaterialTheme
3130
import androidx.compose.material.Tab
3231
import androidx.compose.material.TabRow
32+
import androidx.compose.material.Text
3333
import androidx.compose.runtime.Composable
3434
import androidx.compose.samples.crane.R
3535
import androidx.compose.samples.crane.home.CraneScreen

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package androidx.compose.samples.crane.base
1818

1919
import androidx.compose.foundation.Image
20-
import androidx.compose.foundation.Text
2120
import androidx.compose.foundation.clickable
2221
import androidx.compose.foundation.layout.Box
2322
import androidx.compose.foundation.layout.Column
@@ -33,6 +32,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
3332
import androidx.compose.material.Divider
3433
import androidx.compose.material.MaterialTheme
3534
import androidx.compose.material.Surface
35+
import androidx.compose.material.Text
3636
import androidx.compose.runtime.Composable
3737
import androidx.compose.samples.crane.R
3838
import androidx.compose.samples.crane.data.ExploreModel

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package androidx.compose.samples.crane.calendar
1818

1919
import androidx.compose.foundation.ScrollableColumn
20-
import androidx.compose.foundation.Text
2120
import androidx.compose.foundation.clickable
2221
import androidx.compose.foundation.layout.Box
2322
import androidx.compose.foundation.layout.Column
@@ -35,6 +34,7 @@ import androidx.compose.foundation.layout.wrapContentWidth
3534
import androidx.compose.material.Colors
3635
import androidx.compose.material.MaterialTheme
3736
import androidx.compose.material.Surface
37+
import androidx.compose.material.Text
3838
import androidx.compose.runtime.Composable
3939
import androidx.compose.samples.crane.calendar.model.CalendarDay
4040
import androidx.compose.samples.crane.calendar.model.CalendarMonth

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ import android.content.Intent
2121
import android.os.Bundle
2222
import androidx.activity.ComponentActivity
2323
import androidx.compose.foundation.Image
24-
import androidx.compose.foundation.Text
2524
import androidx.compose.foundation.layout.Column
2625
import androidx.compose.material.IconButton
2726
import androidx.compose.material.MaterialTheme
2827
import androidx.compose.material.Surface
28+
import androidx.compose.material.Text
2929
import androidx.compose.material.TopAppBar
3030
import androidx.compose.runtime.Composable
3131
import androidx.compose.samples.crane.R

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import android.content.Intent
2121
import android.os.Bundle
2222
import androidx.activity.ComponentActivity
2323
import androidx.annotation.VisibleForTesting
24-
import androidx.compose.foundation.Text
2524
import androidx.compose.foundation.layout.Arrangement
2625
import androidx.compose.foundation.layout.Column
2726
import androidx.compose.foundation.layout.Row
@@ -32,6 +31,7 @@ import androidx.compose.foundation.layout.preferredHeight
3231
import androidx.compose.material.Button
3332
import androidx.compose.material.ButtonConstants
3433
import androidx.compose.material.MaterialTheme
34+
import androidx.compose.material.Text
3535
import androidx.compose.runtime.Composable
3636
import androidx.compose.runtime.getValue
3737
import androidx.compose.runtime.remember

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ import androidx.compose.foundation.Image
2020
import androidx.compose.foundation.layout.Box
2121
import androidx.compose.foundation.layout.fillMaxSize
2222
import androidx.compose.runtime.Composable
23-
import androidx.compose.runtime.LaunchedTask
23+
import androidx.compose.runtime.LaunchedEffect
24+
import androidx.compose.runtime.getValue
25+
import androidx.compose.runtime.rememberUpdatedState
2426
import androidx.compose.samples.crane.R
2527
import androidx.compose.ui.Alignment
2628
import androidx.compose.ui.Modifier
@@ -32,9 +34,12 @@ private const val SplashWaitTime: Long = 2000
3234
@Composable
3335
fun LandingScreen(modifier: Modifier = Modifier, onTimeout: () -> Unit) {
3436
Box(modifier = modifier.fillMaxSize(), alignment = Alignment.Center) {
35-
LaunchedTask {
37+
// Adds composition consistency. Use the value when LaunchedEffect is first called
38+
val currentOnTimeout by rememberUpdatedState(onTimeout)
39+
40+
LaunchedEffect(Unit) {
3641
delay(SplashWaitTime)
37-
onTimeout()
42+
currentOnTimeout()
3843
}
3944
Image(asset = vectorResource(id = R.drawable.ic_crane_drawer))
4045
}

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

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package androidx.compose.samples.crane.home
1818

1919
import android.os.Bundle
2020
import androidx.activity.ComponentActivity
21+
import androidx.annotation.VisibleForTesting
2122
import androidx.compose.animation.DpPropKey
2223
import androidx.compose.animation.core.FloatPropKey
2324
import androidx.compose.animation.core.Spring.StiffnessLow
@@ -51,29 +52,31 @@ class MainActivity : ComponentActivity() {
5152
super.onCreate(savedInstanceState)
5253

5354
setContent {
54-
CraneScaffold {
55-
val onExploreItemClicked: OnExploreItemClicked = remember {
56-
{ launchDetailsActivity(context = this, item = it) }
57-
}
58-
val onDateSelectionClicked = remember {
59-
{ launchCalendarActivity(this) }
60-
}
55+
MainScreen(
56+
onExploreItemClicked = { launchDetailsActivity(context = this, item = it) },
57+
onDateSelectionClicked = { launchCalendarActivity(this) }
58+
)
59+
}
60+
}
61+
}
6162

62-
var splashShown by remember { mutableStateOf(SplashState.Shown) }
63-
val transition = transition(splashTransitionDefinition, splashShown)
64-
Box {
65-
LandingScreen(
66-
modifier = Modifier.drawOpacity(transition[splashAlphaKey]),
67-
onTimeout = { splashShown = SplashState.Completed }
68-
)
69-
MainContent(
70-
modifier = Modifier.drawOpacity(transition[contentAlphaKey]),
71-
topPadding = transition[contentTopPaddingKey],
72-
onExploreItemClicked = onExploreItemClicked,
73-
onDateSelectionClicked = onDateSelectionClicked
74-
)
75-
}
76-
}
63+
@VisibleForTesting
64+
@Composable
65+
fun MainScreen(onExploreItemClicked: OnExploreItemClicked, onDateSelectionClicked: () -> Unit) {
66+
CraneScaffold {
67+
var splashShown by remember { mutableStateOf(SplashState.Shown) }
68+
val transition = transition(splashTransitionDefinition, splashShown)
69+
Box {
70+
LandingScreen(
71+
modifier = Modifier.drawOpacity(transition[splashAlphaKey]),
72+
onTimeout = { splashShown = SplashState.Completed }
73+
)
74+
MainContent(
75+
modifier = Modifier.drawOpacity(transition[contentAlphaKey]),
76+
topPadding = transition[contentTopPaddingKey],
77+
onExploreItemClicked = onExploreItemClicked,
78+
onDateSelectionClicked = onDateSelectionClicked
79+
)
7780
}
7881
}
7982
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ import androidx.compose.animation.ColorPropKey
2020
import androidx.compose.animation.core.transitionDefinition
2121
import androidx.compose.animation.core.tween
2222
import androidx.compose.animation.transition
23-
import androidx.compose.foundation.Text
2423
import androidx.compose.foundation.clickable
2524
import androidx.compose.foundation.layout.Column
2625
import androidx.compose.material.MaterialTheme
26+
import androidx.compose.material.Text
2727
import androidx.compose.runtime.Composable
2828
import androidx.compose.runtime.getValue
2929
import androidx.compose.runtime.mutableStateOf

‎Crane/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ subprojects {
6767
// Use experimental APIs
6868
freeCompilerArgs += '-Xopt-in=kotlin.RequiresOptIn'
6969
freeCompilerArgs += '-Xallow-jvm-ir-dependencies'
70+
freeCompilerArgs += [
71+
'-P',
72+
'plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=true'
73+
]
7074
}
7175
}
7276
}

‎Crane/buildSrc/src/main/java/com/example/crane/buildsrc/Dependencies.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ object Versions {
2121
}
2222

2323
object Libs {
24-
const val androidGradlePlugin = "com.android.tools.build:gradle:4.2.0-alpha15"
24+
const val androidGradlePlugin = "com.android.tools.build:gradle:4.2.0-alpha16"
2525
const val ktLint = "com.pinterest:ktlint:${Versions.ktLint}"
2626
const val googleMaps = "com.google.android.libraries.maps:maps:3.1.0-beta"
2727

2828
object Accompanist {
29-
private const val version = "0.3.2"
29+
private const val version = "0.3.3.compose-6961312-SNAPSHOT"
3030
const val coil = "dev.chrisbanes.accompanist:accompanist-coil:$version"
3131
}
3232

@@ -37,16 +37,16 @@ object Libs {
3737
const val extensions = "org.jetbrains.kotlin:kotlin-android-extensions:$version"
3838

3939
object Coroutines {
40-
private const val version = "1.4.0-M1"
40+
private const val version = "1.4.0"
4141
const val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version"
4242
const val test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:$version"
4343
}
4444
}
4545

4646
object AndroidX {
4747
object Compose {
48-
const val snapshot = ""
49-
const val version = "1.0.0-alpha06"
48+
const val snapshot = "6961312"
49+
const val version = "1.0.0-SNAPSHOT"
5050

5151
const val runtime = "androidx.compose.runtime:runtime:$version"
5252
const val runtimeLivedata = "androidx.compose.runtime:runtime-livedata:$version"

0 commit comments

Comments
 (0)
Please sign in to comment.