Skip to content

Commit

Permalink
Add offlineOperations to the adapter
Browse files Browse the repository at this point in the history
Signed-off-by: alperozturk <alper_ozturk@proton.me>
  • Loading branch information
alperozturk96 committed Sep 3, 2024
1 parent 51c30ec commit 6c2df1c
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import com.nextcloud.client.database.entity.OfflineOperationEntity
import com.nextcloud.model.OfflineOperationType
import com.owncloud.android.datamodel.FileDataStorageManager
import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.utils.MimeType
import com.owncloud.android.utils.MimeTypeUtil

class OfflineOperationsRepository(
private val fileDataStorageManager: FileDataStorageManager
Expand Down Expand Up @@ -94,4 +96,15 @@ class OfflineOperationsRepository(
}
.forEach { dao.update(it) }
}

override fun convertToOCFiles(): List<OCFile> =
dao.getAll().map { entity ->
OCFile(entity.path).apply {
mimeType = if (entity.type is OfflineOperationType.CreateFolder) {
MimeType.DIRECTORY
} else {
MimeTypeUtil.getMimeTypeFromPath(entity.path)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ interface OfflineOperationsRepositoryType {
fun getAllSubEntities(fileId: Long): List<OfflineOperationEntity>
fun deleteOperation(file: OCFile)
fun updateNextOperations(operation: OfflineOperationEntity)
fun convertToOCFiles(): List<OCFile>
}
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public class FileDataStorageManager {
public final OfflineOperationDao offlineOperationDao = NextcloudDatabase.getInstance(MainApp.getAppContext()).offlineOperationDao();
private final FileDao fileDao = NextcloudDatabase.getInstance(MainApp.getAppContext()).fileDao();
private final Gson gson = new Gson();
private final OfflineOperationsRepositoryType offlineOperationsRepository;
public final OfflineOperationsRepositoryType offlineOperationsRepository;

public FileDataStorageManager(User user, ContentResolver contentResolver) {
this.contentProviderClient = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,14 @@ public void swapDirectory(
mergeOCFilesForLivePhoto();
mFilesAll.clear();
mFilesAll.addAll(mFiles);

List<OCFile> offlineOperations = mStorageManager.offlineOperationsRepository.convertToOCFiles();
for (OCFile offlineFile : offlineOperations) {
if (!mFilesAll.contains(offlineFile)) {
mFilesAll.add(offlineFile);
}
}

currentDirectory = directory;
} else {
mFiles.clear();
Expand Down

0 comments on commit 6c2df1c

Please sign in to comment.