Refactoring

This commit is contained in:
M66B 2022-12-27 15:22:27 +01:00
parent d53b694e94
commit b97c4fd9eb
2 changed files with 19 additions and 26 deletions

View File

@ -1696,11 +1696,11 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
@Override @Override
protected List<File> onExecute(Context context, Bundle args) { protected List<File> onExecute(Context context, Bundle args) {
List<File> files = new ArrayList<>(); List<File> files = new ArrayList<>();
files.addAll(getFiles(context.getFilesDir(), MIN_FILE_SIZE)); files.addAll(Helper.listFiles(context.getFilesDir(), MIN_FILE_SIZE));
files.addAll(getFiles(context.getCacheDir(), MIN_FILE_SIZE)); files.addAll(Helper.listFiles(context.getCacheDir(), MIN_FILE_SIZE));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
files.addAll(getFiles(context.getDataDir(), MIN_FILE_SIZE)); files.addAll(Helper.listFiles(context.getDataDir(), MIN_FILE_SIZE));
files.addAll(getFiles(Helper.getExternalFilesDir(context), MIN_FILE_SIZE)); files.addAll(Helper.listFiles(Helper.getExternalFilesDir(context), MIN_FILE_SIZE));
Collections.sort(files, new Comparator<File>() { Collections.sort(files, new Comparator<File>() {
@Override @Override
@ -1708,20 +1708,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
return -Long.compare(f1.length(), f2.length()); return -Long.compare(f1.length(), f2.length());
} }
}); });
return files;
}
private List<File> getFiles(File dir, long minSize) {
List<File> files = new ArrayList<>();
if (dir != null) {
File[] listed = dir.listFiles();
if (listed != null)
for (File file : listed)
if (file.isDirectory())
files.addAll(getFiles(file, minSize));
else if (file.length() > minSize)
files.add(file);
}
return files; return files;
} }

View File

@ -2487,15 +2487,21 @@ public class Helper {
} }
static List<File> listFiles(File dir) { static List<File> listFiles(File dir) {
List<File> result = new ArrayList<>(); return listFiles(dir, null);
File[] files = dir.listFiles(); }
if (files != null)
for (File file : files) static List<File> listFiles(File dir, Long minSize) {
List<File> files = new ArrayList<>();
if (dir != null) {
File[] listed = dir.listFiles();
if (listed != null)
for (File file : listed)
if (file.isDirectory()) if (file.isDirectory())
result.addAll(listFiles(file)); files.addAll(listFiles(file, minSize));
else else if (minSize == null || file.length() > minSize)
result.add(file); files.add(file);
return result; }
return files;
} }
static long getAvailableStorageSpace() { static long getAvailableStorageSpace() {