Skip to content

Commit

Permalink
Updates Crane to dev14
Browse files Browse the repository at this point in the history
Change-Id: I136e1d4d88342127df03adb456c4b56bfe799c1c
  • Loading branch information
Manuel Vivo committed Jun 22, 2020
1 parent 0ac9f7f commit f985256
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@ package androidx.compose.samples.crane.base
import androidx.annotation.DrawableRes
import androidx.compose.Composable
import androidx.compose.getValue
import androidx.compose.mutableStateOf
import androidx.compose.samples.crane.R
import androidx.compose.samples.crane.ui.captionTextStyle
import androidx.compose.setValue
import androidx.compose.state
import androidx.ui.core.Alignment
import androidx.ui.core.Modifier
import androidx.ui.foundation.Icon
import androidx.ui.foundation.Text
import androidx.ui.foundation.TextField
import androidx.ui.foundation.TextFieldValue
import androidx.ui.foundation.contentColor
import androidx.ui.graphics.Color
import androidx.ui.input.TextFieldValue
import androidx.ui.layout.Row
import androidx.ui.layout.Spacer
import androidx.ui.layout.padding
Expand Down Expand Up @@ -81,7 +81,7 @@ fun CraneEditableUserInput(
@DrawableRes vectorImageId: Int? = null,
onInputChanged: (String) -> Unit
) {
var textFieldState by mutableStateOf(TextFieldValue(text = hint))
var textFieldState by state { TextFieldValue(text = hint) }
val isHint = { textFieldState.text == hint }

CraneBaseUserInput(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import androidx.ui.layout.preferredWidth
import androidx.ui.material.MaterialTheme
import androidx.ui.material.Tab
import androidx.ui.material.TabRow
import androidx.ui.material.ripple.ripple
import androidx.ui.res.vectorResource
import androidx.ui.unit.dp

Expand All @@ -46,7 +45,7 @@ fun CraneTabBar(
children: @Composable (Modifier) -> Unit
) {
Row(modifier) {
Row(Modifier.padding(top = 8.dp).ripple(bounded = false)) {
Row(Modifier.padding(top = 8.dp)) {
Image(
modifier = Modifier.padding(top = 8.dp).clickable(onClick = onMenuClicked),
asset = vectorResource(id = R.drawable.ic_menu)
Expand Down Expand Up @@ -83,8 +82,8 @@ fun CraneTabs(
} else {
Modifier.drawBorder(
border = Border(2.dp, Color.White),
shape = RoundedCornerShape(20.dp)
).padding(top = 8.dp, start = 20.dp, bottom = 8.dp, end = 20.dp)
shape = RoundedCornerShape(16.dp)
).padding(top = 8.dp, start = 16.dp, bottom = 8.dp, end = 16.dp)
}

Tab(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import androidx.compose.getValue
import androidx.compose.mutableStateOf
import androidx.compose.remember
import androidx.compose.setValue
import androidx.compose.state
import androidx.ui.core.Constraints
import androidx.ui.core.DensityAmbient
import androidx.ui.core.Modifier
Expand All @@ -36,8 +37,7 @@ import androidx.ui.layout.fillMaxSize
import androidx.ui.layout.offset
import androidx.ui.layout.preferredSizeIn
import androidx.ui.material.MaterialTheme
import androidx.ui.unit.IntPx
import androidx.ui.unit.IntPxSize
import androidx.ui.unit.IntSize
import androidx.ui.unit.dp

enum class FullScreenState {
Expand All @@ -57,11 +57,11 @@ fun BackdropFrontLayerDraggable(
staticChildren: @Composable (Modifier) -> Unit,
backdropChildren: @Composable (Modifier) -> Unit
) {
var backgroundChildrenSize by mutableStateOf(IntPxSize(IntPx.Zero, IntPx.Zero))
var backgroundChildrenSize by state { IntSize(0, 0) }

Box(modifier) {
WithConstraints {
val fullHeight = constraints.maxHeight.value.toFloat()
val fullHeight = constraints.maxHeight.toFloat()
val anchors = remember(backgroundChildrenSize.height) {
getAnchors(backgroundChildrenSize, fullHeight)
}
Expand All @@ -78,7 +78,7 @@ fun BackdropFrontLayerDraggable(
) { model ->
Stack {
staticChildren(Modifier.onPositioned { coordinates ->
if (backgroundChildrenSize.height == IntPx.Zero) {
if (backgroundChildrenSize.height == 0) {
backdropState.value = FullScreenState.COLLAPSED
}
if (backgroundChildrenSize != coordinates.size) {
Expand All @@ -87,7 +87,7 @@ fun BackdropFrontLayerDraggable(
})

val shadowColor = MaterialTheme.colors.surface.copy(alpha = 0.8f)
val revealValue = backgroundChildrenSize.height.value.toFloat() / 2
val revealValue = backgroundChildrenSize.height / 2
if (model.value < revealValue) {
Canvas(Modifier.fillMaxSize()) {
drawRect(size = size, color = shadowColor)
Expand All @@ -111,10 +111,10 @@ fun BackdropFrontLayerDraggable(
private const val ANCHOR_BOTTOM_OFFSET = 130f

private fun getAnchors(
searchChildrenSize: IntPxSize,
searchChildrenSize: IntSize,
fullHeight: Float
): List<Pair<Float, FullScreenState>> {
val mediumValue = searchChildrenSize.height.value.toFloat() + 50.dp.value
val mediumValue = searchChildrenSize.height + 50.dp.value
val maxValue = fullHeight - ANCHOR_BOTTOM_OFFSET
return listOf(
0f to FullScreenState.EXPANDED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ package androidx.compose.samples.crane.util

import androidx.compose.Composable
import androidx.ui.core.Constraints
import androidx.ui.core.DensityAmbient
import androidx.ui.core.Modifier
import androidx.ui.foundation.Canvas
import androidx.ui.geometry.Offset
import androidx.ui.geometry.Size
import androidx.ui.graphics.Color
import androidx.ui.layout.fillMaxSize
import androidx.ui.layout.preferredSizeIn
import androidx.ui.unit.Dp
import androidx.ui.unit.toPx
import kotlin.math.min

@Composable
Expand Down Expand Up @@ -54,11 +53,12 @@ fun SemiRect(constraints: Constraints, color: Color, lookingLeft: Boolean = true
}
}

private fun Constraints.toCanvasModifier(): Modifier {
return Modifier.preferredSizeIn(
minWidth = Dp(minWidth.toPx().value),
minHeight = Dp(minHeight.toPx().value),
maxWidth = Dp(maxWidth.toPx().value),
maxHeight = Dp(maxHeight.toPx().value)
@Composable
private fun Constraints.toCanvasModifier(): Modifier = with(DensityAmbient.current) {
Modifier.preferredSizeIn(
minWidth = minWidth.toDp(),
minHeight = minHeight.toDp(),
maxWidth = maxWidth.toDp(),
maxHeight = maxHeight.toDp()
).fillMaxSize()
}
6 changes: 4 additions & 2 deletions Crane/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,16 @@ buildscript {
}

dependencies {
classpath("com.android.tools.build:gradle:4.2.0-alpha01")
classpath("com.android.tools.build:gradle:4.2.0-alpha02")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61")
}
}

allprojects {

// Compose dev14
val snapshotUrl =
"https://androidx-dev-prod.appspot.com/snapshots/builds/6534738/artifacts/ui/repository/"
"https://androidx-dev-prod.appspot.com/snapshots/builds/6602655/artifacts/ui/repository/"
repositories {
maven {
url = uri(snapshotUrl)
Expand Down

0 comments on commit f985256

Please sign in to comment.