display images thumbnail
This commit is contained in:
@@ -10,6 +10,7 @@ import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FileStatus
|
||||
import com.vaultdrop.mobile.data.repository.FileRepository
|
||||
import com.vaultdrop.mobile.data.repository.OutboxRepository
|
||||
import com.vaultdrop.mobile.features.thumbnails.ThumbnailStore
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -33,6 +34,7 @@ class FileDeleter @Inject constructor(
|
||||
private val fileRepository: FileRepository,
|
||||
private val outboxRepository: OutboxRepository,
|
||||
private val appDatabase: AppDatabase,
|
||||
private val thumbnailStore: ThumbnailStore,
|
||||
) {
|
||||
|
||||
private val resolver: ContentResolver get() = context.contentResolver
|
||||
@@ -68,6 +70,7 @@ class FileDeleter @Inject constructor(
|
||||
}.onSuccess { deleted ->
|
||||
if (deleted) {
|
||||
fileRepository.markMissing(file.resourceId, System.currentTimeMillis())
|
||||
thumbnailStore.delete(file.resourceId)
|
||||
Timber.d("deleted locally %s", uri)
|
||||
} else {
|
||||
Timber.w("deleteDocument returned false for %s", uri)
|
||||
@@ -115,6 +118,7 @@ class FileDeleter @Inject constructor(
|
||||
}
|
||||
}
|
||||
Timber.d("deleted full %s", uri)
|
||||
thumbnailStore.delete(file.resourceId)
|
||||
} else {
|
||||
Timber.w("deleteDocument returned false for %s", uri)
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.vaultdrop.mobile.data.repository.FileRepository
|
||||
import com.vaultdrop.mobile.data.repository.FolderRepository
|
||||
import com.vaultdrop.mobile.data.repository.OutboxRepository
|
||||
import com.vaultdrop.mobile.features.thumbnails.ThumbnailStore
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -39,6 +40,7 @@ class FolderDeleter @Inject constructor(
|
||||
private val fileRepository: FileRepository,
|
||||
private val outboxRepository: OutboxRepository,
|
||||
private val appDatabase: AppDatabase,
|
||||
private val thumbnailStore: ThumbnailStore,
|
||||
) {
|
||||
|
||||
private val resolver: ContentResolver get() = context.contentResolver
|
||||
@@ -77,6 +79,7 @@ class FolderDeleter @Inject constructor(
|
||||
tree.files.forEach { fileRepository.markMissing(it.resourceId, now) }
|
||||
tree.folders.forEach { folderRepository.markMissing(it.resourceId, now) }
|
||||
folderRepository.markMissing(folder.resourceId, now)
|
||||
tree.files.forEach { thumbnailStore.delete(it.resourceId) }
|
||||
Timber.d("deleted folder locally %s", uri)
|
||||
return true
|
||||
}
|
||||
@@ -109,6 +112,7 @@ class FolderDeleter @Inject constructor(
|
||||
appDatabase.withTransaction {
|
||||
treeMarkMissing(folder, tree, now)
|
||||
}
|
||||
tree.files.forEach { thumbnailStore.delete(it.resourceId) }
|
||||
Timber.d("deleted folder full %s", uri)
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.repository.FileRepository
|
||||
import com.vaultdrop.mobile.data.repository.OutboxRepository
|
||||
import com.vaultdrop.mobile.features.thumbnails.ThumbnailStore
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -35,6 +36,7 @@ class SafFileDeleter @Inject constructor(
|
||||
private val fileRepository: FileRepository,
|
||||
private val outboxRepository: OutboxRepository,
|
||||
private val appDatabase: AppDatabase,
|
||||
private val thumbnailStore: ThumbnailStore,
|
||||
) {
|
||||
|
||||
private val resolver: ContentResolver get() = context.contentResolver
|
||||
@@ -58,6 +60,7 @@ class SafFileDeleter @Inject constructor(
|
||||
}
|
||||
}
|
||||
Timber.d("deleted %s", uri)
|
||||
thumbnailStore.delete(file.resourceId)
|
||||
} else {
|
||||
Timber.w("deleteDocument returned false for %s", uri)
|
||||
}
|
||||
|
||||
+2
-2
@@ -53,9 +53,9 @@ import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.vaultdrop.mobile.features.connection.ConnectionStatusViewModel
|
||||
import com.vaultdrop.mobile.features.sync.SyncViewModel
|
||||
import com.vaultdrop.mobile.ui.components.FileCategoryIcon
|
||||
import com.vaultdrop.mobile.ui.components.FilePendingReviewBadge
|
||||
import com.vaultdrop.mobile.ui.components.FileSyncStatusIcon
|
||||
import com.vaultdrop.mobile.ui.components.FileThumbnail
|
||||
import com.vaultdrop.mobile.ui.components.FolderNameDialog
|
||||
import com.vaultdrop.mobile.ui.components.MoveFolderPickerDialog
|
||||
import com.vaultdrop.mobile.ui.components.SelectionState
|
||||
@@ -457,7 +457,7 @@ private fun FileRow(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||
) {
|
||||
FileCategoryIcon(file = file, size = 24.dp)
|
||||
FileThumbnail(file = file, size = 40.dp)
|
||||
Column(modifier = Modifier.weight(1f)) {
|
||||
Text(
|
||||
text = file.name,
|
||||
|
||||
+3
-3
@@ -89,9 +89,9 @@ import com.vaultdrop.mobile.features.saf.FileDeleter
|
||||
import com.vaultdrop.mobile.ui.components.DeleteConfirmDialog
|
||||
import com.vaultdrop.mobile.ui.components.DeleteReview
|
||||
import com.vaultdrop.mobile.ui.components.DeleteWarningDialog
|
||||
import com.vaultdrop.mobile.ui.components.FileCategoryIcon
|
||||
import com.vaultdrop.mobile.ui.components.FilePendingReviewBadge
|
||||
import com.vaultdrop.mobile.ui.components.FileSyncStatusIcon
|
||||
import com.vaultdrop.mobile.ui.components.FileThumbnail
|
||||
import com.vaultdrop.mobile.ui.components.FolderNameDialog
|
||||
|
||||
import com.vaultdrop.mobile.ui.components.SelectionState
|
||||
@@ -1059,7 +1059,7 @@ private fun FileCard(
|
||||
) {
|
||||
Column(modifier = Modifier.padding(12.dp)) {
|
||||
Row(verticalAlignment = androidx.compose.ui.Alignment.CenterVertically) {
|
||||
FileCategoryIcon(file = file, size = 36.dp)
|
||||
FileThumbnail(file = file, size = 56.dp)
|
||||
Spacer(Modifier.weight(1f))
|
||||
if (selection.active) {
|
||||
SelectionStatusIcon(selected = selected)
|
||||
@@ -1122,7 +1122,7 @@ private fun BrowseFileRow(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||
) {
|
||||
FileCategoryIcon(file = file, size = 26.dp)
|
||||
FileThumbnail(file = file, size = 40.dp)
|
||||
Column(modifier = Modifier.weight(1f)) {
|
||||
Text(
|
||||
text = file.name,
|
||||
|
||||
Reference in New Issue
Block a user