Skip to content

Commit b0b872c

Browse files
Merge pull request #1741 from nextcloud/bugfix/create-sharee-user
BugFix - Do not Filter Share Type
2 parents 654c1d1 + f2bbdab commit b0b872c

3 files changed

Lines changed: 13 additions & 27 deletions

File tree

library/src/androidTest/java/com/owncloud/android/FileIT.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,17 @@ public void testShareViaLinkSharees() {
129129
.execute(client).isSuccess());
130130

131131
// verify
132-
RemoteOperationResult result = new ReadFolderRemoteOperation("/").execute(client);
132+
final var result = new ReadFolderRemoteOperation("/").execute(client);
133133
assertTrue(result.isSuccess());
134134

135135
RemoteFile parentFolder = (RemoteFile) result.getData().get(0);
136136
assertEquals("/", parentFolder.getRemotePath());
137137

138-
for (int i = 1; i < result.getData().size(); i++) {
139-
RemoteFile child = (RemoteFile) result.getData().get(i);
140-
141-
if (path.equals(child.getRemotePath())) {
142-
assertEquals(0, child.getSharees().length);
138+
for (Object item : result.getData()) {
139+
if (item instanceof RemoteFile child &&
140+
path.equals(child.getRemotePath()) &&
141+
child.getSharees() != null) {
142+
assertEquals(1, child.getSharees().length);
143143
}
144144
}
145145
}

library/src/main/java/com/owncloud/android/lib/common/network/WebdavEntry.kt

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class WebdavEntry constructor(
7373
var unreadCommentsCount = 0
7474
var isHasPreview = false
7575
var note = ""
76-
var sharees = arrayOfNulls<ShareeUser>(0)
76+
var sharees = arrayOf<ShareeUser>()
7777
var richWorkspace: String? = null
7878
var isLocked = false
7979
private set
@@ -374,22 +374,18 @@ class WebdavEntry constructor(
374374
if (prop != null && prop.value != null) {
375375
if (prop.value is ArrayList<*>) {
376376
val list = prop.value as ArrayList<*>
377-
val tempList: MutableList<ShareeUser?> = ArrayList()
377+
val tempList: MutableList<ShareeUser> = ArrayList()
378378
for (i in list.indices) {
379379
val element = list[i] as Element
380380
val user = createShareeUser(element)
381-
if (user != null) {
382-
tempList.add(user)
383-
}
381+
tempList.add(user)
384382
}
385383
sharees = tempList.toTypedArray()
386384
} else {
387385
// single item or empty
388386
val element = prop.value as Element
389387
val user = createShareeUser(element)
390-
if (user != null) {
391-
sharees = arrayOf(user)
392-
}
388+
sharees = arrayOf(user)
393389
}
394390
}
395391

@@ -548,21 +544,11 @@ class WebdavEntry constructor(
548544
return stringValue?.toLong() ?: 0L
549545
}
550546

551-
private fun createShareeUser(element: Element): ShareeUser? {
547+
private fun createShareeUser(element: Element): ShareeUser {
552548
val displayName = extractDisplayName(element)
553549
val userId = extractUserId(element)
554550
val shareType = extractShareType(element)
555-
val isSupportedShareType =
556-
ShareType.EMAIL == shareType ||
557-
ShareType.FEDERATED == shareType ||
558-
ShareType.GROUP == shareType ||
559-
ShareType.FEDERATED_GROUP == shareType ||
560-
ShareType.ROOM == shareType
561-
return if ((isSupportedShareType || displayName.isNotEmpty()) && userId.isNotEmpty()) {
562-
ShareeUser(userId, displayName, shareType)
563-
} else {
564-
null
565-
}
551+
return ShareeUser(userId, displayName, shareType)
566552
}
567553

568554
private fun extractDisplayName(element: Element): String {

library/src/main/java/com/owncloud/android/lib/resources/files/model/RemoteFile.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class RemoteFile :
4444
var unreadCommentsCount = 0
4545
var isHasPreview = false
4646
var note: String? = null
47-
var sharees: Array<ShareeUser?>? = null
47+
var sharees: Array<ShareeUser>? = null
4848
var richWorkspace: String? = null
4949
var isLocked = false
5050
var lockType: FileLockType? = null

0 commit comments

Comments
 (0)