Skip to content

Commit b5d3b16

Browse files
committed
Remove unnecessary frame tracking in main composable
1 parent 1ce9943 commit b5d3b16

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ internal fun App(
3333
modifier: Modifier = Modifier
3434
) {
3535
var selectedNode by remember { mutableStateOf<NodeUpdate?>(null) }
36-
val workflowFrames = remember { mutableStateListOf<Node>() }
36+
var frameSize by remember { mutableIntStateOf(0) }
3737
var frameIndex by remember { mutableIntStateOf(0) }
3838
val sandboxState = remember { SandboxState() }
3939

@@ -62,7 +62,7 @@ internal fun App(
6262
selectedTraceFile = null
6363
selectedNode = null
6464
frameIndex = 0
65-
workflowFrames.clear()
65+
frameSize = 0
6666
}
6767

6868
// Main content
@@ -77,15 +77,15 @@ internal fun App(
7777
RenderTrace(
7878
traceSource = traceMode,
7979
frameInd = frameIndex,
80-
onFileParse = { workflowFrames.addAll(it) },
80+
onFileParse = { frameSize += it },
8181
onNodeSelect = { selectedNode = it },
8282
onNewFrame = { frameIndex += 1 }
8383
)
8484
}
8585
}
8686

8787
FrameSelectTab(
88-
frames = workflowFrames,
88+
size = frameSize,
8989
currentIndex = frameIndex,
9090
onIndexChange = { frameIndex = it },
9191
modifier = Modifier.align(Alignment.TopCenter)

workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/ui/FrameSelectTab.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import kotlinx.coroutines.launch
2626
*/
2727
@Composable
2828
internal fun FrameSelectTab(
29-
frames: List<Node>,
29+
size: Int,
3030
currentIndex: Int,
3131
onIndexChange: (Int) -> Unit,
3232
modifier: Modifier = Modifier
@@ -36,7 +36,7 @@ internal fun FrameSelectTab(
3636
if (currentIndex < 0) return@LaunchedEffect
3737
lazyListState.animateScrollToItem(currentIndex)
3838
}
39-
39+
4040
Surface(
4141
modifier = modifier,
4242
color = Color.White,
@@ -61,7 +61,7 @@ internal fun FrameSelectTab(
6161
}
6262
},
6363
) {
64-
items(frames.size) { index ->
64+
items(size) { index ->
6565
Text(
6666
text = "Frame ${index + 1}",
6767
color = if (index == currentIndex) Color.Black else Color.LightGray,

workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/ui/WorkflowTree.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import kotlinx.coroutines.withContext
4747
internal fun RenderTrace(
4848
traceSource: TraceMode,
4949
frameInd: Int,
50-
onFileParse: (List<Node>) -> Unit,
50+
onFileParse: (Int) -> Unit,
5151
onNodeSelect: (NodeUpdate) -> Unit,
5252
onNewFrame: () -> Unit,
5353
modifier: Modifier = Modifier
@@ -65,7 +65,7 @@ internal fun RenderTrace(
6565
fullTree.addAll(tree)
6666
affectedNodes.addAll(affected)
6767
isLoading = false
68-
onFileParse(frame)
68+
onFileParse(frame.size)
6969
}
7070

7171
// Handles the result of parsing a trace, either from file or live. Live mode includes callback

0 commit comments

Comments
 (0)