Skip to content

Commit 486755c

Browse files
committed
feat(setting): 优化清除缓存功能并增强用户体验
- 在多语言中为“清除缓存”文案添加占位符,动态显示缓存大小。 - 更新设置页面逻辑,支持实时计算缓存大小并在界面中渲染。 - 清除缓存完成后立即更新显示的缓存大小,提高交互反馈的及时性与准确性。
1 parent e9e728b commit 486755c

File tree

12 files changed

+16
-12
lines changed

12 files changed

+16
-12
lines changed

feature/setting/src/main/kotlin/com/mrl/pixiv/setting/appdata/AppDataScreen.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import androidx.compose.material3.TopAppBar
3838
import androidx.compose.runtime.Composable
3939
import androidx.compose.runtime.LaunchedEffect
4040
import androidx.compose.runtime.getValue
41+
import androidx.compose.runtime.mutableIntStateOf
4142
import androidx.compose.runtime.mutableStateOf
4243
import androidx.compose.runtime.remember
4344
import androidx.compose.runtime.rememberCoroutineScope
@@ -72,6 +73,8 @@ fun AppDataScreen(
7273
val state = viewModel.asState()
7374

7475
var showMigrationConfirmDialog by remember { mutableStateOf(false) }
76+
var trigger by remember { mutableIntStateOf(0) }
77+
val cacheDirSize = remember(trigger) { context.cacheDir.calculateSize().adaptiveFileSize() }
7578

7679
val permissionLauncher = rememberLauncherForActivityResult(
7780
contract = ActivityResultContracts.RequestPermission()
@@ -181,7 +184,7 @@ fun AppDataScreen(
181184

182185
ListItem(
183186
headlineContent = {
184-
Text(text = stringResource(RString.clear_cache))
187+
Text(text = stringResource(RString.clear_cache, cacheDirSize))
185188
},
186189
modifier = Modifier.clickable {
187190
scope.launch(Dispatchers.IO) {
@@ -190,6 +193,7 @@ fun AppDataScreen(
190193
it.deleteRecursively()
191194
}
192195
ToastUtil.safeShortToast(RString.cache_cleared, dirSize)
196+
trigger++
193197
}
194198
},
195199
leadingContent = {

lib_strings/src/main/res/values-ar/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">تم حظر المستخدم</string>
9191
<string name="cancel_user_blocked">إلغاء حظر المستخدم</string>
9292
<string name="app_data">بيانات التطبيق</string>
93-
<string name="clear_cache">مسح ذاكرة التخزين المؤقت</string>
93+
<string name="clear_cache">مسح ذاكرة التخزين المؤقت (%1$s)</string>
9494
<string name="cache_cleared">تم إخلاء %1$s من المساحة</string>
9595
<string name="migrate_data_title">تم اكتشاف بيانات قديمة</string>
9696
<string name="migrate_data_desc">تم اكتشاف %1$d صورة في الدليل القديم، يوصى بنقلها إلى الدليل الجديد</string>

lib_strings/src/main/res/values-de/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">Benutzer blockiert</string>
9191
<string name="cancel_user_blocked">Benutzer freigeben</string>
9292
<string name="app_data">App-Daten</string>
93-
<string name="clear_cache">Cache leeren</string>
93+
<string name="clear_cache">Cache leeren (%1$s)</string>
9494
<string name="cache_cleared">%1$s Speicherplatz bereinigt</string>
9595
<string name="migrate_data_title">Alte Daten gefunden</string>
9696
<string name="migrate_data_desc">%1$d Bilder im alten Verzeichnis erkannt. Es wird empfohlen, sie in das neue Verzeichnis zu verschieben</string>

lib_strings/src/main/res/values-en/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">User Blocked</string>
9191
<string name="cancel_user_blocked">Unblock User</string>
9292
<string name="app_data">App data</string>
93-
<string name="clear_cache">Clear cache</string>
93+
<string name="clear_cache">Clear cache (%1$s)</string>
9494
<string name="cache_cleared">Cleared %1$s space</string>
9595
<string name="migrate_data_title">Legacy data detected</string>
9696
<string name="migrate_data_desc">Detected %1$d images in old directory. Migration to new directory is recommended</string>

lib_strings/src/main/res/values-es/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">Usuario bloqueado</string>
9191
<string name="cancel_user_blocked">Desbloquear usuario</string>
9292
<string name="app_data">Datos de la aplicación</string>
93-
<string name="clear_cache">Borrar caché</string>
93+
<string name="clear_cache">Borrar caché (%1$s)</string>
9494
<string name="cache_cleared">%1$s de espacio liberado</string>
9595
<string name="migrate_data_title">Datos antiguos detectados</string>
9696
<string name="migrate_data_desc">Se detectaron %1$d imágenes en el directorio antiguo, se recomienda moverlas al nuevo directorio</string>

lib_strings/src/main/res/values-fr/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">Utilisateur bloqué</string>
9191
<string name="cancel_user_blocked">Débloquer l\'utilisateur</string>
9292
<string name="app_data">Données de l\'application</string>
93-
<string name="clear_cache">Vider le cache</string>
93+
<string name="clear_cache">Vider le cache (%1$s)</string>
9494
<string name="cache_cleared">%1$s d\'espace libéré</string>
9595
<string name="migrate_data_title">Anciennes données détectées</string>
9696
<string name="migrate_data_desc">%1$d images détectées dans l\'ancien répertoire, la migration vers le nouveau répertoire est recommandée</string>

lib_strings/src/main/res/values-hi/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">उपयोगकर्ता ब्लॉक किया गया</string>
9191
<string name="cancel_user_blocked">उपयोगकर्ता को अनब्लॉक करें</string>
9292
<string name="app_data">ऐप्लिकेशन डेटा</string>
93-
<string name="clear_cache">कैश साफ़ करें</string>
93+
<string name="clear_cache">कैश साफ़ करें (%1$s)</string>
9494
<string name="cache_cleared">%1$s जगह खाली की गई</string>
9595
<string name="migrate_data_title">पुराना डेटा मिला</string>
9696
<string name="migrate_data_desc">पुरानी निर्देशिका में %1$d चित्र मिले, नई निर्देशिका में स्थानांतरित करने का सुझाव दिया जाता है</string>

lib_strings/src/main/res/values-ja/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">ユーザーはブロックされています</string>
9191
<string name="cancel_user_blocked">ユーザーのブロックを解除</string>
9292
<string name="app_data">アプリデータ</string>
93-
<string name="clear_cache">キャッシュを削除</string>
93+
<string name="clear_cache">キャッシュを削除 (%1$s)</string>
9494
<string name="cache_cleared">%1$s の空き容量を確保しました</string>
9595
<string name="migrate_data_title">旧データが見つかりました</string>
9696
<string name="migrate_data_desc">古いフォルダに %1$d 枚の画像があります。新しいフォルダへの移行を推奨します</string>

lib_strings/src/main/res/values-ko/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">사용자 차단됨</string>
9191
<string name="cancel_user_blocked">사용자 차단 해제</string>
9292
<string name="app_data">앱 데이터</string>
93-
<string name="clear_cache">캐시 삭제</string>
93+
<string name="clear_cache">캐시 삭제 (%1$s)</string>
9494
<string name="cache_cleared">%1$s 공간 확보됨</string>
9595
<string name="migrate_data_title">이전 데이터 감지됨</string>
9696
<string name="migrate_data_desc">이전 디렉터리에서 %1$d개의 이미지가 감지되었습니다. 새 디렉터리로 이동하는 것을 권장합니다</string>

lib_strings/src/main/res/values-pt/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<string name="user_blocked">Usuário bloqueado</string>
9191
<string name="cancel_user_blocked">Desbloquear usuário</string>
9292
<string name="app_data">Dados do aplicativo</string>
93-
<string name="clear_cache">Limpar cache</string>
93+
<string name="clear_cache">Limpar cache (%1$s)</string>
9494
<string name="cache_cleared">%1$s de espaço liberado</string>
9595
<string name="migrate_data_title">Dados antigos detectados</string>
9696
<string name="migrate_data_desc">%1$d imagens detectadas no diretório antigo. Recomenda-se migrar para o novo diretório</string>

0 commit comments

Comments
 (0)