- 修复TV清空缓存闪退bug (by okjack)

pull/87/merge
okjackcaptain 3 years ago
parent daebf40aa9
commit 837de7ce5d
  1. 8
      app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java
  2. 32
      app/src/main/java/com/github/tvbox/osc/util/FileUtils.java

@ -668,7 +668,13 @@ public class ModelSettingFragment extends BaseLazyFragment {
return;
}
try {
FileUtils.cleanDirectory(cacheDir);
new Thread(() -> {
try {
FileUtils.cleanDirectory(cacheDir);
} catch (Exception e) {
e.printStackTrace();
}
}).start();
Toast.makeText(getContext(), "缓存已清空", Toast.LENGTH_LONG).show();
return;
} catch (Exception e) {

@ -133,8 +133,36 @@ public class FileUtils {
return getCacheDir().getAbsolutePath();
}
public static void cleanDirectory(File dir) throws IOException {
org.apache.commons.io.FileUtils.cleanDirectory(dir);
public static void cleanDirectory(File dir) {
if (!dir.exists()) return;
File[] files = dir.listFiles();
if (files == null || files.length == 0) return;
for(File one : files) {
try {
deleteFile(one);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void deleteFile(File file) {
if (!file.exists()) return;
if (file.isFile()) {
if (file.canWrite()) file.delete();
return;
}
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files == null || files.length == 0) {
if (file.canWrite()) file.delete();
return;
}
for(File one : files) {
deleteFile(one);
}
}
return;
}
public static void cleanPlayerCache() {

Loading…
Cancel
Save