File tree Expand file tree Collapse file tree
jindong/src/commonMain/kotlin/io/github/jindong/node Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,19 +40,16 @@ internal class RepeatNode(
4040
4141 override fun collectEvents (startTimeMs : Long ): List <ScheduledHapticEvent > {
4242 require(count >= 0 ) { " count must be non-negative, but was $count " }
43- if (count == 0 ) return emptyList()
4443
45- return (0 until count)
46- .fold(
47- initial = IterationState (startTimeMs, emptyList()),
48- ) { state, _ ->
49- val (events, endTimeMs) = collectIterationEvents(state.nextStartTimeMs)
50- IterationState (
51- nextStartTimeMs = endTimeMs,
52- events = state.events + events,
53- )
44+ return buildList {
45+ var currentTime = startTimeMs
46+
47+ repeat(count) {
48+ val (events, endTimeMs) = collectIterationEvents(currentTime)
49+ addAll(events)
50+ currentTime = endTimeMs
5451 }
55- .events
52+ }
5653 }
5754
5855 /* *
@@ -81,11 +78,6 @@ internal class RepeatNode(
8178 return IterationResult (events = events, endTimeMs = currentTimeMs)
8279 }
8380
84- private data class IterationState (
85- val nextStartTimeMs : Long ,
86- val events : List <ScheduledHapticEvent >,
87- )
88-
8981 private data class ChildState (
9082 val currentTimeMs : Long ,
9183 val events : List <ScheduledHapticEvent >,
You can’t perform that action at this time.
0 commit comments