From 63e71624f931eef45b65ead6ec1a1b85727904b5 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 30 May 2025 23:48:14 -0400 Subject: [PATCH] Better error message for file deletion failures (#2298) --- assets/translations/ar.json | 1 + assets/translations/bs.json | 1 + assets/translations/ca.json | 1 + assets/translations/cs.json | 1 + assets/translations/da.json | 1 + assets/translations/de.json | 1 + assets/translations/en-EO.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/id.json | 1 + assets/translations/it.json | 1 + assets/translations/ja.json | 3 ++- assets/translations/ko.json | 1 + assets/translations/nl.json | 1 + assets/translations/pl.json | 1 + assets/translations/pt-BR.json | 1 + assets/translations/pt.json | 1 + assets/translations/ru.json | 1 + assets/translations/sv.json | 1 + assets/translations/tr.json | 1 + assets/translations/uk.json | 1 + assets/translations/vi.json | 1 + assets/translations/zh-Hant-TW.json | 1 + assets/translations/zh.json | 1 + lib/providers/apps_provider.dart | 20 ++++++++++++++------ 28 files changed, 42 insertions(+), 7 deletions(-) diff --git a/assets/translations/ar.json b/assets/translations/ar.json index b310e98..0b91225 100644 --- a/assets/translations/ar.json +++ b/assets/translations/ar.json @@ -329,6 +329,7 @@ "welcome": "مرحبًا", "documentationLinksNote": "تحتوي صفحة Obtainium على GitHub المرتبطة أدناه على روابط لمقاطع فيديو، مقالات، مناقشات وموارد أخرى ستساعدك على فهم كيفية استخدام التطبيق.", "batteryOptimizationNote": "لاحظ أن التنزيلات في الخلفية قد تعمل بشكل أكثر موثوقية إذا قمت بتعطيل تحسينات بطارية النظام لـ Obtainium.", + "fileDeletionError": "فشل حذف الملف (حاول حذفه يدويًا ثم حاول مرة أخرى): \"{}\"", "removeAppQuestion": { "one": "إزالة التطبيق؟", "other": "إزالة التطبيقات؟" diff --git a/assets/translations/bs.json b/assets/translations/bs.json index 9ccd50c..cf9891e 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -329,6 +329,7 @@ "welcome": "Welcome", "documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "Želite li ukloniti aplikaciju?", "other": "Želite li ukloniti aplikacije?" diff --git a/assets/translations/ca.json b/assets/translations/ca.json index 5b91004..14933d9 100644 --- a/assets/translations/ca.json +++ b/assets/translations/ca.json @@ -329,6 +329,7 @@ "welcome": "Benvinguda", "documentationLinksNote": "La pàgina GitHub d'Obtainium enllaçada a sota conté enllaços a vídeos, articles, debats i altres recursos que t'ajudaran a entendre com usar l'aplicació.", "batteryOptimizationNote": "Tingues present que les descàrregues en segon pla funcionaran millor si inhabilites l'optimització de bateria per a Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "¿Suprimeixo l'aplicació?", "other": "¿Suprimeixo les aplicacions?" diff --git a/assets/translations/cs.json b/assets/translations/cs.json index ee1515c..8011feb 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -329,6 +329,7 @@ "welcome": "Vítejte na", "documentationLinksNote": "Níže odkazovaná stránka Obtainium GitHub obsahuje odkazy na videa, články, diskuse a další zdroje, které vám pomohou pochopit, jak aplikaci používat.", "batteryOptimizationNote": "Všimněte si, že stahování na pozadí může fungovat spolehlivěji, pokud vypnete optimalizaci baterie operačního systému pro Obtainium.", + "fileDeletionError": "Soubor se nepodařilo odstranit (zkuste jej odstranit ručně a pak to zkuste znovu): \"{}\"", "removeAppQuestion": { "one": "Odstranit Apku?", "other": "Odstranit Apky?" diff --git a/assets/translations/da.json b/assets/translations/da.json index 34772bd..e9b40b6 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -329,6 +329,7 @@ "welcome": "Velkommen", "documentationLinksNote": "Obtainiums GitHub-side, som der linkes til nedenfor, indeholder links til videoer, artikler, diskussioner og andre ressourcer, som kan hjælpe dig med at forstå, hvordan du bruger appen.", "batteryOptimizationNote": "Bemærk, at baggrundsdownloads kan fungere mere pålideligt, hvis du deaktiverer OS-batterioptimering for Obtainium.", + "fileDeletionError": "Kunne ikke slette filen (prøv at slette den manuelt og prøv igen): \"{}\"", "removeAppQuestion": { "one": "Fjern app?", "other": "Fjern apps?" diff --git a/assets/translations/de.json b/assets/translations/de.json index 337329f..f95e98f 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -329,6 +329,7 @@ "welcome": "Willkommen", "documentationLinksNote": "Die unten verlinkte GitHub-Seite von Obtainium enthält Links zu Videos, Artikeln, Diskussionen und anderen Ressourcen, die Ihnen helfen werden, die Verwendung der App zu verstehen.", "batteryOptimizationNote": "Beachten Sie, dass Downloads im Hintergrund möglicherweise zuverlässiger funktionieren, wenn Sie die Batterieoptimierung des Betriebssystems für Obtainium deaktivieren.", + "fileDeletionError": "Die Datei konnte nicht gelöscht werden (versuchen Sie, sie manuell zu löschen und versuchen Sie es dann erneut): \"{}\"", "removeAppQuestion": { "one": "App entfernen?", "other": "Apps entfernen?" diff --git a/assets/translations/en-EO.json b/assets/translations/en-EO.json index a298994..2fe0dfa 100644 --- a/assets/translations/en-EO.json +++ b/assets/translations/en-EO.json @@ -329,6 +329,7 @@ "welcome": "Welcome", "documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "Forigi la aplikaĵon?", "other": "Forigi la aplikaĵojn?" diff --git a/assets/translations/en.json b/assets/translations/en.json index 5473a27..7dde0a2 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -329,6 +329,7 @@ "welcome": "Welcome", "documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "Remove app?", "other": "Remove apps?" diff --git a/assets/translations/es.json b/assets/translations/es.json index d9687b7..2e89168 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -329,6 +329,7 @@ "welcome": "Bienvenido", "documentationLinksNote": "La página GitHub de Obtainium enlazada a continuación contiene enlaces a vídeos, artículos, debates y otros recursos que te ayudarán a entender cómo utilizar la aplicación.", "batteryOptimizationNote": "Ten en cuenta que las descargas en segundo plano pueden funcionar de forma más fiable si desactivas las optimizaciones de batería del sistema operativo para Obtainium.", + "fileDeletionError": "No se ha podido eliminar el archivo (intente eliminarlo manualmente y vuelva a intentarlo): \"{}\"", "removeAppQuestion": { "one": "¿Eliminar aplicación?", "other": "¿Eliminar aplicaciones?" diff --git a/assets/translations/fa.json b/assets/translations/fa.json index b4a7c85..22d7cd3 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -329,6 +329,7 @@ "welcome": "Welcome", "documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "برنامه حذف شود؟", "other": "برنامه ها حذف شوند؟" diff --git a/assets/translations/fr.json b/assets/translations/fr.json index f1e681b..8dc1de8 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -329,6 +329,7 @@ "welcome": "Bienvenue", "documentationLinksNote": "La page GitHub d'Obtainium, dont le lien figure ci-dessous, contient des liens vers des vidéos, des articles, des discussions et d'autres ressources qui vous aideront à comprendre comment utiliser l'application.", "batteryOptimizationNote": "Notez que les téléchargements en arrière-plan peuvent fonctionner de manière plus fiable si vous désactivez les optimisations de la batterie du système d'exploitation pour Obtainium.", + "fileDeletionError": "Échec de la suppression du fichier (essayez de le supprimer manuellement puis réessayez) : \"{}\"", "removeAppQuestion": { "one": "Supprimer l'application ?", "other": "Supprimer les applications ?" diff --git a/assets/translations/hu.json b/assets/translations/hu.json index aff5aa7..4683a54 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -329,6 +329,7 @@ "welcome": "Üdvözöljük!", "documentationLinksNote": "Az alábbi hivatkozás az Obtainium GitHub oldalára vezet, amely további videók, cikkek, beszélgetések és egyéb források hivatkozásait tartalmazza, amelyek segítenek megérteni az alkalmazás használatát.", "batteryOptimizationNote": "Megjegyzés: A háttérfrissítések megbízhatóbban működhetnek, ha kikapcsolja a rendszer akkumulátor-optimalizálását az Obtainium számára.", + "fileDeletionError": "Nem sikerült törölni a fájlt (próbálja meg kézzel törölni, majd próbálja meg újra): \"{}\"", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", "other": "Eltávolítja az alkalmazásokat?" diff --git a/assets/translations/id.json b/assets/translations/id.json index c4263fe..a4669de 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -329,6 +329,7 @@ "welcome": "Selamat datang.", "documentationLinksNote": "Halaman GitHub Obtainium yang ditautkan di bawah ini berisi tautan ke video, artikel, diskusi, dan sumber daya lain yang akan membantu Anda memahami cara menggunakan aplikasi.", "batteryOptimizationNote": "Perhatikan bahwa unduhan latar belakang dapat bekerja lebih andal jika Anda menonaktifkan optimasi baterai OS untuk Obtainium.", + "fileDeletionError": "Gagal menghapus file (coba hapus secara manual, lalu coba lagi): \"{}\"", "removeAppQuestion": { "one": "Hapus aplikasi?", "other": "Hapus aplikasi?" diff --git a/assets/translations/it.json b/assets/translations/it.json index 38f3d24..32b46dd 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -329,6 +329,7 @@ "welcome": "Benvenuti", "documentationLinksNote": "La pagina GitHub di Obtainium collegata qui sotto contiene collegamenti a video, articoli, discussioni e altre risorse che vi aiuteranno a capire come utilizzare l'applicazione.", "batteryOptimizationNote": "Si noti che i download in background potrebbero funzionare in modo più affidabile se si disabilita l'ottimizzazione della batteria del sistema operativo per Obtainium.", + "fileDeletionError": "Errore nell'eliminazione del file (provare a cancellarlo manualmente e poi riprovare): \"{}\"", "removeAppQuestion": { "one": "Rimuovere l'app?", "other": "Rimuovere le app?" diff --git a/assets/translations/ja.json b/assets/translations/ja.json index b121104..d8cb150 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -321,7 +321,7 @@ "useFirstApkOfVersion": "複数のAPKから最初のAPKを自動選択する", "refreshBeforeDownload": "ダウンロード前にアプリの詳細を更新する", "tencentAppStore": "Tencent App Store", - "coolApk": "CoolApk", + "coolApk": "クールApk", "vivoAppStore": "vivo App Store (CN)", "name": "名称", "smartname": "名前(スマート)", @@ -329,6 +329,7 @@ "welcome": "ようこそ", "documentationLinksNote": "以下のリンクにあるObtainium GitHubページには、ビデオ、記事、ディスカッション、その他のリソースへのリンクがあり、アプリの使い方を理解するのに役立ちます。", "batteryOptimizationNote": "ObtainiumのOSバッテリー最適化を無効にすると、バックグラウンドダウンロードがより確実に動作するようになります。", + "fileDeletionError": "ファイルの削除に失敗しました(手動で削除してから再試行してください):\"{}\"", "removeAppQuestion": { "one": "アプリを削除しますか?", "other": "アプリを削除しますか?" diff --git a/assets/translations/ko.json b/assets/translations/ko.json index 16d9b29..8d9567c 100644 --- a/assets/translations/ko.json +++ b/assets/translations/ko.json @@ -329,6 +329,7 @@ "welcome": "환영", "documentationLinksNote": "아래에 링크된 Obtainium 깃허브 페이지에는 앱 사용 방법을 이해하는 데 도움이 되는 동영상, 기사, 토론 및 기타 리소스에 대한 링크가 포함되어 있습니다.", "batteryOptimizationNote": "Obtainium의 OS 배터리 최적화를 비활성화하면 백그라운드 다운로드가 더 안정적으로 작동할 수 있습니다.", + "fileDeletionError": "파일을 삭제하지 못했습니다(수동으로 삭제한 후 다시 시도하세요): \"{}\"", "removeAppQuestion": { "one": "앱을 제거하시겠습니까?", "other": "앱을 제거하시겠습니까?" diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 6d925b8..c932eff 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -329,6 +329,7 @@ "welcome": "Welkom", "documentationLinksNote": "De GitHub pagina van Obtainium waarnaar hieronder wordt gelinkt bevat links naar video's, artikelen, discussies en andere bronnen die je zullen helpen begrijpen hoe je de app kunt gebruiken.", "batteryOptimizationNote": "Merk op dat downloads op de achtergrond mogelijk betrouwbaarder werken als je de batterijoptimalisatie van het besturingssysteem voor Obtainium uitschakelt.", + "fileDeletionError": "Bestand is niet verwijderd (probeer het handmatig te verwijderen en probeer het opnieuw): \"{}\"", "removeAppQuestion": { "one": "App verwijderen?", "other": "Apps verwijderen?" diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 9bfd668..fdb04c3 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -329,6 +329,7 @@ "welcome": "Witamy", "documentationLinksNote": "Strona Obtainium GitHub, do której link znajduje się poniżej, zawiera linki do filmów, artykułów, dyskusji i innych zasobów, które pomogą ci zrozumieć, jak korzystać z aplikacji.", "batteryOptimizationNote": "Należy pamiętać, że pobieranie w tle może działać bardziej niezawodnie po wyłączeniu optymalizacji baterii systemu operacyjnego dla Obtainium.", + "fileDeletionError": "Nie udało się usunąć pliku (spróbuj usunąć go ręcznie, a następnie spróbuj ponownie): \"{}\"", "removeAppQuestion": { "one": "Usunąć aplikację?", "few": "Usunąć aplikacje?", diff --git a/assets/translations/pt-BR.json b/assets/translations/pt-BR.json index df9fb0d..7ea3ed0 100644 --- a/assets/translations/pt-BR.json +++ b/assets/translations/pt-BR.json @@ -329,6 +329,7 @@ "welcome": "Boas vindas", "documentationLinksNote": "A página do Obtainium no GitHub visível abaixo contém links de vídeos, artigos, discussões, e outros recursos que podem te ajudar ao usar o app.", "batteryOptimizationNote": "Observe que os downloads em segundo plano podem funcionar de forma mais confiável se você desativar as otimizações de bateria do sistema operacional para o Obtainium.", + "fileDeletionError": "Falha ao excluir o arquivo (tente excluí-lo manualmente e tente novamente): \"{}\"", "removeAppQuestion": { "one": "Remover app?", "other": "Remover apps?" diff --git a/assets/translations/pt.json b/assets/translations/pt.json index 4172ca5..b9daf09 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -329,6 +329,7 @@ "welcome": "Bem-vindo", "documentationLinksNote": "A página do Obtainium no GitHub com a ligação abaixo contém ligações para vídeos, artigos, discussões e outros recursos que o ajudarão a compreender como utilizar a aplicação.", "batteryOptimizationNote": "Note que os downloads em segundo plano podem funcionar de forma mais fiável se desativar as optimizações da bateria do SO para o Obtainium.", + "fileDeletionError": "Falha ao eliminar o ficheiro (tente eliminá-lo manualmente e depois tente novamente): \"{}\"", "removeAppQuestion": { "one": "Remover aplicativo?", "other": "Remover aplicativos?" diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 60e5e44..881fe7c 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -329,6 +329,7 @@ "welcome": "Добро пожаловать", "documentationLinksNote": "На странице Obtainium GitHub, ссылка на которую приведена ниже, содержатся ссылки на видео, статьи, обсуждения и другие ресурсы, которые помогут вам понять, как пользоваться приложением.", "batteryOptimizationNote": "Обратите внимание, что фоновая загрузка может работать более надежно, если отключить оптимизацию батареи ОС для Obtainium.", + "fileDeletionError": "Не удалось удалить файл (попробуйте удалить его вручную, а затем повторите попытку): \"{}\"", "removeAppQuestion": { "one": "Удалить приложение?", "other": "Удалить приложения?" diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 646c385..08d43cb 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -329,6 +329,7 @@ "welcome": "Välkommen", "documentationLinksNote": "Obtainium GitHub-sidan som länkas nedan innehåller länkar till videor, artiklar, diskussioner och andra resurser som hjälper dig att förstå hur du använder appen.", "batteryOptimizationNote": "Observera att nedladdningar i bakgrunden kan fungera mer tillförlitligt om du inaktiverar OS-batterioptimeringar för Obtainium.", + "fileDeletionError": "Misslyckades med att radera filen (försök radera den manuellt och försök sedan igen): \"{}\"", "removeAppQuestion": { "one": "Ta Bort App?", "other": "Ta Bort Appar?" diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 324e99b..fd9ae84 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -329,6 +329,7 @@ "welcome": "Hoş geldiniz", "documentationLinksNote": "Aşağıda bağlantısı verilen Obtainium GitHub sayfası, uygulamayı nasıl kullanacağınızı anlamanıza yardımcı olacak videolara, makalelere, tartışmalara ve diğer kaynaklara bağlantılar içerir.", "batteryOptimizationNote": "Obtainium için işletim sistemi pil optimizasyonlarını devre dışı bırakırsanız arka planda indirmelerin daha güvenilir şekilde çalışabileceğini unutmayın.", + "fileDeletionError": "Dosya silinemedi (elle silmeyi deneyin ve sonra tekrar deneyin): \"{}\"", "removeAppQuestion": { "one": "Uygulamayı Kaldır?", "other": "Uygulamaları Kaldır?" diff --git a/assets/translations/uk.json b/assets/translations/uk.json index 7a0b3ed..942dcc4 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -329,6 +329,7 @@ "welcome": "Ласкаво просимо.", "documentationLinksNote": "Сторінка Obtainium на GitHub, посилання на яку наведено нижче, містить посилання на відео, статті, дискусії та інші ресурси, які допоможуть вам зрозуміти, як користуватися додатком.", "batteryOptimizationNote": "Зауважте, що фонові завантаження можуть працювати надійніше, якщо ви вимкнете оптимізацію батареї ОС для Obtainium.", + "fileDeletionError": "Не вдалося видалити файл (спробуйте видалити його вручну, а потім спробуйте ще раз): \"{}\"", "removeAppQuestion": { "one": "Видалити застосунок?", "other": "Видалити застосунки?" diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 7beaf56..412c5c1 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -329,6 +329,7 @@ "welcome": "Welcome", "documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "Gỡ ứng dụng?", "other": "Gỡ ứng dụng?" diff --git a/assets/translations/zh-Hant-TW.json b/assets/translations/zh-Hant-TW.json index 832855e..8088303 100644 --- a/assets/translations/zh-Hant-TW.json +++ b/assets/translations/zh-Hant-TW.json @@ -329,6 +329,7 @@ "welcome": "歡迎", "documentationLinksNote": "下方連結的 Obtainium GitHub 頁面包含影片、文章、討論及其他資源,能幫助你瞭解如何使用這款應用程式。", "batteryOptimizationNote": "Note that background downloads may work more reliably if you disable OS battery optimizations for Obtainium.", + "fileDeletionError": "Failed to delete file (try deleting it manually then try again): \"{}\"", "removeAppQuestion": { "one": "移除應用程式?", "other": "移除應用程式?" diff --git a/assets/translations/zh.json b/assets/translations/zh.json index f8789a9..015f2ca 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -329,6 +329,7 @@ "welcome": "欢迎光临", "documentationLinksNote": "下面链接的 Obtainium GitHub 页面包含视频、文章、讨论和其他资源的链接,可帮助您了解如何使用该应用程序。", "batteryOptimizationNote": "请注意,如果为 Obtainium 禁用操作系统电池优化功能,后台下载可能会更稳定。", + "fileDeletionError": "删除文件失败(尝试手动删除,然后再试一次):\"{}\"", "removeAppQuestion": { "one": "是否删除应用?", "other": "是否删除应用?" diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index 172b6ff..be14f75 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -234,6 +234,14 @@ Future checkETagHeader(String url, .toString(); } +deleteFile(File file) { + try { + file.deleteSync(recursive: true); + } on PathAccessException catch (e) { + throw ObtainiumError(tr('fileDeletionError', args: [e.path ?? tr('unknown')])); + } +} + Future downloadFile(String url, String fileName, bool fileNameHasExt, Function? onProgress, String destDir, {bool useExisting = true, @@ -348,7 +356,7 @@ Future downloadFile(String url, String fileName, bool fileNameHasExt, reqHeaders.addAll({'range': 'bytes=$rangeStart-${fullContentLength - 1}'}); sink = tempDownloadedFile.openWrite(mode: FileMode.writeOnlyAppend); } else if (tempDownloadedFile.existsSync()) { - tempDownloadedFile.deleteSync(recursive: true); + deleteFile(tempDownloadedFile); } var responseWithClient = await sourceRequestStreamResponse('GET', url, reqHeaders, {}); @@ -404,7 +412,7 @@ Future downloadFile(String url, String fileName, bool fileNameHasExt, onProgress(progress); } if (response.statusCode < 200 || response.statusCode > 299) { - tempDownloadedFile.deleteSync(recursive: true); + deleteFile(tempDownloadedFile); throw response.reasonPhrase; } if (tempDownloadedFile.existsSync()) { @@ -797,9 +805,9 @@ class AppsProvider with ChangeNotifier { await pm.getPackageArchiveInfo(archiveFilePath: file.file.path); if (newInfo == null) { try { - file.file.deleteSync(recursive: true); + deleteFile(file.file); for (var a in additionalAPKs) { - a.file.deleteSync(recursive: true); + deleteFile(a.file); } } catch (e) { // @@ -839,7 +847,7 @@ class AppsProvider with ChangeNotifier { bool installed = false; if (code != null && code != 0 && code != 3) { try { - file.file.deleteSync(recursive: true); + deleteFile(file.file); } catch (e) { // } finally { @@ -1511,7 +1519,7 @@ class AppsProvider with ChangeNotifier { await Future.wait(appIds.map((appId) async { File file = File('${(await getAppsDir()).path}/$appId.json'); if (file.existsSync()) { - file.deleteSync(recursive: true); + deleteFile(file); } apkFiles .where(