Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,37 @@ class AndroidFileLocationsProvider(
override fun setExecutableIfNeeded(path: String) {
// No-op on Android
}

override fun getCacheSizeBytes(): Long {
val dir = File(appDownloadsDir())
return calculateDirSize(dir)
}

override fun clearCacheFiles(): Boolean {
val dir = File(appDownloadsDir())
return deleteDirectoryContents(dir)
}

private fun calculateDirSize(dir: File): Long {
if (!dir.exists()) return 0L
var size = 0L
dir.listFiles()?.forEach { file ->
size += if (file.isDirectory) calculateDirSize(file) else file.length()
}
return size
}

private fun deleteDirectoryContents(dir: File): Boolean {
if (!dir.exists()) return true
var allDeleted = true
dir.listFiles()?.forEach { file ->
if (file.isDirectory) {
if (!deleteDirectoryContents(file)) allDeleted = false
if (!file.delete()) allDeleted = false
} else {
if (!file.delete()) allDeleted = false
}
}
return allDeleted
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ interface FileLocationsProvider {
fun appDownloadsDir(): String
fun userDownloadsDir(): String
fun setExecutableIfNeeded(path: String)
fun getCacheSizeBytes(): Long
fun clearCacheFiles(): Boolean
}
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,43 @@ class DesktopFileLocationsProvider(
return downloadsDir.absolutePath
}

override fun getCacheSizeBytes(): Long {
val appDir = File(appDownloadsDir())
val userDir = File(userDownloadsDir())
return calculateDirSize(appDir) + calculateDirSize(userDir)
}

override fun clearCacheFiles(): Boolean {
val appDir = File(appDownloadsDir())
val userDir = File(userDownloadsDir())
val appCleared = deleteDirectoryContents(appDir)
val userCleared = deleteDirectoryContents(userDir)
return appCleared && userCleared
}

private fun calculateDirSize(dir: File): Long {
if (!dir.exists()) return 0L
var size = 0L
dir.listFiles()?.forEach { file ->
size += if (file.isDirectory) calculateDirSize(file) else file.length()
}
return size
}

private fun deleteDirectoryContents(dir: File): Boolean {
if (!dir.exists()) return true
var allDeleted = true
dir.listFiles()?.forEach { file ->
if (file.isDirectory) {
if (!deleteDirectoryContents(file)) allDeleted = false
if (!file.delete()) allDeleted = false
} else {
if (!file.delete()) allDeleted = false
}
}
return allDeleted
}

private fun getXdgDownloadsDir(): String? {
return try {
val userDirsFile = File(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@

<!-- Snackbar -->
<string name="logout_success">সফলভাবে লগআউট হয়েছে, রিডাইরেক্ট করা হচ্ছে...</string>
<string name="cache_cleared">ক্যাশ সফলভাবে পরিষ্কার করা হয়েছে</string>

<!-- Dialog -->
<string name="warning">সতর্কতা!</string>
Expand Down Expand Up @@ -279,9 +280,9 @@
<string name="star_repos_hint">ইনস্টলযোগ্য রিলিজ থাকা রিপোজিটরি GitHub-এ স্টার করুন</string>
<string name="last_synced">শেষ সিঙ্ক</string>
<string name="just_now">এইমাত্র</string>
<string name="minutes_ago">%d মিনিট আগে</string>
<string name="hours_ago">%d ঘণ্টা আগে</string>
<string name="days_ago">%d দিন আগে</string>
<string name="minutes_ago">%1$d মিনিট আগে</string>
<string name="hours_ago">%1$d ঘণ্টা আগে</string>
<string name="days_ago">%1$d দিন আগে</string>
<string name="dismiss">বন্ধ করুন</string>
<string name="sync_starred_failed">স্টার করা রিপোজিটরি সিঙ্ক করতে ব্যর্থ হয়েছে</string>

Expand Down Expand Up @@ -453,4 +454,8 @@
<string name="open_in_app">অ্যাপে খুলুন</string>
<string name="no_github_link_in_clipboard">ক্লিপবোর্ডে কোনো GitHub লিংক পাওয়া যায়নি</string>

<string name="storage">স্টোরেজ</string>
<string name="clear_cache">ক্যাশে পরিষ্কার করুন</string>
<string name="current_size">বর্তমান আকার:</string>
<string name="clear">পরিষ্কার করুন</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
<string name="logout">Cerrar sesión</string>

<string name="logout_success">Sesión cerrada correctamente, redirigiendo…</string>
<string name="cache_cleared">Caché borrada con éxito</string>

<string name="warning">¡Advertencia!</string>
<string name="logout_confirmation">¿Estás seguro de que deseas cerrar sesión?</string>
Expand Down Expand Up @@ -418,4 +419,8 @@
<string name="open_in_app">Abrir en la app</string>
<string name="no_github_link_in_clipboard">No se encontró enlace de GitHub en el portapapeles</string>

<string name="storage">Almacenamiento</string>
<string name="clear_cache">Borrar caché</string>
<string name="current_size">Tamaño actual:</string>
<string name="clear">Borrar</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
<string name="logout">Se déconnecter</string>

<string name="logout_success">Déconnexion réussie, redirection…</string>
<string name="cache_cleared">Cache vidé avec succès</string>

<string name="warning">Attention !</string>
<string name="logout_confirmation">Voulez-vous vraiment vous déconnecter ?</string>
Expand Down Expand Up @@ -418,4 +419,8 @@
<string name="open_in_app">Ouvrir dans l\'app</string>
<string name="no_github_link_in_clipboard">Aucun lien GitHub trouvé dans le presse-papiers</string>

<string name="storage">Stockage</string>
<string name="clear_cache">Vider le cache</string>
<string name="current_size">Taille actuelle :</string>
<string name="clear">Vider</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@

<!-- Snackbar -->
<string name="logout_success">सफलतापूर्वक लॉग आउट हो गए, रीडायरेक्ट किया जा रहा है...</string>
<string name="cache_cleared">कैश सफलतापूर्वक साफ़ किया गया</string>

<!-- Dialog -->
<string name="warning">चेतावनी!</string>
Expand Down Expand Up @@ -277,9 +278,9 @@
<string name="star_repos_hint">उन्हें यहां देखने के लिए इंस्टॉलेबल रिलीज़ वाले GitHub पर रिपॉजिटरी को स्टार करें।</string>
<string name="last_synced">अंतिम सिंक</string>
<string name="just_now">अभी-अभी</string>
<string name="minutes_ago">%d मिनट पहले</string>
<string name="hours_ago">%d घंटे पहले</string>
<string name="days_ago">%d दिन पहले</string>
<string name="minutes_ago">%1$d मिनट पहले</string>
<string name="hours_ago">%1$d घंटे पहले</string>
<string name="days_ago">%1$d दिन पहले</string>
<string name="dismiss">हटाएं</string>
<string name="sync_starred_failed">तारांकित रिपॉजिटरी को सिंक करने में विफल रहा</string>

Expand Down Expand Up @@ -453,4 +454,8 @@
<string name="open_in_app">ऐप में खोलें</string>
<string name="no_github_link_in_clipboard">क्लिपबोर्ड में कोई GitHub लिंक नहीं मिला</string>

<string name="storage">संग्रहण</string>
<string name="clear_cache">कैश साफ़ करें</string>
<string name="current_size">वर्तमान आकार:</string>
<string name="clear">साफ़ करें</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@

<!-- Snackbar -->
<string name="logout_success">Uscito con successo, reindirizzamento…</string>
<string name="cache_cleared">Cache cancellata con successo</string>

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

<string name="storage">Archiviazione</string>
<string name="clear_cache">Pulisci cache</string>
<string name="current_size">Dimensione attuale:</string>
<string name="clear">Pulisci</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
<string name="logout">ログアウト</string>

<string name="logout_success">ログアウトしました。リダイレクト中…</string>
<string name="cache_cleared">キャッシュを正常にクリアしました</string>

<string name="warning">警告!</string>
<string name="logout_confirmation">ログアウトしてもよろしいですか?</string>
Expand Down Expand Up @@ -417,4 +418,8 @@
<string name="open_in_app">アプリで開く</string>
<string name="no_github_link_in_clipboard">クリップボードにGitHubリンクが見つかりません</string>

<string name="storage">ストレージ</string>
<string name="clear_cache">キャッシュをクリア</string>
<string name="current_size">現在のサイズ:</string>
<string name="clear">クリア</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@

<!-- Snackbar -->
<string name="logout_success">성공적으로 로그아웃되었습니다. 이동 중...</string>
<string name="cache_cleared">캐시가 성공적으로 삭제되었습니다</string>

<!-- Dialog -->
<string name="warning">경고!</string>
Expand Down Expand Up @@ -277,9 +278,9 @@
<string name="star_repos_hint">설치 가능한 릴리스가 있는 저장소에 별표를 추가하세요</string>
<string name="last_synced">마지막 동기화</string>
<string name="just_now">방금</string>
<string name="minutes_ago">%d분 전</string>
<string name="hours_ago">%d시간 전</string>
<string name="days_ago">%d일 전</string>
<string name="minutes_ago">%1$d분 전</string>
<string name="hours_ago">%1$d시간 전</string>
<string name="days_ago">%1$d일 전</string>
<string name="dismiss">닫기</string>
<string name="sync_starred_failed">별표 저장소 동기화에 실패했습니다</string>

Expand Down Expand Up @@ -450,4 +451,8 @@
<string name="open_in_app">앱에서 열기</string>
<string name="no_github_link_in_clipboard">클립보드에서 GitHub 링크를 찾을 수 없습니다</string>

<string name="storage">저장 공간</string>
<string name="clear_cache">캐시 지우기</string>
<string name="current_size">현재 크기:</string>
<string name="clear">지우기</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
<string name="logout">Wyloguj się</string>

<string name="logout_success">Wylogowano pomyślnie, przekierowywanie...</string>
<string name="cache_cleared">Pamięć podręczna wyczyszczona pomyślnie</string>

<string name="warning">Ostrzeżenie!</string>
<string name="logout_confirmation">Czy na pewno chcesz się wylogować?</string>
Expand Down Expand Up @@ -243,9 +244,9 @@
<string name="star_repos_hint">Oznacz repozytoria z instalowalnymi wydaniami na GitHubie</string>
<string name="last_synced">Ostatnia synchronizacja</string>
<string name="just_now">Przed chwilą</string>
<string name="minutes_ago">%d min temu</string>
<string name="hours_ago">%d h temu</string>
<string name="days_ago">%d d temu</string>
<string name="minutes_ago">%1$d min temu</string>
<string name="hours_ago">%1$d h temu</string>
<string name="days_ago">%1$d d temu</string>
<string name="dismiss">Zamknij</string>
<string name="sync_starred_failed">Nie udało się zsynchronizować oznaczonych gwiazdką repozytoriów</string>

Expand Down Expand Up @@ -416,4 +417,8 @@
<string name="open_in_app">Otwórz w aplikacji</string>
<string name="no_github_link_in_clipboard">Nie znaleziono linku GitHub w schowku</string>

<string name="storage">Przechowywanie</string>
<string name="clear_cache">Wyczyść pamięć podręczną</string>
<string name="current_size">Aktualny rozmiar:</string>
<string name="clear">Wyczyść</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
<string name="logout">Выйти</string>

<string name="logout_success">Вы успешно вышли, перенаправление...</string>
<string name="cache_cleared">Кэш успешно очищен</string>

<string name="warning">Внимание!</string>
<string name="logout_confirmation">Вы уверены, что хотите выйти?</string>
Expand Down Expand Up @@ -244,9 +245,9 @@
<string name="star_repos_hint">Отмечайте репозитории с установочными релизами на GitHub</string>
<string name="last_synced">Последняя синхронизация</string>
<string name="just_now">Только что</string>
<string name="minutes_ago">%d мин назад</string>
<string name="hours_ago">%d ч назад</string>
<string name="days_ago">%d д назад</string>
<string name="minutes_ago">%1$d мин назад</string>
<string name="hours_ago">%1$d ч назад</string>
<string name="days_ago">%1$d д назад</string>
<string name="dismiss">Закрыть</string>
<string name="sync_starred_failed">Не удалось синхронизировать избранные репозитории</string>

Expand Down Expand Up @@ -418,4 +419,8 @@
<string name="open_in_app">Открыть в приложении</string>
<string name="no_github_link_in_clipboard">Ссылка GitHub не найдена в буфере обмена</string>

<string name="storage">Хранение</string>
<string name="clear_cache">Очистить кэш</string>
<string name="current_size">Текущий размер:</string>
<string name="clear">Очистить</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@

<!-- Snackbar -->
<string name="logout_success">Başarılı şekilde çıkış yapıldı, yönlendiriliyor...</string>
<string name="cache_cleared">Önbellek başarıyla temizlendi</string>

<!-- Dialog -->
<string name="warning">Uyarı!</string>
Expand Down Expand Up @@ -278,9 +279,9 @@
<string name="star_repos_hint">Yüklenebilir sürümlü repoları görmek için GitHub'da yıldızlayın</string>
<string name="last_synced">Son eşitleme</string>
<string name="just_now">Şimdi</string>
<string name="minutes_ago">%d dakika önce</string>
<string name="hours_ago">%d saat önce</string>
<string name="days_ago">%d gün önce</string>
<string name="minutes_ago">%1$d dakika önce</string>
<string name="hours_ago">%1$d saat önce</string>
<string name="days_ago">%1$d gün önce</string>
<string name="dismiss">Kapat</string>
<string name="sync_starred_failed">Yıldızlı repoları eşitlerken hata</string>

Expand Down Expand Up @@ -450,4 +451,8 @@
<string name="open_in_app">Uygulamada aç</string>
<string name="no_github_link_in_clipboard">Panoda GitHub bağlantısı bulunamadı</string>

<string name="storage">Depolama</string>
<string name="clear_cache">Önbelleği Temizle</string>
<string name="current_size">Geçerli boyut:</string>
<string name="clear">Temizle</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
<string name="logout">退出登录</string>

<string name="logout_success">已成功退出,正在跳转…</string>
<string name="cache_cleared">缓存已成功清除</string>

<string name="warning">警告!</string>
<string name="logout_confirmation">确定要退出登录吗?</string>
Expand Down Expand Up @@ -227,9 +228,9 @@
<string name="star_repos_hint">在 GitHub 上收藏有可安装版本的仓库以在此查看</string>
<string name="last_synced">上次同步</string>
<string name="just_now">刚刚</string>
<string name="minutes_ago">%d 分钟前</string>
<string name="hours_ago">%d 小时前</string>
<string name="days_ago">%d 天前</string>
<string name="minutes_ago">%1$d 分钟前</string>
<string name="hours_ago">%1$d 小时前</string>
<string name="days_ago">%1$d 天前</string>
<string name="dismiss">关闭</string>
<string name="sync_starred_failed">同步收藏的仓库失败</string>

Expand Down Expand Up @@ -418,4 +419,8 @@
<string name="open_in_app">在应用中打开</string>
<string name="no_github_link_in_clipboard">剪贴板中未找到 GitHub 链接</string>

<string name="storage">存储</string>
<string name="clear_cache">清除缓存</string>
<string name="current_size">当前大小:</string>
<string name="clear">清除</string>
</resources>
Loading