From 7ce4f03985978297b5dd1d376262cfa000d196fd Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 1 Mar 2021 10:56:46 -0600 Subject: [PATCH] Exclude current user principal from sharees --- .../java/org/tasks/caldav/SharingSabredavTest.kt | 9 +++++++++ .../java/org/tasks/caldav/CaldavSynchronizer.kt | 13 +++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/androidTest/java/org/tasks/caldav/SharingSabredavTest.kt b/app/src/androidTest/java/org/tasks/caldav/SharingSabredavTest.kt index 4d7b5e754..731c6bfa7 100644 --- a/app/src/androidTest/java/org/tasks/caldav/SharingSabredavTest.kt +++ b/app/src/androidTest/java/org/tasks/caldav/SharingSabredavTest.kt @@ -130,6 +130,7 @@ class SharingSabredavTest : CaldavTest() { + Shared @@ -141,6 +142,14 @@ class SharingSabredavTest : CaldavTest() { + + /principals/user1 + + + + + + mailto:user@example.com diff --git a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt index a1d8262ad..f9be89b4e 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt +++ b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt @@ -357,16 +357,17 @@ class CaldavSynchronizer @Inject constructor( } val Response.isOwncloudOwner: Boolean - get() = this[OCOwnerPrincipal::class.java]?.owner - ?.let { - this[CurrentUserPrincipal::class.java]?.href?.endsWith("$it/") == true - } - ?: false + get() = this[OCOwnerPrincipal::class.java]?.owner?.let { isCurrentUser(it) } ?: false + + fun Response.isCurrentUser(href: String) = + this[CurrentUserPrincipal::class.java]?.href?.endsWith("$href/") == true val Response.principals: List get() { val principals = ArrayList() - this[Invite::class.java]?.sharees + this[Invite::class.java] + ?.sharees + ?.filterNot { isCurrentUser(it.href) } ?.map { Principal().apply { principal = it.href