Skip to content

Commit

Permalink
add FileDataStorageManager extension
Browse files Browse the repository at this point in the history
Signed-off-by: alperozturk <[email protected]>
  • Loading branch information
alperozturk96 committed Feb 12, 2025
1 parent 3f3048b commit 7f11d08
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 26 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2025 Alper Ozturk <[email protected]>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/

package com.nextcloud.utils.extensions

import com.nextcloud.model.OCFileFilterType
import com.owncloud.android.datamodel.FileDataStorageManager
import com.owncloud.android.datamodel.OCFile

fun FileDataStorageManager.filter(file: OCFile, filterType: OCFileFilterType): List<OCFile> =
if (!file.isRootDirectory) {
getFolderContent(file, false)
} else {
getAllFiles().filter { ocFile ->
when (filterType) {
OCFileFilterType.Shared -> ocFile.isShared
OCFileFilterType.Favorite -> ocFile.isFavorite
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
import com.nextcloud.client.database.entity.OfflineOperationEntity;
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepository;
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepositoryType;
import com.nextcloud.model.OCFileFilterType;
import com.nextcloud.model.OfflineOperationRawType;
import com.nextcloud.model.OfflineOperationType;
import com.nextcloud.utils.date.DateFormatPattern;
Expand Down Expand Up @@ -2763,27 +2762,4 @@ public boolean isPartOfInternalTwoWaySync(OCFile file) {
}
return false;
}

public List<OCFile> filter(OCFile file, OCFileFilterType filterType) {
if (!file.isRootDirectory()) {
return getFolderContent(file,false);
}

final List<OCFile> result = new ArrayList<>();
final List<OCFile> allFiles = getAllFiles();
for (OCFile ocFile: allFiles) {
boolean condition = false;
if (filterType == OCFileFilterType.Shared) {
condition = ocFile.isShared();
} else if (filterType == OCFileFilterType.Favorite) {
condition = ocFile.isFavorite();
}

if (condition) {
result.add(ocFile);
}
}

return result;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import com.nextcloud.client.preferences.AppPreferences;
import com.nextcloud.model.OCFileFilterType;
import com.nextcloud.model.OfflineOperationType;
import com.nextcloud.utils.extensions.FileDataStorageManagerExtensionsKt;
import com.nextcloud.utils.extensions.OCFileExtensionsKt;
import com.nextcloud.utils.extensions.ViewExtensionsKt;
import com.nextcloud.utils.mdm.MDMConfig;
Expand Down Expand Up @@ -824,10 +825,10 @@ public void swapDirectory(

// TODO refactor add DrawerState instead of using static menuItemId
if (DrawerActivity.menuItemId == R.id.nav_shared && currentDirectory != null) {
newList = updatedStorageManager.filter(currentDirectory, OCFileFilterType.Shared);
newList = FileDataStorageManagerExtensionsKt.filter(updatedStorageManager, currentDirectory, OCFileFilterType.Shared);
}
if (DrawerActivity.menuItemId == R.id.nav_favorites && currentDirectory != null) {
newList = updatedStorageManager.filter(currentDirectory, OCFileFilterType.Favorite);
newList = FileDataStorageManagerExtensionsKt.filter(updatedStorageManager, currentDirectory, OCFileFilterType.Favorite);
}

sortOrder = preferences.getSortOrderByFolder(directory);
Expand Down

0 comments on commit 7f11d08

Please sign in to comment.