Remove hardcoded "Downloads"
This commit is contained in:
@@ -17,11 +17,9 @@ package org.mydomain.myscan
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.camera.core.ImageProxy
|
import androidx.camera.core.ImageProxy
|
||||||
import androidx.core.net.toFile
|
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
@@ -277,14 +275,11 @@ class MainViewModel(
|
|||||||
|
|
||||||
fun saveFile(pdfFile: File): File {
|
fun saveFile(pdfFile: File): File {
|
||||||
val copiedFile = pdfFileManager.copyToExternalDir(pdfFile)
|
val copiedFile = pdfFileManager.copyToExternalDir(pdfFile)
|
||||||
markFileSaved(pdfFile.toUri())
|
val dirName = copiedFile.parentFile?.name
|
||||||
|
_pdfUiState.update { it.copy(savedFileUri = pdfFile.toUri(), saveDirectoryName = dirName) }
|
||||||
return copiedFile
|
return copiedFile
|
||||||
}
|
}
|
||||||
|
|
||||||
fun markFileSaved(uri: Uri) {
|
|
||||||
_pdfUiState.update { it.copy(savedFileUri = uri) }
|
|
||||||
}
|
|
||||||
|
|
||||||
fun cleanUpOldPdfs(thresholdInMillis: Int) {
|
fun cleanUpOldPdfs(thresholdInMillis: Int) {
|
||||||
pdfFileManager.cleanUpOldFiles(thresholdInMillis)
|
pdfFileManager.cleanUpOldFiles(thresholdInMillis)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,5 +22,6 @@ data class PdfGenerationUiState(
|
|||||||
val generatedPdf: GeneratedPdf? = null,
|
val generatedPdf: GeneratedPdf? = null,
|
||||||
val desiredFilename: String = "",
|
val desiredFilename: String = "",
|
||||||
val savedFileUri: Uri? = null,
|
val savedFileUri: Uri? = null,
|
||||||
|
val saveDirectoryName: String? = null,
|
||||||
val errorMessage: String? = null
|
val errorMessage: String? = null
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -157,8 +157,8 @@ fun PdfGenerationBottomSheet(
|
|||||||
MainActions(pdf, onShare, onSave)
|
MainActions(pdf, onShare, onSave)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uiState.savedFileUri != null) {
|
if (uiState.saveDirectoryName != null) {
|
||||||
SavePdfBar(onOpen)
|
SavePdfBar(onOpen, uiState.saveDirectoryName)
|
||||||
}
|
}
|
||||||
if (uiState.errorMessage != null) {
|
if (uiState.errorMessage != null) {
|
||||||
ErrorBar(uiState.errorMessage)
|
ErrorBar(uiState.errorMessage)
|
||||||
@@ -196,7 +196,7 @@ private fun MainActions(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun SavePdfBar(onOpen: () -> Unit) {
|
private fun SavePdfBar(onOpen: () -> Unit, saveDirectoryName: String) {
|
||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Absolute.SpaceBetween,
|
horizontalArrangement = Arrangement.Absolute.SpaceBetween,
|
||||||
@@ -206,7 +206,7 @@ private fun SavePdfBar(onOpen: () -> Unit) {
|
|||||||
.padding(vertical = 8.dp, horizontal = 16.dp),
|
.padding(vertical = 8.dp, horizontal = 16.dp),
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "PDF saved to Downloads",
|
text = "PDF saved to $saveDirectoryName",
|
||||||
style = MaterialTheme.typography.bodyMedium
|
style = MaterialTheme.typography.bodyMedium
|
||||||
)
|
)
|
||||||
MainActionButton(
|
MainActionButton(
|
||||||
|
|||||||
Reference in New Issue
Block a user