Skip to content
This repository was archived by the owner on Feb 5, 2021. It is now read-only.

WIP Upgrade workflow to latest alpha. #81

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,5 +92,5 @@ limitations under the License.
```

[1]: https://developer.android.com/jetpack/compose
[2]: https://square.github.io/workflow/kotlin/api/workflow/com.squareup.workflow.ui/-view-factory/
[3]: https://square.github.io/workflow/kotlin/api/workflow/com.squareup.workflow.ui/-view-registry/
[2]: https://square.github.io/workflow/kotlin/api/workflow/com.squareup.workflow1.ui/-view-factory/
[3]: https://square.github.io/workflow/kotlin/api/workflow/com.squareup.workflow1.ui/-view-registry/
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ subprojects {
jcenter()
// For Kotlin 1.4.
maven("https://dl.bintray.com/kotlin/kotlin-eap")
mavenLocal()
}

apply(plugin = "org.jlleitschuh.gradle.ktlint")
Expand Down
8 changes: 4 additions & 4 deletions buildSrc/src/main/java/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ object Versions {
// This *is* actually used.
@Suppress("unused")
const val targetSdk = 29
const val workflow = "0.28.0"
const val workflow = "1.0.0-alpha.8-SNAPSHOT"
}

@Suppress("unused")
Expand Down Expand Up @@ -78,11 +78,11 @@ object Dependencies {
}

object Workflow {
const val core = "com.squareup.workflow:workflow-core-jvm:${Versions.workflow}"
const val runtime = "com.squareup.workflow:workflow-runtime-jvm:${Versions.workflow}"
const val core = "com.squareup.workflow1:workflow-core-jvm:${Versions.workflow}"
const val runtime = "com.squareup.workflow1:workflow-runtime-jvm:${Versions.workflow}"

object UI {
const val coreAndroid = "com.squareup.workflow:workflow-ui-core-android:${Versions.workflow}"
const val coreAndroid = "com.squareup.workflow1:workflow-ui-core-android:${Versions.workflow}"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion compose-tooling/api/compose-tooling.api
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ public final class com/squareup/workflow/ui/compose/tooling/ComposeWorkflowsKt {
}

public final class com/squareup/workflow/ui/compose/tooling/ViewFactoriesKt {
public static final fun preview (Lcom/squareup/workflow/ui/ViewFactory;Ljava/lang/Object;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V
public static final fun preview (Lcom/squareup/workflow1/ui/ViewFactory;Ljava/lang/Object;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V
}

Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import androidx.ui.tooling.preview.Preview
import com.squareup.workflow.Workflow
import com.squareup.workflow.ui.ViewEnvironmentKey
import com.squareup.workflow.ui.compose.WorkflowRendering
import com.squareup.workflow.ui.compose.composed
import com.squareup.workflow1.Workflow
import com.squareup.workflow1.ui.ViewEnvironmentKey
import com.squareup.workflow1.ui.compose.WorkflowRendering
import com.squareup.workflow1.ui.compose.composed
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith

/**
* Duplicate of [PreviewViewFactoryTest] but for [com.squareup.workflow.ui.compose.ComposeWorkflow].
* Duplicate of [PreviewViewFactoryTest] but for [com.squareup.workflow1.ui.compose.ComposeWorkflow].
*/
@RunWith(AndroidJUnit4::class)
class PreviewComposeWorkflowTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import androidx.ui.tooling.preview.Preview
import com.squareup.workflow.ui.ViewEnvironmentKey
import com.squareup.workflow.ui.compose.WorkflowRendering
import com.squareup.workflow.ui.compose.composedViewFactory
import com.squareup.workflow1.ui.ViewEnvironmentKey
import com.squareup.workflow1.ui.compose.WorkflowRendering
import com.squareup.workflow1.ui.compose.composedViewFactory
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:OptIn(WorkflowUiExperimentalApi::class)
@file:Suppress("RemoveEmptyParenthesesFromAnnotationEntry")

package com.squareup.workflow.ui.compose.tooling

import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.squareup.workflow.Sink
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewFactory
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow.ui.compose.ComposeWorkflow
import com.squareup.workflow1.Sink
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewFactory
import com.squareup.workflow1.ui.ViewRegistry
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi

/**
* Draws this [ComposeWorkflow] using a special preview [ViewRegistry].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:OptIn(WorkflowUiExperimentalApi::class)
@file:Suppress("SameParameterValue", "DEPRECATION")

package com.squareup.workflow.ui.compose.tooling
Expand Down Expand Up @@ -40,8 +41,9 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.ui.tooling.preview.Preview
import com.squareup.workflow.ui.ViewFactory
import com.squareup.workflow.ui.compose.composedViewFactory
import com.squareup.workflow1.ui.ViewFactory
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi

/**
* A [ViewFactory] that will be used any time a [PreviewViewRegistry] is asked to show a rendering.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:OptIn(WorkflowUiExperimentalApi::class)

package com.squareup.workflow.ui.compose.tooling

import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewFactory
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewFactory
import com.squareup.workflow1.ui.ViewRegistry
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
import kotlin.reflect.KClass

/**
Expand All @@ -41,7 +44,7 @@ import kotlin.reflect.KClass
PreviewViewRegistry(mainFactory, placeholderViewFactory(placeholderModifier))
}
return remember(viewRegistry, viewEnvironmentUpdater) {
ViewEnvironment(viewRegistry).let { environment ->
ViewEnvironment(mapOf(ViewRegistry to viewRegistry)).let { environment ->
// Give the preview a chance to add its own elements to the ViewEnvironment.
viewEnvironmentUpdater?.let { it(environment) } ?: environment
}
Expand All @@ -50,7 +53,7 @@ import kotlin.reflect.KClass

/**
* A [ViewRegistry] that uses [mainFactory] for rendering [RenderingT]s, and [placeholderFactory]
* for all other [WorkflowRendering][com.squareup.workflow.ui.compose.WorkflowRendering] calls.
* for all other [WorkflowRendering][com.squareup.workflow1.ui.compose.WorkflowRendering] calls.
*/
@Immutable
private class PreviewViewRegistry<RenderingT : Any>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:OptIn(WorkflowUiExperimentalApi::class)
@file:Suppress("RemoveEmptyParenthesesFromAnnotationEntry")

package com.squareup.workflow.ui.compose.tooling

import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewFactory
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow.ui.compose.WorkflowRendering
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewFactory
import com.squareup.workflow1.ui.ViewRegistry
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi

/**
* Draws this [ViewFactory] using a special preview [ViewRegistry].
Expand Down
36 changes: 18 additions & 18 deletions core-compose/api/core-compose.api
Original file line number Diff line number Diff line change
Expand Up @@ -5,48 +5,48 @@ public final class com/squareup/workflow/ui/compose/ComposeRendering {
}

public final class com/squareup/workflow/ui/compose/ComposeRendering$Companion {
public final fun getFactory ()Lcom/squareup/workflow/ui/ViewFactory;
public final fun getFactory ()Lcom/squareup/workflow1/ui/ViewFactory;
public final fun getNoopRendering ()Lcom/squareup/workflow/ui/compose/ComposeRendering;
}

public final class com/squareup/workflow/ui/compose/ComposeViewFactory : com/squareup/workflow/ui/ViewFactory {
public final class com/squareup/workflow/ui/compose/ComposeViewFactory : com/squareup/workflow1/ui/ViewFactory {
public fun <init> (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function4;)V
public fun buildView (Ljava/lang/Object;Lcom/squareup/workflow/ui/ViewEnvironment;Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;
public fun buildView (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;
public fun getType ()Lkotlin/reflect/KClass;
}

public abstract class com/squareup/workflow/ui/compose/ComposeWorkflow : com/squareup/workflow/Workflow {
public abstract class com/squareup/workflow/ui/compose/ComposeWorkflow : com/squareup/workflow1/Workflow {
public static final field $stable I
public fun <init> ()V
public fun asStatefulWorkflow ()Lcom/squareup/workflow/StatefulWorkflow;
public abstract fun render (Ljava/lang/Object;Lcom/squareup/workflow/Sink;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/runtime/Composer;I)V
public fun asStatefulWorkflow ()Lcom/squareup/workflow1/StatefulWorkflow;
public abstract fun render (Ljava/lang/Object;Lcom/squareup/workflow1/Sink;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/runtime/Composer;I)V
}

public final class com/squareup/workflow/ui/compose/ComposeWorkflowKt {
public static final fun composed (Lcom/squareup/workflow/Workflow$Companion;Lkotlin/jvm/functions/Function5;)Lcom/squareup/workflow/ui/compose/ComposeWorkflow;
public static final fun composed (Lcom/squareup/workflow1/Workflow$Companion;Lkotlin/jvm/functions/Function5;)Lcom/squareup/workflow/ui/compose/ComposeWorkflow;
}

public final class com/squareup/workflow/ui/compose/CompositionRootKt {
public static final fun withCompositionRoot (Lcom/squareup/workflow/ui/ViewEnvironment;Lkotlin/jvm/functions/Function3;)Lcom/squareup/workflow/ui/ViewEnvironment;
public static final fun withCompositionRoot (Lcom/squareup/workflow/ui/ViewRegistry;Lkotlin/jvm/functions/Function3;)Lcom/squareup/workflow/ui/ViewRegistry;
public static final fun withCompositionRoot (Lcom/squareup/workflow1/ui/ViewEnvironment;Lkotlin/jvm/functions/Function3;)Lcom/squareup/workflow1/ui/ViewEnvironment;
public static final fun withCompositionRoot (Lcom/squareup/workflow1/ui/ViewRegistry;Lkotlin/jvm/functions/Function3;)Lcom/squareup/workflow1/ui/ViewRegistry;
}

public final class com/squareup/workflow/ui/compose/RenderAsStateKt {
public static final fun renderAsState (Lcom/squareup/workflow/Workflow;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow/Workflow;Ljava/lang/Object;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow/Workflow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow/Workflow;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow1/Workflow;Ljava/lang/Object;Ljava/util/List;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow1/Workflow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Ljava/util/List;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow1/Workflow;Ljava/util/List;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
public static final fun renderAsState (Lcom/squareup/workflow1/Workflow;Lkotlin/jvm/functions/Function1;Ljava/util/List;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
}

public final class com/squareup/workflow/ui/compose/ViewEnvironmentsKt {
public static final fun WorkflowRendering (Ljava/lang/Object;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowRendering (Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V
}

public final class com/squareup/workflow/ui/compose/WorkflowContainerKt {
public static final fun WorkflowContainer (Lcom/squareup/workflow/Workflow;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow/Workflow;Ljava/lang/Object;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow/Workflow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow/Workflow;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Lcom/squareup/workflow/diagnostic/WorkflowDiagnosticListener;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow1/Workflow;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Ljava/util/List;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow1/Workflow;Ljava/lang/Object;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Ljava/util/List;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow1/Workflow;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Ljava/util/List;Landroidx/compose/runtime/Composer;II)V
public static final fun WorkflowContainer (Lcom/squareup/workflow1/Workflow;Lkotlin/jvm/functions/Function1;Lcom/squareup/workflow1/ui/ViewEnvironment;Landroidx/compose/ui/Modifier;Ljava/util/List;Landroidx/compose/runtime/Composer;II)V
}

public final class com/squareup/workflow/ui/core/compose/BuildConfig {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.viewinterop.AndroidView
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow.ui.WorkflowViewStub
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewRegistry
import com.squareup.workflow1.ui.WorkflowViewStub
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ import androidx.compose.runtime.savedinstancestate.UiSavedStateRegistryAmbient
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import com.google.common.truth.Truth.assertThat
import com.squareup.workflow.RenderContext
import com.squareup.workflow.Snapshot
import com.squareup.workflow.StatefulWorkflow
import com.squareup.workflow.Workflow
import com.squareup.workflow.action
import com.squareup.workflow.parse
import com.squareup.workflow.readUtf8WithLength
import com.squareup.workflow.stateless
import com.squareup.workflow.ui.compose.RenderAsStateTest.SnapshottingWorkflow.SnapshottedRendering
import com.squareup.workflow.writeUtf8WithLength
import com.squareup.workflow1.RenderContext
import com.squareup.workflow1.Snapshot
import com.squareup.workflow1.StatefulWorkflow
import com.squareup.workflow1.Workflow
import com.squareup.workflow1.action
import com.squareup.workflow1.parse
import com.squareup.workflow1.readUtf8WithLength
import com.squareup.workflow1.stateless
import com.squareup.workflow1.ui.compose.RenderAsStateTest.SnapshottingWorkflow.SnapshottedRendering
import com.squareup.workflow1.writeUtf8WithLength
import okio.ByteString
import okio.ByteString.Companion.decodeBase64
import org.junit.Rule
Expand Down Expand Up @@ -219,7 +219,7 @@ class RenderAsStateTest {
Snapshot.write { it.writeUtf8WithLength(state) }

private fun updateString(newString: String) = action {
nextState = newString
state = newString
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.onNodeWithText
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewRegistry
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.onNodeWithText
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import com.squareup.workflow.Workflow
import com.squareup.workflow.stateless
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow1.Workflow
import com.squareup.workflow1.stateless
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewRegistry
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.ui.test.createComposeRule
import com.squareup.workflow.ui.ViewEnvironment
import com.squareup.workflow.ui.ViewFactory
import com.squareup.workflow.ui.ViewRegistry
import com.squareup.workflow.ui.bindShowRendering
import com.squareup.workflow.ui.compose.WorkflowRendering
import com.squareup.workflow.ui.compose.composedViewFactory
import com.squareup.workflow.ui.compose.withCompositionRoot
import com.squareup.workflow1.ui.ViewEnvironment
import com.squareup.workflow1.ui.ViewFactory
import com.squareup.workflow1.ui.ViewRegistry
import com.squareup.workflow1.ui.bindShowRendering
import com.squareup.workflow1.ui.compose.WorkflowRendering
import com.squareup.workflow1.ui.compose.composedViewFactory
import com.squareup.workflow1.ui.compose.withCompositionRoot
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
Loading