Skip to content

Commit 83502fe

Browse files
committed
Cleanup code for review
1 parent 03c505d commit 83502fe

File tree

5 files changed

+34
-33
lines changed

5 files changed

+34
-33
lines changed

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

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,14 @@ internal fun App(
167167
)
168168
}
169169

170-
if (traceMode is TraceMode.Live) {
171-
if ((traceMode as TraceMode.Live).device == null) {
172-
DisplayDevices(
173-
onDeviceSelect = { selectedDevice ->
174-
traceMode = TraceMode.Live(selectedDevice)
175-
},
176-
devices = listDevices(),
177-
modifier = Modifier.align(Alignment.Center)
178-
)
179-
}
170+
if (traceMode is TraceMode.Live && (traceMode as TraceMode.Live).device == null) {
171+
DisplayDevices(
172+
onDeviceSelect = { selectedDevice ->
173+
traceMode = TraceMode.Live(selectedDevice)
174+
},
175+
devices = listDevices(),
176+
modifier = Modifier.align(Alignment.Center)
177+
)
180178

181179
FileDump(
182180
trace = rawRenderPass,
@@ -186,8 +184,7 @@ internal fun App(
186184

187185
RightInfoPanel(
188186
selectedNode = selectedNode,
189-
modifier = Modifier
190-
.align(Alignment.TopEnd)
187+
modifier = Modifier.align(Alignment.TopEnd)
191188
)
192189
}
193190
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import kotlinx.coroutines.withContext
1111
import okio.IOException
1212
import java.net.Socket
1313

14+
/**
15+
* Maintains the channel, which acts as buffer for information read from the socket, as the data are
16+
* being processed.
17+
*/
1418
internal suspend fun streamRenderPassesFromDevice(device: String, parseOnNewRenderPass: (String) -> Unit) {
1519
val renderPassChannel: Channel<String> = Channel(Channel.BUFFERED)
1620
coroutineScope {

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ fun computeAnnotatedDiff(
2020
.showInlineDiffs(true)
2121
.inlineDiffByWord(true)
2222
.mergeOriginalRevised(true)
23-
.oldTag { f -> "--" }
24-
.newTag { f -> "++" }
23+
.oldTag { _ -> "--" }
24+
.newTag { _ -> "++" }
2525
.build()
2626

2727
val pastName = extractTypeName(past)
@@ -40,9 +40,6 @@ fun computeAnnotatedDiff(
4040
text = "$pastName(...)",
4141
builder = this
4242
)
43-
// pushStyle(DiffStyles.DELETE)
44-
// append("$pastName(...)")
45-
// pop()
4643
append("")
4744
buildStringWithStyle(
4845
style = DiffStyles.INSERT,
@@ -202,8 +199,8 @@ private fun getFieldsAsList(field: String): List<String> {
202199
if (depth == 0) { // end of key=value pair
203200
fields += currentField.toString().trim()
204201
currentField.clear()
205-
i++ // skip space, e.g. "key=value, key2=value2, etc..."
206-
} else { // nested list
202+
i++ // skip space in between key value pairs, i.e. "key1=value1, key2=value2"
203+
} else { // nested list, so we ignore
207204
currentField.append(char)
208205
}
209206
}

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

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
77
import com.squareup.workflow1.traceviewer.model.Node
88
import com.squareup.workflow1.traceviewer.model.addChild
99
import com.squareup.workflow1.traceviewer.model.replaceChild
10-
import com.squareup.workflow1.traceviewer.util.parser.ParseResult.Failure
11-
import com.squareup.workflow1.traceviewer.util.parser.ParseResult.Success
1210
import io.github.vinceglb.filekit.PlatformFile
1311
import io.github.vinceglb.filekit.readString
1412
import kotlin.reflect.jvm.javaType
1513
import kotlin.reflect.typeOf
1614

1715
/*
1816
The root workflow Node uses an ID of 0, and since we are filtering childrenByParent by the
19-
parentId, the root node has a parent of -1 ID. This is reflected seen inside android-register
17+
parentId, the root node will have -1 as a fake parent ID. This is reflected inside android-register.
2018
*/
2119
const val ROOT_ID: String = "-1"
2220

@@ -33,11 +31,11 @@ internal suspend fun parseFileTrace(
3331
val jsonString = file.readString()
3432
val workflowAdapter = createMoshiAdapter<List<Node>>()
3533
val parsedRenderPasses = try {
36-
workflowAdapter.fromJson(jsonString) ?: return Failure(
34+
workflowAdapter.fromJson(jsonString) ?: return ParseResult.Failure(
3735
IllegalArgumentException("Provided trace file is empty or malformed.")
3836
)
3937
} catch (e: Exception) {
40-
return Failure(e)
38+
return ParseResult.Failure(e)
4139
}
4240

4341
val parsedFrames = parsedRenderPasses.map { renderPass -> getFrameFromRenderPass(renderPass) }
@@ -47,7 +45,7 @@ internal suspend fun parseFileTrace(
4745
frameTrees.add(mergedTree)
4846
mergedTree
4947
}
50-
return Success(
48+
return ParseResult.Success(
5149
trace = parsedFrames,
5250
trees = frameTrees,
5351
affectedNodes = parsedRenderPasses
@@ -66,11 +64,11 @@ internal fun parseLiveTrace(
6664
currentTree: Node? = null
6765
): ParseResult {
6866
val parsedRenderPass = try {
69-
adapter.fromJson(renderPass) ?: return Failure(
67+
adapter.fromJson(renderPass) ?: return ParseResult.Failure(
7068
IllegalArgumentException("Provided trace data is empty or malformed.")
7169
)
7270
} catch (e: Exception) {
73-
return Failure(e)
71+
return ParseResult.Failure(e)
7472
}
7573

7674
val parsedFrame = getFrameFromRenderPass(parsedRenderPass)
@@ -83,7 +81,7 @@ internal fun parseLiveTrace(
8381
}
8482

8583
// Since live tracing handles one frame at a time, we generalize and return listOf for each.
86-
return Success(
84+
return ParseResult.Success(
8785
trace = listOf(parsedFrame),
8886
trees = listOf(mergedTree),
8987
affectedNodes = listOf(parsedRenderPass)
@@ -155,9 +153,13 @@ internal fun mergeFrameIntoMainTree(
155153
}
156154

157155
internal sealed interface ParseResult {
158-
class Success(val trace: List<Node>, val trees: List<Node>, affectedNodes: List<List<Node>>) :
159-
ParseResult {
156+
class Success(
157+
val trace: List<Node>,
158+
val trees: List<Node>,
159+
affectedNodes: List<List<Node>>
160+
) : ParseResult {
160161
val affectedNodes = affectedNodes.map { it.toSet() }
161162
}
163+
162164
class Failure(val error: Throwable) : ParseResult
163165
}

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ internal fun RenderTrace(
7272
tree = parseResult.trees,
7373
affected = parseResult.affectedNodes
7474
)
75-
// Only increment the frame index and add the raw data during Live tracing mode
75+
// Only increment the frame index and add the raw data during Live tracing mode.
7676
onNewFrame?.invoke()
7777
rawRenderPass?.let { onNewData(it) }
7878
}
@@ -107,14 +107,15 @@ internal fun RenderTrace(
107107

108108
// This will only happen in the initial switch to Live Mode, where a socket error bubbled up and
109109
// the lambda call to parse the data was immediately cancelled, meaning handleParseResult was never
110-
// called to set isLoading to false
110+
// called to set isLoading to false.
111111
if (isLoading && error != null) {
112112
Text("Socket Error: $error")
113113
return
114114
}
115115

116116
// This meant that there was an exception, but it was stored in ParseResult and read in
117-
// handleParseResult. Since there is no parsed data, this likely means there was a moshi parsing error
117+
// handleParseResult method. Since there is no parsed data, this likely means there was a moshi
118+
// parsing error.
118119
if (error != null && frames.isEmpty()) {
119120
Text("Malformed File: $error")
120121
return

0 commit comments

Comments
 (0)