Package dev.deepcore.challenge.session
Class RunUiFormattingService
java.lang.Object
dev.deepcore.challenge.session.RunUiFormattingService
Formats run status text for action bars and split logging.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionnet.kyori.adventure.text.ComponentbuildRunActionBarMessage(String objectiveText, String elapsedText) Builds the action-bar component containing objective and elapsed time.formatElapsedTime(long runStartMillis, long referenceNowMillis, long accumulatedPausedMillis, boolean pausedPhase, long pausedStartedMillis) Formats elapsed run time accounting for paused duration.formatSplitDuration(long durationMs) Formats a split duration in mm:ss or hh:mm:ss format.
-
Constructor Details
-
RunUiFormattingService
public RunUiFormattingService()
-
-
Method Details
-
formatSplitDuration
Formats a split duration in mm:ss or hh:mm:ss format.- Parameters:
durationMs- split duration in milliseconds- Returns:
- formatted duration string suitable for status displays
-
formatElapsedTime
public String formatElapsedTime(long runStartMillis, long referenceNowMillis, long accumulatedPausedMillis, boolean pausedPhase, long pausedStartedMillis) Formats elapsed run time accounting for paused duration.- Parameters:
runStartMillis- timestamp when the run startedreferenceNowMillis- reference timestamp used as "now"accumulatedPausedMillis- total paused duration already accumulatedpausedPhase- whether the run is currently pausedpausedStartedMillis- timestamp when the current pause started- Returns:
- formatted elapsed time text for action bars and sidebars
-
buildRunActionBarMessage
public net.kyori.adventure.text.Component buildRunActionBarMessage(String objectiveText, String elapsedText) Builds the action-bar component containing objective and elapsed time.- Parameters:
objectiveText- objective status text to displayelapsedText- elapsed runtime text to display- Returns:
- formatted action-bar component for participant updates
-