Skip to content

Commit 841dd7d

Browse files
committed
add missing fields
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent e10bce6 commit 841dd7d

3 files changed

Lines changed: 20 additions & 8 deletions

File tree

app/src/main/java/com/nextcloud/utils/extensions/RemoteFileExtensions.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ package com.nextcloud.utils.extensions
99

1010
import com.nextcloud.utils.TimeConstants
1111
import com.owncloud.android.lib.resources.files.model.RemoteFile
12+
import com.owncloud.android.lib.resources.shares.ShareeUser
13+
import com.owncloud.android.lib.resources.tags.Tag
1214
import com.owncloud.android.utils.FileUtil
1315
import com.owncloud.android.utils.MimeTypeUtil
1416

@@ -27,6 +29,15 @@ fun RemoteFile.isSame(path: String?): Boolean {
2729
this.areImageDimensionsSame(path)
2830
}
2931

32+
fun RemoteFile.sharedViaLink(): Boolean = sharees?.any { it.shareType?.isLink == true } ?: false
33+
34+
fun RemoteFile.sharedWithSharee(): Boolean = sharees?.isNotEmpty() ?: false
35+
36+
fun RemoteFile.getShareeList(): List<ShareeUser> = sharees?.toList() ?: emptyList()
37+
38+
fun RemoteFile.tags(): List<Tag> =
39+
tags?.mapNotNull { it } ?: emptyList()
40+
3041
@Suppress("ReturnCount")
3142
private fun RemoteFile.areImageDimensionsSame(path: String): Boolean {
3243
if (!MimeTypeUtil.isImage(mimeType)) {

app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,9 @@ class SharedListFragment :
8383
etag = it
8484
}
8585
}
86-
// todo: ideally remote operation must return valid values via webdav entry
8786
val file = FileStorageUtils.fillOCFile(remoteFile).apply {
8887
fileId = partialFile.fileId
8988
parentId = partialFile.parentId
90-
ownerId = partialFile.ownerId
91-
ownerDisplayName = partialFile.ownerDisplayName
92-
isSharedViaLink = partialFile.isSharedViaLink
93-
isSharedWithSharee = partialFile.isSharedWithSharee
94-
sharees = partialFile.sharees
9589
}
9690
FileStorageUtils.searchForLocalFileInDefaultPath(file, user.accountName)
9791
val savedFile = mContainerActivity.storageManager.saveFileWithParent(file, context)

app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,16 @@
2121
import android.webkit.MimeTypeMap;
2222

2323
import com.nextcloud.client.preferences.SubFolderRule;
24+
import com.nextcloud.utils.extensions.RemoteFileExtensionsKt;
2425
import com.nextcloud.utils.extensions.StringConstants;
2526
import com.owncloud.android.MainApp;
2627
import com.owncloud.android.R;
2728
import com.owncloud.android.datamodel.FileDataStorageManager;
2829
import com.owncloud.android.datamodel.OCFile;
2930
import com.owncloud.android.lib.common.utils.Log_OC;
3031
import com.owncloud.android.lib.resources.files.model.RemoteFile;
32+
import com.owncloud.android.lib.resources.shares.ShareType;
33+
import com.owncloud.android.lib.resources.shares.ShareeUser;
3134
import com.owncloud.android.ui.helpers.FileOperationsHelper;
3235

3336
import org.apache.commons.io.FilenameUtils;
@@ -349,7 +352,11 @@ public static OCFile fillOCFile(RemoteFile remote) {
349352
file.setOwnerId(remote.getOwnerId());
350353
file.setOwnerDisplayName(remote.getOwnerDisplayName());
351354
file.setNote(remote.getNote());
352-
file.setSharees(new ArrayList<>(Arrays.asList(remote.getSharees())));
355+
356+
file.setSharees(RemoteFileExtensionsKt.getShareeList(remote));
357+
file.setSharedWithSharee(RemoteFileExtensionsKt.sharedWithSharee(remote));
358+
file.setSharedViaLink(RemoteFileExtensionsKt.sharedViaLink(remote));
359+
353360
file.setRichWorkspace(remote.getRichWorkspace());
354361
file.setLocked(remote.isLocked());
355362
file.setLockType(remote.getLockType());
@@ -359,7 +366,7 @@ public static OCFile fillOCFile(RemoteFile remote) {
359366
file.setLockTimestamp(remote.getLockTimestamp());
360367
file.setLockTimeout(remote.getLockTimeout());
361368
file.setLockToken(remote.getLockToken());
362-
file.setTags(new ArrayList<>(Arrays.asList(remote.getTags())));
369+
file.setTags(RemoteFileExtensionsKt.tags(remote));
363370
file.setImageDimension(remote.getImageDimension());
364371
file.setGeoLocation(remote.getGeoLocation());
365372
file.setLivePhoto(remote.getLivePhoto());

0 commit comments

Comments
 (0)