Skip to content

Commit 8515c04

Browse files
committed
introduce ThumbnailArguments
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent c8133e3 commit 8515c04

3 files changed

Lines changed: 14 additions & 29 deletions

File tree

app/src/main/java/com/nextcloud/utils/thumbnail/FileThumbnailGenerator.kt

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,30 +68,23 @@ class FileThumbnailGenerator @Inject constructor(
6868
)
6969

7070
private val tasks = Collections.synchronizedList(mutableListOf<ThumbnailGenerationTask>())
71-
private var arguments = ThumbnailArguments.none
72-
73-
fun setThumbnail(
74-
file: OCFile,
75-
view: ImageView,
76-
arguments: ThumbnailArguments,
77-
) {
78-
this.arguments = arguments
7971

72+
fun setThumbnail(file: OCFile, view: ImageView, arguments: ThumbnailArguments) {
8073
if (file.remoteId == null) {
81-
setLocalThumbnail(file, view)
74+
setLocalThumbnail(file, view, arguments)
8275
return
8376
}
8477

8578
if (!file.isPreviewAvailable) {
86-
generate(file, view)
79+
generate(file, view, arguments)
8780
return
8881
}
8982

9083
val cached = file.getSmallThumbnail()
9184
if (cached == null || file.isUpdateThumbnailNeeded) {
92-
generate(file, view)
85+
generate(file, view, arguments)
9386
} else {
94-
show(cached, file, view)
87+
show(cached, file, view, arguments)
9588
}
9689

9790
applyPngBackground(file, view)
@@ -125,7 +118,7 @@ class FileThumbnailGenerator @Inject constructor(
125118
}
126119
}
127120

128-
private fun show(bitmap: Bitmap, file: OCFile, view: ImageView) {
121+
private fun show(bitmap: Bitmap, file: OCFile, view: ImageView, arguments: ThumbnailArguments) {
129122
view.stopShimmer(arguments.shimmer)
130123

131124
if (MimeTypeUtil.isVideo(file)) {
@@ -135,7 +128,7 @@ class FileThumbnailGenerator @Inject constructor(
135128
}
136129
}
137130

138-
private fun setLocalThumbnail(file: OCFile, view: ImageView) {
131+
private fun setLocalThumbnail(file: OCFile, view: ImageView, arguments: ThumbnailArguments) {
139132
val localFile = file.storagePath.toFile()
140133

141134
if (localFile == null || !MimeTypeUtil.isImageOrVideo(file)) {
@@ -145,14 +138,15 @@ class FileThumbnailGenerator @Inject constructor(
145138
startTask(
146139
file,
147140
view,
141+
arguments,
148142
ThumbnailGenerationTaskObject(localFile, null),
149143
localFile.hashCode()
150144
)
151145
}
152146
}
153147

154148
@Suppress("DEPRECATION")
155-
private fun generate(file: OCFile, view: ImageView) {
149+
private fun generate(file: OCFile, view: ImageView, arguments: ThumbnailArguments) {
156150
if (!ThumbnailsCacheManager.cancelPotentialThumbnailWork(file, view)) {
157151
return
158152
}
@@ -173,6 +167,7 @@ class FileThumbnailGenerator @Inject constructor(
173167
startTask(
174168
file,
175169
view,
170+
arguments,
176171
ThumbnailGenerationTaskObject(file, file.remoteId),
177172
file.fileId
178173
)
@@ -183,6 +178,7 @@ class FileThumbnailGenerator @Inject constructor(
183178
private fun startTask(
184179
file: OCFile,
185180
view: ImageView,
181+
arguments: ThumbnailArguments,
186182
target: ThumbnailGenerationTaskObject,
187183
tag: Any
188184
) {

app/src/main/java/com/nextcloud/utils/thumbnail/ThumbnailArguments.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,9 @@ package com.nextcloud.utils.thumbnail
99

1010
import com.elyeproj.loaderviewlibrary.LoaderImageView
1111

12-
data class ThumbnailArguments(
13-
val isGrid: Boolean,
14-
val hideVideoOverlay: Boolean,
15-
val shimmer: LoaderImageView?
16-
) {
12+
data class ThumbnailArguments(val isGrid: Boolean, val hideVideoOverlay: Boolean, val shimmer: LoaderImageView?) {
1713
companion object {
18-
val none: ThumbnailArguments
19-
get() {
20-
return ThumbnailArguments(isGrid = false, hideVideoOverlay = false, shimmer = null)
21-
}
14+
val none = ThumbnailArguments(isGrid = false, hideVideoOverlay = false, shimmer = null)
2215

2316
fun withShimmer(view: LoaderImageView): ThumbnailArguments = none.copy(shimmer = view)
2417
}

app/src/main/java/com/nextcloud/utils/thumbnail/ThumbnailGenerator.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@ class ThumbnailGenerator @Inject constructor(
1717
val fileThumbnailGenerator: FileThumbnailGenerator,
1818
val folderThumbnailGenerator: FolderThumbnailGenerator
1919
) {
20-
fun setThumbnail(
21-
ocFile: OCFile?,
22-
view: ImageView?,
23-
arguments: ThumbnailArguments = ThumbnailArguments.none
24-
) {
20+
fun setThumbnail(ocFile: OCFile?, view: ImageView?, arguments: ThumbnailArguments = ThumbnailArguments.none) {
2521
if (ocFile == null || view == null) {
2622
return
2723
}

0 commit comments

Comments
 (0)