Переключение языка
This commit is contained in:
@@ -10,8 +10,10 @@ import com.github.nullptroma.wallenc.domain.tasks.TaskContext
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskForegroundItem
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskForegroundUiState
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskId
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskLogKey
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskLogLevel
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskLogLine
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskProgressLabel
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskProgress
|
||||
import com.github.nullptroma.wallenc.domain.tasks.TaskRunState
|
||||
import kotlinx.coroutines.CancellationException
|
||||
@@ -143,11 +145,12 @@ class TaskOrchestrator(
|
||||
}
|
||||
}
|
||||
|
||||
private fun appendLogLine(level: TaskLogLevel, message: String) {
|
||||
private fun appendLogLine(level: TaskLogLevel, message: String, logKey: TaskLogKey? = null) {
|
||||
val line = TaskLogLine(
|
||||
timestampMs = System.currentTimeMillis(),
|
||||
level = level,
|
||||
message = message,
|
||||
logKey = logKey,
|
||||
)
|
||||
synchronized(logLock) {
|
||||
if (logBuffer.size >= MAX_LOG_LINES) {
|
||||
@@ -180,7 +183,7 @@ class TaskOrchestrator(
|
||||
val ctx = TaskContextImpl(
|
||||
taskId = taskId,
|
||||
onRunningProgress = { p -> onRunningProgress(taskId, p) },
|
||||
appendLog = { level, msg -> appendLogLine(level, msg) },
|
||||
appendLog = { level, msg, key -> appendLogLine(level, msg, key) },
|
||||
)
|
||||
try {
|
||||
if (cancelRequested[taskId] == true) {
|
||||
@@ -213,14 +216,18 @@ class TaskOrchestrator(
|
||||
private class TaskContextImpl(
|
||||
override val taskId: TaskId,
|
||||
private val onRunningProgress: (TaskProgress) -> Unit,
|
||||
private val appendLog: (TaskLogLevel, String) -> Unit,
|
||||
private val appendLog: (TaskLogLevel, String, TaskLogKey?) -> Unit,
|
||||
) : TaskContext {
|
||||
override suspend fun reportProgress(fraction: Float?, label: String?) {
|
||||
override suspend fun reportProgress(fraction: Float?, label: TaskProgressLabel?) {
|
||||
onRunningProgress(TaskProgress(fraction, label))
|
||||
}
|
||||
|
||||
override fun log(level: TaskLogLevel, message: String) {
|
||||
appendLog(level, message)
|
||||
appendLog(level, message, null)
|
||||
}
|
||||
|
||||
override fun log(level: TaskLogLevel, key: TaskLogKey) {
|
||||
appendLog(level, "", key)
|
||||
}
|
||||
|
||||
override fun fail(error: WallencException): Nothing {
|
||||
|
||||
Reference in New Issue
Block a user