Skip to content

Commit 9026b6d

Browse files
committed
Eliminates WorkflowUiExperimentalApi
This was a triumph.
1 parent d3f2e60 commit 9026b6d

File tree

224 files changed

+24
-611
lines changed

Some content is hidden

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

224 files changed

+24
-611
lines changed

README.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,6 @@ Workflow is:
2222
* A corresponding testing framework that facilitates simple-to-write unit
2323
tests for all application business logic and helps ensure correctness.
2424

25-
_**1.0.0-rc is ready and the core is stable. There are still experimental /**
26-
**under construction areas of the API for UI integration however.**
27-
These classes and functions are marked with `@WorkflowUIExperimentalApi`.
28-
They are suitable for production use (we've been shipping them for months
29-
at the very heart of our flagship app), but may require signature tweaks as
30-
we iterate a bit more on Dialog management, and configuring transition effects.
31-
If they do change, we will take care to minimize the impact via deprecation, etc._
32-
3325
## Using Workflows in your project
3426

3527
### Maven Artifacts

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/MaybeLoadingGatekeeperWorkflow.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ import com.squareup.workflow1.StatefulWorkflow
1010
import com.squareup.workflow1.Workflow
1111
import com.squareup.workflow1.action
1212
import com.squareup.workflow1.runningWorker
13-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1413
import kotlinx.coroutines.flow.Flow
1514

1615
typealias IsLoading = Boolean
1716

18-
@OptIn(WorkflowUiExperimentalApi::class)
1917
class MaybeLoadingGatekeeperWorkflow<T : Any>(
2018
private val childWithLoading: Workflow<T, Any, OverviewDetailScreen<*>>,
2119
private val childProps: T,

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/PerformancePoemWorkflow.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.squareup.workflow1.WorkflowAction
3232
import com.squareup.workflow1.WorkflowAction.Companion.noAction
3333
import com.squareup.workflow1.action
3434
import com.squareup.workflow1.runningWorker
35-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
3635
import com.squareup.workflow1.ui.navigation.BackStackScreen
3736
import com.squareup.workflow1.ui.navigation.toBackStackScreen
3837
import kotlinx.coroutines.delay
@@ -94,7 +93,6 @@ class PerformancePoemWorkflow(
9493
}
9594
}
9695

97-
@OptIn(WorkflowUiExperimentalApi::class)
9896
override fun render(
9997
renderProps: Poem,
10098
renderState: State,

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/PerformancePoemsBrowserWorkflow.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import com.squareup.workflow1.StatefulWorkflow
2424
import com.squareup.workflow1.WorkflowAction.Companion.noAction
2525
import com.squareup.workflow1.action
2626
import com.squareup.workflow1.runningWorker
27-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
2827
import com.squareup.workflow1.ui.navigation.BackStackScreen
2928
import kotlinx.coroutines.delay
3029
import kotlinx.coroutines.flow.MutableStateFlow
@@ -84,7 +83,6 @@ class PerformancePoemsBrowserWorkflow(
8483
}
8584
}
8685

87-
@OptIn(WorkflowUiExperimentalApi::class)
8886
override fun render(
8987
renderProps: ConfigAndPoems,
9088
renderState: State,

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/PerformancePoetryActivity.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,18 @@ import com.squareup.sample.container.SampleContainers
2222
import com.squareup.sample.poetry.model.Poem
2323
import com.squareup.workflow1.RuntimeConfig
2424
import com.squareup.workflow1.RuntimeConfigOptions.Companion.RENDER_PER_ACTION
25-
import com.squareup.workflow1.WorkflowExperimentalRuntime
2625
import com.squareup.workflow1.WorkflowInterceptor
2726
import com.squareup.workflow1.ui.Screen
2827
import com.squareup.workflow1.ui.ViewEnvironment.Companion.EMPTY
2928
import com.squareup.workflow1.ui.ViewRegistry
3029
import com.squareup.workflow1.ui.WorkflowLayout
31-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
3230
import com.squareup.workflow1.ui.renderWorkflowIn
3331
import com.squareup.workflow1.ui.withEnvironment
3432
import kotlinx.coroutines.flow.StateFlow
3533
import kotlinx.coroutines.flow.map
3634
import kotlinx.coroutines.flow.onEach
3735
import timber.log.Timber
3836

39-
@OptIn(WorkflowUiExperimentalApi::class)
4037
private val viewEnvironment = EMPTY + (ViewRegistry to SampleContainers)
4138

4239
class PerformancePoetryActivity : AppCompatActivity() {
@@ -53,7 +50,6 @@ class PerformancePoetryActivity : AppCompatActivity() {
5350
private var selectTimeoutCount = 0
5451
private var selectTimeoutMainThreadMessageLatch = 0
5552

56-
@OptIn(WorkflowUiExperimentalApi::class, WorkflowExperimentalRuntime::class)
5753
override fun onCreate(savedInstanceState: Bundle?) {
5854
super.onCreate(savedInstanceState)
5955

@@ -164,7 +160,6 @@ class PerformancePoetryActivity : AppCompatActivity() {
164160
}
165161
}
166162

167-
@OptIn(WorkflowUiExperimentalApi::class)
168163
private fun traceRenderingLatency(screen: Screen) {
169164
// Start the trace sections for new rendering produced -> shown.
170165
val navigationHolder = navigationInFlight
@@ -269,7 +264,6 @@ class PoetryModel(
269264
interceptor: WorkflowInterceptor?,
270265
runtimeConfig: RuntimeConfig
271266
) : ViewModel() {
272-
@OptIn(WorkflowUiExperimentalApi::class)
273267
val renderings: StateFlow<Screen> by lazy {
274268
renderWorkflowIn(
275269
workflow = workflow,

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/views/BlankScreen.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ import android.widget.FrameLayout
66
import com.squareup.workflow1.ui.AndroidScreen
77
import com.squareup.workflow1.ui.ScreenViewFactory
88
import com.squareup.workflow1.ui.ScreenViewHolder
9-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
109

11-
@OptIn(WorkflowUiExperimentalApi::class)
1210
object BlankScreen : AndroidScreen<BlankScreen> {
1311
override val viewFactory: ScreenViewFactory<BlankScreen>
1412
get() = ScreenViewFactory.fromCode<BlankScreen> { _, initialEnvironment, context, container ->

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/views/LoaderSpinner.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ import com.squareup.benchmarks.performance.complex.poetry.R
99
import com.squareup.workflow1.ui.AndroidScreen
1010
import com.squareup.workflow1.ui.ScreenViewFactory
1111
import com.squareup.workflow1.ui.ScreenViewHolder
12-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
1312

14-
@OptIn(WorkflowUiExperimentalApi::class)
1513
object LoaderSpinner : AndroidScreen<LoaderSpinner> {
1614
override val viewFactory =
1715
ScreenViewFactory.fromCode<LoaderSpinner> { _, initialEnvironment, context, _ ->

benchmarks/performance-poetry/complex-poetry/src/main/java/com/squareup/benchmarks/performance/complex/poetry/views/MayBeLoadingScreen.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,12 @@ package com.squareup.benchmarks.performance.complex.poetry.views
22

33
import com.squareup.sample.container.overviewdetail.OverviewDetailScreen
44
import com.squareup.sample.container.panel.ScrimScreen
5-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
65
import com.squareup.workflow1.ui.navigation.BodyAndOverlaysScreen
76
import com.squareup.workflow1.ui.navigation.FullScreenModal
87

9-
@OptIn(WorkflowUiExperimentalApi::class)
108
typealias MayBeLoadingScreen =
119
BodyAndOverlaysScreen<ScrimScreen<OverviewDetailScreen<*>>, FullScreenModal<LoaderSpinner>>
1210

13-
@OptIn(WorkflowUiExperimentalApi::class)
1411
fun MayBeLoadingScreen(
1512
baseScreen: OverviewDetailScreen<*>,
1613
loaders: List<LoaderSpinner> = emptyList()

fileTemplates/Layout Runner (ViewBinding).kt

Lines changed: 0 additions & 27 deletions
This file was deleted.

samples/compose-samples/src/androidTest/java/com/squareup/sample/compose/hellocompose/HelloComposeTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import androidx.compose.ui.test.junit4.createAndroidComposeRule
55
import androidx.compose.ui.test.onNodeWithText
66
import androidx.compose.ui.test.performClick
77
import androidx.test.ext.junit.runners.AndroidJUnit4
8-
import com.squareup.workflow1.ui.WorkflowUiExperimentalApi
98
import com.squareup.workflow1.ui.internal.test.IdleAfterTestRule
109
import com.squareup.workflow1.ui.internal.test.IdlingDispatcherRule
1110
import com.squareup.workflow1.ui.internal.test.compose.settleForNextRendering
@@ -18,7 +17,6 @@ import org.junit.rules.RuleChain
1817
import org.junit.runner.RunWith
1918

2019
@RunWith(AndroidJUnit4::class)
21-
@OptIn(WorkflowUiExperimentalApi::class)
2220
class HelloComposeTest {
2321

2422
private val composeRule = createAndroidComposeRule<HelloComposeActivity>()

0 commit comments

Comments
 (0)