Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -875,7 +875,9 @@ public void swapDirectory(
public void updateAdapter(List<OCFile> newFiles, OCFile directory) {
Log_OC.d(TAG, "updating the adapter");

mFiles = new ArrayList<>(newFiles);
mFiles.clear();
mFiles.addAll(newFiles);

mFilesAll.clear();
mFilesAll.addAll(mFiles);

Expand Down Expand Up @@ -982,12 +984,6 @@ public void insertFile(@Nullable OCFile file) {
}
}

public void addVirtualFile(@NonNull OCFile file) {
if (mFiles.isEmpty() || !mFiles.contains(file)) {
mFiles.add(file);
}
}

@Override
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
super.onViewRecycled(holder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ class OCFileListSearchTask(
)
} else {
parseAndSaveVirtuals(result.resultData ?: listOf(), fragment)
fragment.adapter.files
}

val sortedNewList = sortSearchData(newList, searchType, null, setNewSortOrder = {
Expand Down Expand Up @@ -193,9 +192,9 @@ class OCFileListSearchTask(
}

@Suppress("DEPRECATION")
private suspend fun parseAndSaveVirtuals(data: List<Any>, fragment: OCFileListFragment) =
private suspend fun parseAndSaveVirtuals(data: List<Any>, fragment: OCFileListFragment): List<OCFile> =
withContext(Dispatchers.IO) {
val activity = fragment.activity ?: return@withContext
val activity = fragment.activity ?: return@withContext emptyList()
val now = System.currentTimeMillis()

val (virtualType, onlyMedia) = when (fragment.currentSearchType) {
Expand All @@ -205,6 +204,7 @@ class OCFileListSearchTask(
}

val contentValuesList = ArrayList<ContentValues>()
val resultFiles = ArrayList<OCFile>()

for (obj in data) {
try {
Expand All @@ -215,37 +215,28 @@ class OCFileListSearchTask(
ocFile = handleEncryptionIfNeeded(ocFile, storageManager, activity)

if (fragment.currentSearchType != SearchType.GALLERY_SEARCH && ocFile.isFolder) {
RefreshFolderOperation(
ocFile,
now,
true,
false,
storageManager,
currentUser,
activity
).execute(currentUser, activity)
RefreshFolderOperation(ocFile, now, true, false, storageManager, currentUser, activity)
.execute(currentUser, activity)
}

val isMediaAllowed =
!onlyMedia || MimeTypeUtil.isImage(ocFile) || MimeTypeUtil.isVideo(ocFile)

val isMediaAllowed = !onlyMedia || MimeTypeUtil.isImage(ocFile) || MimeTypeUtil.isVideo(ocFile)
if (isMediaAllowed) {
fragment.adapter.addVirtualFile(ocFile)
resultFiles.add(ocFile)
}

val cv = ContentValues().apply {
contentValuesList.add(ContentValues().apply {
put(ProviderMeta.ProviderTableMeta.VIRTUAL_TYPE, virtualType.toString())
put(ProviderMeta.ProviderTableMeta.VIRTUAL_OCFILE_ID, ocFile.fileId)
}
contentValuesList.add(cv)
})
} catch (e: Exception) {
Log_OC.e(TAG, "parseAndSaveVirtuals():", e)
}
}

// Save timestamp + virtual entries
preferences.setPhotoSearchTimestamp(System.currentTimeMillis())
storageManager.saveVirtuals(contentValuesList)

return@withContext resultFiles
}

@Suppress("DEPRECATION")
Expand Down
Loading