Skip to content

Commit a50f9a5

Browse files
committed
Fix merge bugs
1 parent 8fbeab4 commit a50f9a5

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ internal fun App(
3838
val sandboxState = remember { SandboxState() }
3939

4040
// Default to File mode, and can be toggled to be in Live mode.
41+
var active by remember { mutableStateOf(false) }
4142
var traceMode by remember { mutableStateOf<TraceMode>(TraceMode.File(null)) }
4243
var selectedTraceFile by remember { mutableStateOf<PlatformFile?>(null) }
4344

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ import androidx.compose.ui.input.pointer.isPrimaryPressed
2222
import androidx.compose.ui.input.pointer.isSecondaryPressed
2323
import androidx.compose.ui.input.pointer.onPointerEvent
2424
import androidx.compose.ui.unit.dp
25+
import androidx.compose.ui.unit.sp
2526
import com.squareup.workflow1.traceviewer.model.Node
27+
import com.squareup.workflow1.traceviewer.model.NodeUpdate
2628

2729
/**
2830
* Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.ui.Modifier
1313
import com.squareup.moshi.JsonAdapter
1414
import com.squareup.workflow1.traceviewer.TraceMode
1515
import com.squareup.workflow1.traceviewer.model.Node
16+
import com.squareup.workflow1.traceviewer.model.NodeUpdate
1617
import com.squareup.workflow1.traceviewer.ui.DrawTree
1718

1819
/**
@@ -25,30 +26,32 @@ import com.squareup.workflow1.traceviewer.ui.DrawTree
2526
internal fun RenderTrace(
2627
traceSource: TraceMode,
2728
frameInd: Int,
28-
onFileParse: (List<Node>) -> Unit,
29-
onNodeSelect: (Node, Node?) -> Unit,
29+
onFileParse: (Int) -> Unit,
30+
onNodeSelect: (NodeUpdate) -> Unit,
3031
onNewFrame: () -> Unit,
32+
onNewData: (String) -> Unit,
3133
modifier: Modifier = Modifier
3234
) {
3335
var isLoading by remember(traceSource) { mutableStateOf(true) }
3436
var error by remember(traceSource) { mutableStateOf<String?>(null) }
35-
val frames = remember { mutableStateListOf<Node>() }
36-
val fullTree = remember { mutableStateListOf<Node>() }
37-
val affectedNodes = remember { mutableStateListOf<Set<Node>>() }
37+
val frames = remember (traceSource){ mutableStateListOf<Node>() }
38+
val fullTree = remember (traceSource){ mutableStateListOf<Node>() }
39+
val affectedNodes = remember (traceSource){ mutableStateListOf<Set<Node>>() }
3840

3941
// Updates current state with the new data from trace source.
4042
fun addToStates(frame: List<Node>, tree: List<Node>, affected: List<Set<Node>>) {
4143
frames.addAll(frame)
4244
fullTree.addAll(tree)
4345
affectedNodes.addAll(affected)
4446
isLoading = false
45-
onFileParse(frame)
47+
onFileParse(frame.size)
4648
}
4749

4850
// Handles the result of parsing a trace, either from file or live. Live mode includes callback
4951
// for when a new frame is received.
5052
fun handleParseResult(
5153
parseResult: ParseResult,
54+
rawRenderPass: String? = null,
5255
onNewFrame: (() -> Unit)? = null
5356
) {
5457
when (parseResult) {
@@ -62,7 +65,9 @@ internal fun RenderTrace(
6265
tree = parseResult.trees,
6366
affected = parseResult.affectedNodes
6467
)
68+
// Only increment the frame index and add the raw data during Live tracing mode
6569
onNewFrame?.invoke()
70+
rawRenderPass?.let { onNewData(it) }
6671
}
6772
}
6873
}
@@ -82,7 +87,7 @@ internal fun RenderTrace(
8287
streamRenderPassesFromDevice { renderPass ->
8388
val currentTree = fullTree.lastOrNull()
8489
val parseResult = parseLiveTrace(renderPass, adapter, currentTree)
85-
handleParseResult(parseResult, onNewFrame)
90+
handleParseResult(parseResult, renderPass, onNewFrame)
8691
}
8792
error = "Socket has already been closed or is not available."
8893
}
@@ -98,7 +103,7 @@ internal fun RenderTrace(
98103
val previousFrame = if (frameInd > 0) fullTree[frameInd - 1] else null
99104
DrawTree(
100105
node = fullTree[frameInd],
101-
previousNode = previousFrame,
106+
previousFrameNode = previousFrame,
102107
affectedNodes = affectedNodes[frameInd],
103108
expandedNodes = remember(frameInd) { mutableStateMapOf() },
104109
onNodeSelect = onNodeSelect,

0 commit comments

Comments
 (0)