From 40853723ab35c1486593b970adbad2efc69239a1 Mon Sep 17 00:00:00 2001 From: geeksville Date: Sun, 29 Mar 2020 13:38:50 -0700 Subject: [PATCH] update to dev07 compose --- .../java/androidx/ui/androidview/ComposedView.kt | 10 ++++++---- .../java/com/geeksville/mesh/ui/AndroidImage.kt | 15 +++++++-------- .../main/java/com/geeksville/mesh/ui/AppDrawer.kt | 2 +- .../java/com/geeksville/mesh/ui/BTScanScreen.kt | 4 ++-- .../main/java/com/geeksville/mesh/ui/MeshApp.kt | 1 - .../main/java/com/geeksville/mesh/ui/Messages.kt | 2 +- .../java/com/geeksville/mesh/ui/NodeInfoCard.kt | 3 +-- .../com/geeksville/mesh/ui/StyledTextField.kt | 8 ++++---- .../main/java/com/geeksville/mesh/ui/Vectors.kt | 5 ++--- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 11 files changed, 27 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/androidx/ui/androidview/ComposedView.kt b/app/src/main/java/androidx/ui/androidview/ComposedView.kt index 2c24ae27a..3f1c218af 100644 --- a/app/src/main/java/androidx/ui/androidview/ComposedView.kt +++ b/app/src/main/java/androidx/ui/androidview/ComposedView.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import android.view.ViewGroup.LayoutParams.MATCH_PARENT import androidx.annotation.LayoutRes import androidx.compose.Composable +import androidx.ui.core.ContextAmbient /** * Composes an Android [View] given a layout resource [resId]. The method handles the inflation @@ -35,10 +36,11 @@ import androidx.compose.Composable @Composable // TODO(popam): support modifiers here fun AndroidView(@LayoutRes resId: Int, postInflationCallback: (View) -> Unit = { _ -> }) { - AndroidViewHolder( - postInflationCallback = postInflationCallback, - resId = resId - ) + val context = ContextAmbient.current + + val r = AndroidViewHolder(context) + r.postInflationCallback = postInflationCallback + r.resId = resId } private class AndroidViewHolder(context: Context) : ViewGroup(context) { diff --git a/app/src/main/java/com/geeksville/mesh/ui/AndroidImage.kt b/app/src/main/java/com/geeksville/mesh/ui/AndroidImage.kt index b53565b89..85daaf0c8 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/AndroidImage.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/AndroidImage.kt @@ -5,10 +5,9 @@ import androidx.compose.Composable import androidx.ui.core.DensityAmbient import androidx.ui.core.DrawModifier import androidx.ui.core.Modifier -import androidx.ui.core.toModifier +import androidx.ui.core.asModifier import androidx.ui.foundation.Box import androidx.ui.graphics.* -import androidx.ui.graphics.colorspace.ColorSpace import androidx.ui.graphics.colorspace.ColorSpaces import androidx.ui.graphics.painter.ImagePainter import androidx.ui.unit.Density @@ -31,12 +30,12 @@ private object ClipModifier : DrawModifier { /// Stolen from the Compose SimpleImage, replace with their real Image component someday @Composable fun ScaledImage( - image: Image, + image: ImageAsset, modifier: Modifier = Modifier.None, tint: Color? = null ) { with(DensityAmbient.current) { - val imageModifier = ImagePainter(image).toModifier( + val imageModifier = ImagePainter(image).asModifier( scaleFit = ScaleFit.FillMaxDimension, colorFilter = tint?.let { ColorFilter(it, BlendMode.srcIn) } ) @@ -46,7 +45,7 @@ fun ScaledImage( /// Borrowed from Compose -class AndroidImage(val bitmap: Bitmap) : Image { +class AndroidImage(val bitmap: Bitmap) : ImageAsset { /** * @see Image.width @@ -60,12 +59,12 @@ class AndroidImage(val bitmap: Bitmap) : Image { override val height: Int get() = bitmap.height - override val config: ImageConfig get() = ImageConfig.Argb8888 + override val config: ImageAssetConfig get() = ImageAssetConfig.Argb8888 /** * @see Image.colorSpace */ - override val colorSpace: ColorSpace + override val colorSpace: androidx.ui.graphics.colorspace.ColorSpace get() = ColorSpaces.Srgb /** @@ -77,7 +76,7 @@ class AndroidImage(val bitmap: Bitmap) : Image { /** * @see Image.nativeImage */ - override val nativeImage: NativeImage + override val nativeImage: NativeImageAsset get() = bitmap /** diff --git a/app/src/main/java/com/geeksville/mesh/ui/AppDrawer.kt b/app/src/main/java/com/geeksville/mesh/ui/AppDrawer.kt index ea78ed7ac..616cf9ded 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/AppDrawer.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/AppDrawer.kt @@ -9,8 +9,8 @@ import androidx.ui.graphics.Color import androidx.ui.layout.* import androidx.ui.material.Divider import androidx.ui.material.MaterialTheme +import androidx.ui.material.Surface import androidx.ui.material.TextButton -import androidx.ui.material.surface.Surface import androidx.ui.tooling.preview.Preview import androidx.ui.unit.dp import com.geeksville.mesh.R diff --git a/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt b/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt index 5104f9054..0bffee9f2 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/BTScanScreen.kt @@ -14,7 +14,7 @@ import androidx.ui.core.Text import androidx.ui.layout.Column import androidx.ui.layout.LayoutGravity import androidx.ui.material.CircularProgressIndicator -import androidx.ui.material.EmphasisLevels +import androidx.ui.material.MaterialTheme import androidx.ui.material.ProvideEmphasis import androidx.ui.material.RadioGroup import androidx.ui.tooling.preview.Preview @@ -173,7 +173,7 @@ fun BTScanScreen() { Column { ScanUIState.devices.values.forEach { // disabled pending https://issuetracker.google.com/issues/149528535 - ProvideEmphasis(emphasis = if (it.bonded) EmphasisLevels().high else EmphasisLevels().disabled) { + ProvideEmphasis(emphasis = if (it.bonded) MaterialTheme.emphasisLevels().high else MaterialTheme.emphasisLevels().disabled) { RadioGroupTextItem( selected = (it.isSelected), onSelect = { diff --git a/app/src/main/java/com/geeksville/mesh/ui/MeshApp.kt b/app/src/main/java/com/geeksville/mesh/ui/MeshApp.kt index 600c9ca21..f756e3a89 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MeshApp.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MeshApp.kt @@ -9,7 +9,6 @@ import androidx.ui.layout.Container import androidx.ui.layout.LayoutSize import androidx.ui.layout.Row import androidx.ui.material.* -import androidx.ui.material.surface.Surface import androidx.ui.tooling.preview.Preview import androidx.ui.unit.dp import com.geeksville.android.Logging diff --git a/app/src/main/java/com/geeksville/mesh/ui/Messages.kt b/app/src/main/java/com/geeksville/mesh/ui/Messages.kt index 1e4b56857..04256ab1a 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/Messages.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/Messages.kt @@ -75,7 +75,7 @@ fun MessagesContent() { val topPad = 4.dp VerticalScroller( - modifier = LayoutFlexible(1f) + modifier = LayoutWeight(1f) ) { Column { messages.forEach { msg -> diff --git a/app/src/main/java/com/geeksville/mesh/ui/NodeInfoCard.kt b/app/src/main/java/com/geeksville/mesh/ui/NodeInfoCard.kt index cc17f427d..eccfc19f5 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/NodeInfoCard.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/NodeInfoCard.kt @@ -3,7 +3,6 @@ package com.geeksville.mesh.ui import androidx.compose.Composable import androidx.ui.core.Text import androidx.ui.layout.* -import androidx.ui.material.EmphasisLevels import androidx.ui.material.MaterialTheme import androidx.ui.material.ProvideEmphasis import androidx.ui.tooling.preview.Preview @@ -47,7 +46,7 @@ fun CompassHeading(modifier: Modifier1 = Modifier1.None, node: NodeInfo) { @Composable fun NodeHeading(node: NodeInfo) { - ProvideEmphasis(emphasis = EmphasisLevels().high) { + ProvideEmphasis(emphasis = MaterialTheme.emphasisLevels().high) { Text( node.user?.longName ?: "unknown", style = MaterialTheme.typography().subtitle1 diff --git a/app/src/main/java/com/geeksville/mesh/ui/StyledTextField.kt b/app/src/main/java/com/geeksville/mesh/ui/StyledTextField.kt index 70a64994f..449fd53c8 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/StyledTextField.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/StyledTextField.kt @@ -11,9 +11,9 @@ import androidx.ui.input.KeyboardType import androidx.ui.input.VisualTransformation import androidx.ui.layout.LayoutPadding import androidx.ui.material.Emphasis -import androidx.ui.material.EmphasisLevels +import androidx.ui.material.MaterialTheme import androidx.ui.material.ProvideEmphasis -import androidx.ui.material.surface.Surface +import androidx.ui.material.Surface import androidx.ui.text.TextStyle import androidx.ui.unit.dp @@ -30,7 +30,7 @@ fun StyledTextField( value: String, modifier: Modifier = Modifier.None, onValueChange: (String) -> Unit = {}, - textStyle: TextStyle? = null, + textStyle: TextStyle = TextStyle.Default, keyboardType: KeyboardType = KeyboardType.Text, imeAction: ImeAction = ImeAction.Unspecified, onFocus: () -> Unit = {}, @@ -47,7 +47,7 @@ fun StyledTextField( shape = RoundedCornerShape(4.dp) ) { val showingHint = state { value.isEmpty() } - val level = if (showingHint.value) HintEmphasis else EmphasisLevels().medium + val level = if (showingHint.value) HintEmphasis else MaterialTheme.emphasisLevels().medium ProvideEmphasis(level) { TextField( diff --git a/app/src/main/java/com/geeksville/mesh/ui/Vectors.kt b/app/src/main/java/com/geeksville/mesh/ui/Vectors.kt index 22fb0f5d3..9aa4fb313 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/Vectors.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/Vectors.kt @@ -5,7 +5,7 @@ import androidx.compose.Composable import androidx.ui.core.Modifier import androidx.ui.foundation.Icon import androidx.ui.graphics.Color -import androidx.ui.graphics.vector.DrawVector +import androidx.ui.graphics.vector.drawVector import androidx.ui.layout.Container import androidx.ui.layout.LayoutSize import androidx.ui.material.IconButton @@ -42,9 +42,8 @@ fun VectorImage( modifier = modifier + LayoutSize( vector.defaultWidth, vector.defaultHeight - ) + ) + drawVector(vector, tint) ) { - DrawVector(vector, tint) } // } } diff --git a/build.gradle b/build.gradle index c8ed30bba..1af1d03f6 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext.kotlin_version = '1.3.61' - ext.compose_version = '0.1.0-dev06' + ext.compose_version = '0.1.0-dev07' repositories { google() jcenter() diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index eb5bc3dcd..d3c6a75e0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Mar 29 11:25:06 PDT 2020 +#Sun Mar 29 12:13:52 PDT 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-rc-1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-rc-1-all.zip