@@ -25,37 +25,25 @@ import androidx.compose.runtime.LaunchedEffect
2525import androidx.compose.runtime.getValue
2626import androidx.compose.runtime.mutableStateOf
2727import androidx.compose.runtime.remember
28- import androidx.compose.runtime.rememberCoroutineScope
2928import androidx.compose.runtime.setValue
3029import androidx.compose.ui.Modifier
3130import androidx.compose.ui.unit.dp
32- import com.mrl.pixiv.common.coroutine.launchCatch
3331import com.mrl.pixiv.common.router.NavigationManager
3432import com.mrl.pixiv.common.util.RStrings
35- import com.mrl.pixiv.common.util.ToastUtil
36- import com.mrl.pixiv.common.util.adaptiveFileSize1
37- import com.mrl.pixiv.common.util.calculateSize
38- import com.mrl.pixiv.common.util.deleteRecursively
3933import com.mrl.pixiv.common.util.throttleClick
4034import com.mrl.pixiv.common.viewmodel.asState
4135import com.mrl.pixiv.strings.app_data
42- import com.mrl.pixiv.strings.cache_cleared
4336import com.mrl.pixiv.strings.cancel
4437import com.mrl.pixiv.strings.clear_cache
4538import com.mrl.pixiv.strings.confirm
4639import com.mrl.pixiv.strings.export_data
4740import com.mrl.pixiv.strings.import_data
4841import com.mrl.pixiv.strings.novel_history_import_user_mismatch_desc
4942import com.mrl.pixiv.strings.novel_history_import_user_mismatch_title
50- import io.github.vinceglb.filekit.FileKit
51- import io.github.vinceglb.filekit.cacheDir
5243import io.github.vinceglb.filekit.dialogs.FileKitDialogSettings
5344import io.github.vinceglb.filekit.dialogs.FileKitType
5445import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher
5546import io.github.vinceglb.filekit.dialogs.compose.rememberFileSaverLauncher
56- import io.github.vinceglb.filekit.list
57- import kotlinx.coroutines.Dispatchers
58- import kotlinx.coroutines.IO
5947import kotlinx.datetime.LocalDateTime
6048import kotlinx.datetime.TimeZone
6149import kotlinx.datetime.format
@@ -77,7 +65,6 @@ fun AppDataScreen(
7765 navigationManager : NavigationManager = koinInject(),
7866 viewModel : AppDataViewModel = koinViewModel(),
7967) {
80- val scope = rememberCoroutineScope()
8168 val state = viewModel.asState()
8269 var dialogData by remember { mutableStateOf<NovelHistoryImportDialogData ?>(null ) }
8370
@@ -175,16 +162,7 @@ fun AppDataScreen(
175162 headlineContent = {
176163 Text (text = stringResource(RStrings .clear_cache, viewModel.cacheDirSize))
177164 },
178- modifier = Modifier .throttleClick {
179- scope.launchCatch(Dispatchers .IO ) {
180- val dirSize = FileKit .cacheDir.calculateSize().adaptiveFileSize1()
181- FileKit .cacheDir.list().forEach {
182- it.deleteRecursively()
183- }
184- ToastUtil .safeShortToast(RStrings .cache_cleared, dirSize)
185- viewModel.refreshCacheSize()
186- }
187- },
165+ modifier = Modifier .throttleClick { viewModel.clearCache() },
188166 leadingContent = {
189167 Icon (
190168 imageVector = Icons .Rounded .Delete ,
0 commit comments