Skip to content

Commit 75fce10

Browse files
authored
Merge pull request #299 from OpenHub-Store/cache-cleanup
2 parents 9a4f7dc + 1f9f50d commit 75fce10

File tree

31 files changed

+482
-127
lines changed

31 files changed

+482
-127
lines changed

โ€Žcore/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidFileLocationsProvider.ktโ€Ž

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,37 @@ class AndroidFileLocationsProvider(
2020
override fun setExecutableIfNeeded(path: String) {
2121
// No-op on Android
2222
}
23+
24+
override fun getCacheSizeBytes(): Long {
25+
val dir = File(appDownloadsDir())
26+
return calculateDirSize(dir)
27+
}
28+
29+
override fun clearCacheFiles(): Boolean {
30+
val dir = File(appDownloadsDir())
31+
return deleteDirectoryContents(dir)
32+
}
33+
34+
private fun calculateDirSize(dir: File): Long {
35+
if (!dir.exists()) return 0L
36+
var size = 0L
37+
dir.listFiles()?.forEach { file ->
38+
size += if (file.isDirectory) calculateDirSize(file) else file.length()
39+
}
40+
return size
41+
}
42+
43+
private fun deleteDirectoryContents(dir: File): Boolean {
44+
if (!dir.exists()) return true
45+
var allDeleted = true
46+
dir.listFiles()?.forEach { file ->
47+
if (file.isDirectory) {
48+
if (!deleteDirectoryContents(file)) allDeleted = false
49+
if (!file.delete()) allDeleted = false
50+
} else {
51+
if (!file.delete()) allDeleted = false
52+
}
53+
}
54+
return allDeleted
55+
}
2356
}

โ€Žcore/data/src/commonMain/kotlin/zed/rainxch/core/data/services/FileLocationsProvider.ktโ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ interface FileLocationsProvider {
44
fun appDownloadsDir(): String
55
fun userDownloadsDir(): String
66
fun setExecutableIfNeeded(path: String)
7+
fun getCacheSizeBytes(): Long
8+
fun clearCacheFiles(): Boolean
79
}

โ€Žcore/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopFileLocationsProvider.ktโ€Ž

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,43 @@ class DesktopFileLocationsProvider(
9595
return downloadsDir.absolutePath
9696
}
9797

98+
override fun getCacheSizeBytes(): Long {
99+
val appDir = File(appDownloadsDir())
100+
val userDir = File(userDownloadsDir())
101+
return calculateDirSize(appDir) + calculateDirSize(userDir)
102+
}
103+
104+
override fun clearCacheFiles(): Boolean {
105+
val appDir = File(appDownloadsDir())
106+
val userDir = File(userDownloadsDir())
107+
val appCleared = deleteDirectoryContents(appDir)
108+
val userCleared = deleteDirectoryContents(userDir)
109+
return appCleared && userCleared
110+
}
111+
112+
private fun calculateDirSize(dir: File): Long {
113+
if (!dir.exists()) return 0L
114+
var size = 0L
115+
dir.listFiles()?.forEach { file ->
116+
size += if (file.isDirectory) calculateDirSize(file) else file.length()
117+
}
118+
return size
119+
}
120+
121+
private fun deleteDirectoryContents(dir: File): Boolean {
122+
if (!dir.exists()) return true
123+
var allDeleted = true
124+
dir.listFiles()?.forEach { file ->
125+
if (file.isDirectory) {
126+
if (!deleteDirectoryContents(file)) allDeleted = false
127+
if (!file.delete()) allDeleted = false
128+
} else {
129+
if (!file.delete()) allDeleted = false
130+
}
131+
}
132+
return allDeleted
133+
}
134+
98135
private fun getXdgDownloadsDir(): String? {
99136
return try {
100137
val userDirsFile = File(

โ€Žcore/presentation/src/commonMain/composeResources/values-bn/strings-bn.xmlโ€Ž

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126

127127
<!-- Snackbar -->
128128
<string name="logout_success">เฆธเฆซเฆฒเฆญเฆพเฆฌเง‡ เฆฒเฆ—เฆ†เฆ‰เฆŸ เฆนเฆฏเฆผเง‡เฆ›เง‡, เฆฐเฆฟเฆกเฆพเฆ‡เฆฐเง‡เฆ•เงเฆŸ เฆ•เฆฐเฆพ เฆนเฆšเงเฆ›เง‡...</string>
129+
<string name="cache_cleared">เฆ•เงเฆฏเฆพเฆถ เฆธเฆซเฆฒเฆญเฆพเฆฌเง‡ เฆชเฆฐเฆฟเฆทเงเฆ•เฆพเฆฐ เฆ•เฆฐเฆพ เฆนเฆฏเฆผเง‡เฆ›เง‡</string>
129130

130131
<!-- Dialog -->
131132
<string name="warning">เฆธเฆคเฆฐเงเฆ•เฆคเฆพ!</string>
@@ -279,9 +280,9 @@
279280
<string name="star_repos_hint">เฆ‡เฆจเฆธเงเฆŸเฆฒเฆฏเง‹เฆ—เงเฆฏ เฆฐเฆฟเฆฒเฆฟเฆœ เฆฅเฆพเฆ•เฆพ เฆฐเฆฟเฆชเง‹เฆœเฆฟเฆŸเฆฐเฆฟ GitHub-เฆ เฆธเงเฆŸเฆพเฆฐ เฆ•เฆฐเงเฆจ</string>
280281
<string name="last_synced">เฆถเง‡เฆท เฆธเฆฟเฆ™เงเฆ•</string>
281282
<string name="just_now">เฆเฆ‡เฆฎเฆพเฆคเงเฆฐ</string>
282-
<string name="minutes_ago">%d เฆฎเฆฟเฆจเฆฟเฆŸ เฆ†เฆ—เง‡</string>
283-
<string name="hours_ago">%d เฆ˜เฆฃเงเฆŸเฆพ เฆ†เฆ—เง‡</string>
284-
<string name="days_ago">%d เฆฆเฆฟเฆจ เฆ†เฆ—เง‡</string>
283+
<string name="minutes_ago">%1$d เฆฎเฆฟเฆจเฆฟเฆŸ เฆ†เฆ—เง‡</string>
284+
<string name="hours_ago">%1$d เฆ˜เฆฃเงเฆŸเฆพ เฆ†เฆ—เง‡</string>
285+
<string name="days_ago">%1$d เฆฆเฆฟเฆจ เฆ†เฆ—เง‡</string>
285286
<string name="dismiss">เฆฌเฆจเงเฆง เฆ•เฆฐเงเฆจ</string>
286287
<string name="sync_starred_failed">เฆธเงเฆŸเฆพเฆฐ เฆ•เฆฐเฆพ เฆฐเฆฟเฆชเง‹เฆœเฆฟเฆŸเฆฐเฆฟ เฆธเฆฟเฆ™เงเฆ• เฆ•เฆฐเฆคเง‡ เฆฌเงเฆฏเฆฐเงเฆฅ เฆนเฆฏเฆผเง‡เฆ›เง‡</string>
287288

@@ -453,4 +454,8 @@
453454
<string name="open_in_app">เฆ…เงเฆฏเฆพเฆชเง‡ เฆ–เงเฆฒเงเฆจ</string>
454455
<string name="no_github_link_in_clipboard">เฆ•เงเฆฒเฆฟเฆชเฆฌเง‹เฆฐเงเฆกเง‡ เฆ•เง‹เฆจเง‹ GitHub เฆฒเฆฟเฆ‚เฆ• เฆชเฆพเฆ“เฆฏเฆผเฆพ เฆฏเฆพเฆฏเฆผเฆจเฆฟ</string>
455456

457+
<string name="storage">เฆธเงเฆŸเง‹เฆฐเง‡เฆœ</string>
458+
<string name="clear_cache">เฆ•เงเฆฏเฆพเฆถเง‡ เฆชเฆฐเฆฟเฆทเงเฆ•เฆพเฆฐ เฆ•เฆฐเงเฆจ</string>
459+
<string name="current_size">เฆฌเฆฐเงเฆคเฆฎเฆพเฆจ เฆ†เฆ•เฆพเฆฐ:</string>
460+
<string name="clear">เฆชเฆฐเฆฟเฆทเงเฆ•เฆพเฆฐ เฆ•เฆฐเงเฆจ</string>
456461
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-es/strings-es.xmlโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
<string name="logout">Cerrar sesiรณn</string>
105105

106106
<string name="logout_success">Sesiรณn cerrada correctamente, redirigiendoโ€ฆ</string>
107+
<string name="cache_cleared">Cachรฉ borrada con รฉxito</string>
107108

108109
<string name="warning">ยกAdvertencia!</string>
109110
<string name="logout_confirmation">ยฟEstรกs seguro de que deseas cerrar sesiรณn?</string>
@@ -418,4 +419,8 @@
418419
<string name="open_in_app">Abrir en la app</string>
419420
<string name="no_github_link_in_clipboard">No se encontrรณ enlace de GitHub en el portapapeles</string>
420421

422+
<string name="storage">Almacenamiento</string>
423+
<string name="clear_cache">Borrar cachรฉ</string>
424+
<string name="current_size">Tamaรฑo actual:</string>
425+
<string name="clear">Borrar</string>
421426
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-fr/strings-fr.xmlโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
<string name="logout">Se dรฉconnecter</string>
105105

106106
<string name="logout_success">Dรฉconnexion rรฉussie, redirectionโ€ฆ</string>
107+
<string name="cache_cleared">Cache vidรฉ avec succรจs</string>
107108

108109
<string name="warning">Attention !</string>
109110
<string name="logout_confirmation">Voulez-vous vraiment vous dรฉconnecter ?</string>
@@ -418,4 +419,8 @@
418419
<string name="open_in_app">Ouvrir dans l\'app</string>
419420
<string name="no_github_link_in_clipboard">Aucun lien GitHub trouvรฉ dans le presse-papiers</string>
420421

422+
<string name="storage">Stockage</string>
423+
<string name="clear_cache">Vider le cache</string>
424+
<string name="current_size">Taille actuelle :</string>
425+
<string name="clear">Vider</string>
421426
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-hi/strings-hi.xmlโ€Ž

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126

127127
<!-- Snackbar -->
128128
<string name="logout_success">เคธเคซเคฒเคคเคพเคชเฅ‚เคฐเฅเคตเค• เคฒเฅ‰เค— เค†เค‰เคŸ เคนเฅ‹ เค—เค, เคฐเฅ€เคกเคพเคฏเคฐเฅ‡เค•เฅเคŸ เค•เคฟเคฏเคพ เคœเคพ เคฐเคนเคพ เคนเฅˆ...</string>
129+
<string name="cache_cleared">เค•เฅˆเคถ เคธเคซเคฒเคคเคพเคชเฅ‚เคฐเฅเคตเค• เคธเคพเคซเคผ เค•เคฟเคฏเคพ เค—เคฏเคพ</string>
129130

130131
<!-- Dialog -->
131132
<string name="warning">เคšเฅ‡เคคเคพเคตเคจเฅ€!</string>
@@ -277,9 +278,9 @@
277278
<string name="star_repos_hint">เค‰เคจเฅเคนเฅ‡เค‚ เคฏเคนเคพเค‚ เคฆเฅ‡เค–เคจเฅ‡ เค•เฅ‡ เคฒเคฟเค เค‡เค‚เคธเฅเคŸเฅ‰เคฒเฅ‡เคฌเคฒ เคฐเคฟเคฒเฅ€เคœเคผ เคตเคพเคฒเฅ‡ GitHub เคชเคฐ เคฐเคฟเคชเฅ‰เคœเคฟเคŸเคฐเฅ€ เค•เฅ‹ เคธเฅเคŸเคพเคฐ เค•เคฐเฅ‡เค‚เฅค</string>
278279
<string name="last_synced">เค…เค‚เคคเคฟเคฎ เคธเคฟเค‚เค•</string>
279280
<string name="just_now">เค…เคญเฅ€-เค…เคญเฅ€</string>
280-
<string name="minutes_ago">%d เคฎเคฟเคจเคŸ เคชเคนเคฒเฅ‡</string>
281-
<string name="hours_ago">%d เค˜เค‚เคŸเฅ‡ เคชเคนเคฒเฅ‡</string>
282-
<string name="days_ago">%d เคฆเคฟเคจ เคชเคนเคฒเฅ‡</string>
281+
<string name="minutes_ago">%1$d เคฎเคฟเคจเคŸ เคชเคนเคฒเฅ‡</string>
282+
<string name="hours_ago">%1$d เค˜เค‚เคŸเฅ‡ เคชเคนเคฒเฅ‡</string>
283+
<string name="days_ago">%1$d เคฆเคฟเคจ เคชเคนเคฒเฅ‡</string>
283284
<string name="dismiss">เคนเคŸเคพเคเค‚</string>
284285
<string name="sync_starred_failed">เคคเคพเคฐเคพเค‚เค•เคฟเคค เคฐเคฟเคชเฅ‰เคœเคฟเคŸเคฐเฅ€ เค•เฅ‹ เคธเคฟเค‚เค• เค•เคฐเคจเฅ‡ เคฎเฅ‡เค‚ เคตเคฟเคซเคฒ เคฐเคนเคพ</string>
285286

@@ -453,4 +454,8 @@
453454
<string name="open_in_app">เคเคช เคฎเฅ‡เค‚ เค–เฅ‹เคฒเฅ‡เค‚</string>
454455
<string name="no_github_link_in_clipboard">เค•เฅเคฒเคฟเคชเคฌเฅ‹เคฐเฅเคก เคฎเฅ‡เค‚ เค•เฅ‹เคˆ GitHub เคฒเคฟเค‚เค• เคจเคนเฅ€เค‚ เคฎเคฟเคฒเคพ</string>
455456

457+
<string name="storage">เคธเค‚เค—เฅเคฐเคนเคฃ</string>
458+
<string name="clear_cache">เค•เฅˆเคถ เคธเคพเคซเคผ เค•เคฐเฅ‡เค‚</string>
459+
<string name="current_size">เคตเคฐเฅเคคเคฎเคพเคจ เค†เค•เคพเคฐ:</string>
460+
<string name="clear">เคธเคพเคซเคผ เค•เคฐเฅ‡เค‚</string>
456461
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-it/strings-it.xmlโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126

127127
<!-- Snackbar -->
128128
<string name="logout_success">Uscito con successo, reindirizzamentoโ€ฆ</string>
129+
<string name="cache_cleared">Cache cancellata con successo</string>
129130

130131
<!-- Dialog -->
131132
<string name="warning">Attenzione!</string>
@@ -454,4 +455,8 @@
454455
<string name="open_in_app">Apri nell\'app</string>
455456
<string name="no_github_link_in_clipboard">Nessun link GitHub trovato negli appunti</string>
456457

458+
<string name="storage">Archiviazione</string>
459+
<string name="clear_cache">Pulisci cache</string>
460+
<string name="current_size">Dimensione attuale:</string>
461+
<string name="clear">Pulisci</string>
457462
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-ja/strings-ja.xmlโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
<string name="logout">ใƒญใ‚ฐใ‚ขใ‚ฆใƒˆ</string>
105105

106106
<string name="logout_success">ใƒญใ‚ฐใ‚ขใ‚ฆใƒˆใ—ใพใ—ใŸใ€‚ใƒชใƒ€ใ‚คใƒฌใ‚ฏใƒˆไธญโ€ฆ</string>
107+
<string name="cache_cleared">ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’ๆญฃๅธธใซใ‚ฏใƒชใ‚ขใ—ใพใ—ใŸ</string>
107108

108109
<string name="warning">่ญฆๅ‘Š๏ผ</string>
109110
<string name="logout_confirmation">ใƒญใ‚ฐใ‚ขใ‚ฆใƒˆใ—ใฆใ‚‚ใ‚ˆใ‚ใ—ใ„ใงใ™ใ‹๏ผŸ</string>
@@ -417,4 +418,8 @@
417418
<string name="open_in_app">ใ‚ขใƒ—ใƒชใง้–‹ใ</string>
418419
<string name="no_github_link_in_clipboard">ใ‚ฏใƒชใƒƒใƒ—ใƒœใƒผใƒ‰ใซGitHubใƒชใƒณใ‚ฏใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“</string>
419420

421+
<string name="storage">ใ‚นใƒˆใƒฌใƒผใ‚ธ</string>
422+
<string name="clear_cache">ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’ใ‚ฏใƒชใ‚ข</string>
423+
<string name="current_size">็พๅœจใฎใ‚ตใ‚คใ‚บ:</string>
424+
<string name="clear">ใ‚ฏใƒชใ‚ข</string>
420425
</resources>

โ€Žcore/presentation/src/commonMain/composeResources/values-ko/strings-ko.xmlโ€Ž

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124

125125
<!-- Snackbar -->
126126
<string name="logout_success">์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๊ทธ์•„์›ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋™ ์ค‘...</string>
127+
<string name="cache_cleared">์บ์‹œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค</string>
127128

128129
<!-- Dialog -->
129130
<string name="warning">๊ฒฝ๊ณ !</string>
@@ -277,9 +278,9 @@
277278
<string name="star_repos_hint">์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ๋Š” ์ €์žฅ์†Œ์— ๋ณ„ํ‘œ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”</string>
278279
<string name="last_synced">๋งˆ์ง€๋ง‰ ๋™๊ธฐํ™”</string>
279280
<string name="just_now">๋ฐฉ๊ธˆ</string>
280-
<string name="minutes_ago">%d๋ถ„ ์ „</string>
281-
<string name="hours_ago">%d์‹œ๊ฐ„ ์ „</string>
282-
<string name="days_ago">%d์ผ ์ „</string>
281+
<string name="minutes_ago">%1$d๋ถ„ ์ „</string>
282+
<string name="hours_ago">%1$d์‹œ๊ฐ„ ์ „</string>
283+
<string name="days_ago">%1$d์ผ ์ „</string>
283284
<string name="dismiss">๋‹ซ๊ธฐ</string>
284285
<string name="sync_starred_failed">๋ณ„ํ‘œ ์ €์žฅ์†Œ ๋™๊ธฐํ™”์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค</string>
285286

@@ -450,4 +451,8 @@
450451
<string name="open_in_app">์•ฑ์—์„œ ์—ด๊ธฐ</string>
451452
<string name="no_github_link_in_clipboard">ํด๋ฆฝ๋ณด๋“œ์—์„œ GitHub ๋งํฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค</string>
452453

454+
<string name="storage">์ €์žฅ ๊ณต๊ฐ„</string>
455+
<string name="clear_cache">์บ์‹œ ์ง€์šฐ๊ธฐ</string>
456+
<string name="current_size">ํ˜„์žฌ ํฌ๊ธฐ:</string>
457+
<string name="clear">์ง€์šฐ๊ธฐ</string>
453458
</resources>

0 commit comments

Comments
ย (0)