From 69f5ca0636d2eb0e5023744a1a4153fc78ace0dc Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Mon, 11 May 2026 20:02:04 +0200 Subject: [PATCH] ExportScreen: "End scan" -> "New scan" + change behavior --- .../app/ui/screens/export/ExportScreen.kt | 6 +++--- .../app/ui/screens/export/ExportUiState.kt | 1 + .../app/ui/screens/export/ExportViewModel.kt | 16 ++++++++++++++-- app/src/main/res/values-ar/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-gl/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - app/src/main/res/values-zh/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 16 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt index 372c9d2..e84e53a 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt @@ -140,7 +140,7 @@ fun ExportScreenWrapper( onOpen = pdfActions.open, onCloseScan = { if (!uiState.isSaving) { - if (uiState.hasSavedOrShared) + if (uiState.hasSavedOrShared || uiState.isResumedScan) onCloseScan() else showConfirmationDialog.value = true @@ -149,7 +149,7 @@ fun ExportScreenWrapper( ) if (showConfirmationDialog.value) { - NewDocumentDialog(onCloseScan, showConfirmationDialog, stringResource(R.string.end_scan)) + NewDocumentDialog(onCloseScan, showConfirmationDialog, stringResource(R.string.scan_button)) } } @@ -396,7 +396,7 @@ private fun MainActions( } ExportButton( icon = Icons.Default.Done, - text = stringResource(R.string.end_scan), + text = stringResource(R.string.scan_button), onClick = onCloseScan, modifier = Modifier.fillMaxWidth(), isPrimary = uiState.hasSavedOrShared, diff --git a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportUiState.kt b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportUiState.kt index f456562..d002a2a 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportUiState.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportUiState.kt @@ -26,6 +26,7 @@ data class ExportUiState( val savedBundle: SavedBundle? = null, val hasShared: Boolean = false, val error: ExportError? = null, + val isResumedScan: Boolean = false, ) { val hasSavedOrShared get() = savedBundle != null || hasShared } diff --git a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportViewModel.kt b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportViewModel.kt index 5312ab8..43d6223 100644 --- a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportViewModel.kt +++ b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportViewModel.kt @@ -88,6 +88,12 @@ class ExportViewModel(container: AppContainer, val imageRepository: ImageReposit private val _uiState = MutableStateFlow(ExportUiState()) val uiState: StateFlow = _uiState.asStateFlow() + private var resumedScanKeys: List = emptyList() + init { + viewModelScope.launch { + resumedScanKeys = currentPageKeys() + } + } private var lastPreparationKey: ExportPreparationKey? = null private var preparationJob: Job? = null @@ -127,7 +133,8 @@ class ExportViewModel(container: AppContainer, val imageRepository: ImageReposit val exportQuality = settingsRepository.exportQuality.first() val exportFormat = settingsRepository.exportFormat.first() - val key = ExportPreparationKey(currentPageKeys(), exportFormat, exportQuality) + val currentPageKeys = currentPageKeys() + val key = ExportPreparationKey(currentPageKeys, exportFormat, exportQuality) if (key == lastPreparationKey) { return@launch } @@ -137,7 +144,12 @@ class ExportViewModel(container: AppContainer, val imageRepository: ImageReposit preparationJob = launch { _uiState.update { - ExportUiState(filename = it.filename, format = exportFormat, isGenerating = true) + ExportUiState( + filename = it.filename, + format = exportFormat, + isGenerating = true, + isResumedScan = resumedScanKeys == currentPageKeys + ) } try { val t1 = System.currentTimeMillis() diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 0eb3a99..8fe6990 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -22,7 +22,6 @@ مطوّر أهمِل المسح التنزيلات - أنهِ المسح خطأ: %1$s مجلد التصدير: %1$s المزود: %1$s diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9555b5e..04d7f35 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -22,7 +22,6 @@ Vývojář Zrušit skenování stažených - Ukončit skenování Chyba: %1$s Složka exportu: %1$s Poskytovatel: %1$s diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 594e09a..8d6a16c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -22,7 +22,6 @@ Entwickler Löschen Downloads - Scan beenden Fehler: %1$s Exportordner: %1$s Anbieter: %1$s diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index ae65e92..6837d41 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -22,7 +22,6 @@ Desarrollador Descartar escaneo Descargas - Finalizar escaneo Error: %1$s Carpeta de exportación: %1$s Proveedor: %1$s diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index b82a6bd..25b62f3 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -22,7 +22,6 @@ Développeur Supprimer le scan Téléchargements - Terminer le scan Erreur : %1$s Dossier d’export : %1$s Fournisseur : %1$s diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index a66978a..7808d63 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -22,7 +22,6 @@ Desenvolvedor Descartar escaneo Descargas - Rematar escaneo Erro: %1$s Cartafol de exportación: %1$s Provedor: %1$s diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c5b2350..e554232 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -22,7 +22,6 @@ Sviluppatore Scarta scansione Download - Termina scansione Errore: %1$s Cartella di esportazione: %1$s Provider: %1$s diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index dbffa6c..32f67c1 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -22,7 +22,6 @@ Desenvolvedor Descartar digitalização Downloads - Finalizar digitalização Erro: %1$s Pasta de exportação: %1$s Provedor: %1$s diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 202f5b0..2edb8f8 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -22,7 +22,6 @@ Разработчик Отказаться Download - Закончить Ошибка: %1$s Папка экспорта: %1$s Провайдер: %1$s diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 7381a1f..c5650c9 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -22,7 +22,6 @@ Geliştirici Taramayı at İndirilenler - Taramayı bitir Error: %1$s Dışa aktarma klasörü: %1$s Sağlayıcı: %1$s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index dd811aa..eb5c906 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -22,7 +22,6 @@ 開發者 捨棄掃描 下載 (Downloads) - 結束掃描 錯誤:%1$s 匯出資料夾:%1$s 提供者:%1$s diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index eef1243..3a8e926 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -22,7 +22,6 @@ 开发者 放弃扫描 下载 - 结束扫描 错误: %1$s 导出文件夹:%1$s 提供方:%1$s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6e3c88..951ba30 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -23,7 +23,6 @@ Developer Discard scan Downloads - End scan Error: %1$s Export folder: %1$s Provider: %1$s