From 186caa3413c9ca259b15f1741a51d7e2d60f0ea3 Mon Sep 17 00:00:00 2001 From: F0x1d Date: Sun, 1 Mar 2026 21:03:27 +0300 Subject: [PATCH] fix: clear button not working when paused --- .../feature/logging/presentation/list/LogsReducer.kt | 7 ++++++- .../recordings/api/domain/ExportRecordingZipUseCase.kt | 2 +- .../impl/domain/ExportRecordingZipUseCaseImpl.kt | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/feature/logging/presentation/src/main/kotlin/com/f0x1d/logfox/feature/logging/presentation/list/LogsReducer.kt b/feature/logging/presentation/src/main/kotlin/com/f0x1d/logfox/feature/logging/presentation/list/LogsReducer.kt index 1ced4be8..351d8bde 100644 --- a/feature/logging/presentation/src/main/kotlin/com/f0x1d/logfox/feature/logging/presentation/list/LogsReducer.kt +++ b/feature/logging/presentation/src/main/kotlin/com/f0x1d/logfox/feature/logging/presentation/list/LogsReducer.kt @@ -199,7 +199,12 @@ internal class LogsReducer @Inject constructor() : Reducer { - state.withSideEffects(LogsSideEffect.ClearLogs) + state.copy( + logs = emptyList(), + selectedIds = emptySet(), + expandedOverrides = emptyMap(), + logsChanged = true, + ).withSideEffects(LogsSideEffect.ClearLogs) } is LogsCommand.RestartLogging -> { diff --git a/feature/recordings/api/src/main/kotlin/com/f0x1d/logfox/feature/recordings/api/domain/ExportRecordingZipUseCase.kt b/feature/recordings/api/src/main/kotlin/com/f0x1d/logfox/feature/recordings/api/domain/ExportRecordingZipUseCase.kt index af4cba93..3e2b7dfc 100644 --- a/feature/recordings/api/src/main/kotlin/com/f0x1d/logfox/feature/recordings/api/domain/ExportRecordingZipUseCase.kt +++ b/feature/recordings/api/src/main/kotlin/com/f0x1d/logfox/feature/recordings/api/domain/ExportRecordingZipUseCase.kt @@ -3,5 +3,5 @@ package com.f0x1d.logfox.feature.recordings.api.domain import android.net.Uri interface ExportRecordingZipUseCase { - suspend operator fun invoke(recordingId: Long, uri: Uri) + suspend operator fun invoke(recordingId: Long, uri: Uri): Result } diff --git a/feature/recordings/impl/src/main/kotlin/com/f0x1d/logfox/feature/recordings/impl/domain/ExportRecordingZipUseCaseImpl.kt b/feature/recordings/impl/src/main/kotlin/com/f0x1d/logfox/feature/recordings/impl/domain/ExportRecordingZipUseCaseImpl.kt index 7359d2a8..73858c27 100644 --- a/feature/recordings/impl/src/main/kotlin/com/f0x1d/logfox/feature/recordings/impl/domain/ExportRecordingZipUseCaseImpl.kt +++ b/feature/recordings/impl/src/main/kotlin/com/f0x1d/logfox/feature/recordings/impl/domain/ExportRecordingZipUseCaseImpl.kt @@ -19,8 +19,8 @@ internal class ExportRecordingZipUseCaseImpl @Inject constructor( private val dateTimeFormatter: DateTimeFormatter, ) : ExportRecordingZipUseCase { - override suspend fun invoke(recordingId: Long, uri: Uri) { - val recording = recordingsRepository.getById(recordingId) ?: return + override suspend fun invoke(recordingId: Long, uri: Uri) = runCatching { + val recording = recordingsRepository.getById(recordingId) ?: return@runCatching val includeDeviceInfo = getIncludeDeviceInfoInArchivesUseCase() val logExtension = if (getExportLogsAsTxtUseCase()) "txt" else "log" val suffix = dateTimeFormatter.formatForExport(recording.dateAndTime)