Переключение языка

This commit is contained in:
2026-05-18 15:35:06 +03:00
parent f3f99aed5a
commit f99d79fece
46 changed files with 1368 additions and 424 deletions

View File

@@ -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 {