|
@@ -180,6 +180,29 @@ public class FileDataStorageManager {
|
|
return fileDao.getFileByEncryptedRemotePath(path, user.getAccountName()) != null;
|
|
return fileDao.getFileByEncryptedRemotePath(path, user.getAccountName()) != null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public List<OCFile> getAllFilesRecursivelyInsideFolder(OCFile file) {
|
|
|
|
+ ArrayList<OCFile> result = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ if (file == null || !file.fileExists()) {
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!file.isFolder()) {
|
|
|
|
+ result.add(file);
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<OCFile> filesInsideFolder = getFolderContent(file.getFileId(), false);
|
|
|
|
+ for (OCFile item: filesInsideFolder) {
|
|
|
|
+ if (!item.isFolder()) {
|
|
|
|
+ result.add(item);
|
|
|
|
+ } else {
|
|
|
|
+ result.addAll(getAllFilesRecursivelyInsideFolder(item));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
|
|
public List<OCFile> getFolderContent(OCFile ocFile, boolean onlyOnDevice) {
|
|
public List<OCFile> getFolderContent(OCFile ocFile, boolean onlyOnDevice) {
|
|
if (ocFile != null && ocFile.isFolder() && ocFile.fileExists()) {
|
|
if (ocFile != null && ocFile.isFolder() && ocFile.fileExists()) {
|
|
@@ -189,7 +212,6 @@ public class FileDataStorageManager {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
public List<OCFile> getFolderImages(OCFile folder, boolean onlyOnDevice) {
|
|
public List<OCFile> getFolderImages(OCFile folder, boolean onlyOnDevice) {
|
|
List<OCFile> imageList = new ArrayList<>();
|
|
List<OCFile> imageList = new ArrayList<>();
|
|
|
|
|