diff --git a/library/src/androidTest/java/com/owncloud/android/FileIT.java b/library/src/androidTest/java/com/owncloud/android/FileIT.java index 2cadacc7c..eb85ea819 100644 --- a/library/src/androidTest/java/com/owncloud/android/FileIT.java +++ b/library/src/androidTest/java/com/owncloud/android/FileIT.java @@ -129,17 +129,17 @@ public void testShareViaLinkSharees() { .execute(client).isSuccess()); // verify - RemoteOperationResult result = new ReadFolderRemoteOperation("/").execute(client); + final var result = new ReadFolderRemoteOperation("/").execute(client); assertTrue(result.isSuccess()); RemoteFile parentFolder = (RemoteFile) result.getData().get(0); assertEquals("/", parentFolder.getRemotePath()); - for (int i = 1; i < result.getData().size(); i++) { - RemoteFile child = (RemoteFile) result.getData().get(i); - - if (path.equals(child.getRemotePath())) { - assertEquals(0, child.getSharees().length); + for (Object item : result.getData()) { + if (item instanceof RemoteFile child && + path.equals(child.getRemotePath()) && + child.getSharees() != null) { + assertEquals(1, child.getSharees().length); } } } diff --git a/library/src/main/java/com/owncloud/android/lib/common/network/WebdavEntry.kt b/library/src/main/java/com/owncloud/android/lib/common/network/WebdavEntry.kt index 0d4d893ee..23edd9891 100644 --- a/library/src/main/java/com/owncloud/android/lib/common/network/WebdavEntry.kt +++ b/library/src/main/java/com/owncloud/android/lib/common/network/WebdavEntry.kt @@ -73,7 +73,7 @@ class WebdavEntry constructor( var unreadCommentsCount = 0 var isHasPreview = false var note = "" - var sharees = arrayOfNulls(0) + var sharees = arrayOf() var richWorkspace: String? = null var isLocked = false private set @@ -374,22 +374,18 @@ class WebdavEntry constructor( if (prop != null && prop.value != null) { if (prop.value is ArrayList<*>) { val list = prop.value as ArrayList<*> - val tempList: MutableList = ArrayList() + val tempList: MutableList = ArrayList() for (i in list.indices) { val element = list[i] as Element val user = createShareeUser(element) - if (user != null) { - tempList.add(user) - } + tempList.add(user) } sharees = tempList.toTypedArray() } else { // single item or empty val element = prop.value as Element val user = createShareeUser(element) - if (user != null) { - sharees = arrayOf(user) - } + sharees = arrayOf(user) } } @@ -548,21 +544,11 @@ class WebdavEntry constructor( return stringValue?.toLong() ?: 0L } - private fun createShareeUser(element: Element): ShareeUser? { + private fun createShareeUser(element: Element): ShareeUser { val displayName = extractDisplayName(element) val userId = extractUserId(element) val shareType = extractShareType(element) - val isSupportedShareType = - ShareType.EMAIL == shareType || - ShareType.FEDERATED == shareType || - ShareType.GROUP == shareType || - ShareType.FEDERATED_GROUP == shareType || - ShareType.ROOM == shareType - return if ((isSupportedShareType || displayName.isNotEmpty()) && userId.isNotEmpty()) { - ShareeUser(userId, displayName, shareType) - } else { - null - } + return ShareeUser(userId, displayName, shareType) } private fun extractDisplayName(element: Element): String { diff --git a/library/src/main/java/com/owncloud/android/lib/resources/files/model/RemoteFile.kt b/library/src/main/java/com/owncloud/android/lib/resources/files/model/RemoteFile.kt index facffe2e1..4c9c56761 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/files/model/RemoteFile.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/files/model/RemoteFile.kt @@ -44,7 +44,7 @@ class RemoteFile : var unreadCommentsCount = 0 var isHasPreview = false var note: String? = null - var sharees: Array? = null + var sharees: Array? = null var richWorkspace: String? = null var isLocked = false var lockType: FileLockType? = null