@@ -84,6 +84,20 @@ fun HomeComposable() {
84
84
val isAnalyzing by viewModel.isAnalyzing.observeAsState(false )
85
85
val selectedFileCount by viewModel.selectedFileCount.collectAsState()
86
86
87
+ val imageLoader = ImageLoader .Builder (context)
88
+ .memoryCache {
89
+ MemoryCache .Builder (context)
90
+ .maxSizePercent(0.24 )
91
+ .build()
92
+ }
93
+ .diskCache {
94
+ DiskCache .Builder ()
95
+ .directory(context.cacheDir.resolve(" image_cache" ))
96
+ .maxSizePercent(0.02 )
97
+ .build()
98
+ }
99
+ .build()
100
+
87
101
val launchScanningKey = remember { mutableStateOf(false ) }
88
102
89
103
Column (
@@ -112,7 +126,7 @@ fun HomeComposable() {
112
126
.size(128 .dp, 66 .dp)
113
127
)
114
128
} else {
115
- AnalyzeComposable (launchScanningKey)
129
+ AnalyzeComposable (launchScanningKey, imageLoader )
116
130
}
117
131
}
118
132
Row (
@@ -212,7 +226,7 @@ fun HomeComposable() {
212
226
* @param viewModel The HomeViewModel instance used to interact with the data and business logic.
213
227
*/
214
228
@Composable
215
- fun AnalyzeComposable (launchScanningKey : MutableState <Boolean >) {
229
+ fun AnalyzeComposable (launchScanningKey : MutableState <Boolean >, imageLoader : ImageLoader ) {
216
230
val viewModel: HomeViewModel = viewModel()
217
231
val files by viewModel.scannedFiles.asFlow().collectAsState(initial = listOf ())
218
232
@@ -247,7 +261,7 @@ fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>) {
247
261
modifier = Modifier .padding(8 .dp)
248
262
) {
249
263
items(files) { file ->
250
- FileCard (file = file, viewModel = viewModel)
264
+ FileCard (file = file, viewModel = viewModel, imageLoader = imageLoader )
251
265
}
252
266
}
253
267
}
@@ -282,24 +296,10 @@ fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>) {
282
296
283
297
284
298
@Composable
285
- fun FileCard (file : File , viewModel : HomeViewModel ) {
299
+ fun FileCard (file : File , viewModel : HomeViewModel , imageLoader : ImageLoader ) {
286
300
val context = LocalContext .current
287
301
val fileExtension = getFileExtension(file.name)
288
302
289
- val imageLoader = ImageLoader .Builder (context)
290
- .memoryCache {
291
- MemoryCache .Builder (context)
292
- .maxSizePercent(0.24 )
293
- .build()
294
- }
295
- .diskCache {
296
- DiskCache .Builder ()
297
- .directory(context.cacheDir.resolve(" image_cache" ))
298
- .maxSizePercent(0.02 )
299
- .build()
300
- }
301
- .build()
302
-
303
303
val thumbnail = remember(file.absolutePath) {
304
304
getVideoThumbnail(file.absolutePath, thumbnailWidth = 64 , thumbnailHeight = 64 )
305
305
}
@@ -330,6 +330,7 @@ fun FileCard(file: File, viewModel: HomeViewModel) {
330
330
}
331
331
}
332
332
)
333
+ .size(64 )
333
334
.crossfade(true )
334
335
.build(),
335
336
imageLoader = imageLoader,
0 commit comments