From 272a0e3f27fa5b18ad72fb3c3dc348f4952cc32c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 9 Apr 2019 14:37:04 +0200 Subject: [PATCH] fix crash when there is no cache when DeleteCacheService runs java.lang.NoSuchMethodError: No virtual method toPath()Ljava/nio/file/Path; in class Ljava/io/File; or its super classes (declaration of 'java.io.File' appears in /system/framework/core-oj.jar) at org.apache.commons.io.FileUtils.isSymlink(FileUtils.java:3107) at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1616) at org.fdroid.fdroid.DeleteCacheService.onHandleWork(DeleteCacheService.java:30) at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:391) at android.support.v4.app.JobIntentService$CommandProcessor.doInBackground(JobIntentService.java:382) at android.os.AsyncTask$2.call(AsyncTask.java:304) at java.util.concurrent.FutureTask.run(FutureTask.java:237) --- app/src/main/java/org/fdroid/fdroid/DeleteCacheService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fdroid/fdroid/DeleteCacheService.java b/app/src/main/java/org/fdroid/fdroid/DeleteCacheService.java index b526cc2ed..9e05f5d89 100644 --- a/app/src/main/java/org/fdroid/fdroid/DeleteCacheService.java +++ b/app/src/main/java/org/fdroid/fdroid/DeleteCacheService.java @@ -27,7 +27,10 @@ public class DeleteCacheService extends JobIntentService { Process.setThreadPriority(Process.THREAD_PRIORITY_LOWEST); Log.w(TAG, "Deleting all cached contents!"); try { - FileUtils.deleteDirectory(getCacheDir()); + File cacheDir = getCacheDir(); + if (cacheDir != null) { + FileUtils.deleteDirectory(cacheDir); + } for (File dir : ContextCompat.getExternalCacheDirs(this)) { FileUtils.deleteDirectory(dir); }