From e13ab5cb40bbc1ed3325ff2fef380d4538669308 Mon Sep 17 00:00:00 2001 From: Koen Date: Mon, 23 Oct 2023 15:23:46 +0200 Subject: [PATCH] Deduplicated map. --- .../com/futo/platformplayer/states/StatePolycentric.kt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/states/StatePolycentric.kt b/app/src/main/java/com/futo/platformplayer/states/StatePolycentric.kt index 29a0d23d..b2721ab1 100644 --- a/app/src/main/java/com/futo/platformplayer/states/StatePolycentric.kt +++ b/app/src/main/java/com/futo/platformplayer/states/StatePolycentric.kt @@ -130,10 +130,7 @@ class StatePolycentric { //TODO: Currently abusing subscription concurrency for parallelism val concurrency = if (channelConcurrency == -1) Settings.instance.subscriptions.getSubscriptionsConcurrency() else channelConcurrency; val pagers = profile.ownedClaims.groupBy { it.claim.claimType }.mapNotNull { - //TODO: Deduplicate once multiple urls in single claim is supported - return@mapNotNull it.value.firstOrNull(); - }.mapNotNull { - val url = it.claim.resolveChannelUrl() ?: return@mapNotNull null; + val url = it.value.firstOrNull()?.claim?.resolveChannelUrl() ?: return@mapNotNull null; if (!StatePlatform.instance.hasEnabledChannelClient(url)) { return@mapNotNull null; } @@ -151,10 +148,7 @@ class StatePolycentric { val concurrency = if (channelConcurrency == -1) Settings.instance.subscriptions.getSubscriptionsConcurrency() else channelConcurrency; val deferred = profile.ownedClaims.groupBy { it.claim.claimType } .mapNotNull { - //TODO: Deduplicate once multiple urls in single claim is supported - return@mapNotNull it.value.firstOrNull(); - }.mapNotNull { - val url = it.claim.resolveChannelUrl() ?: return@mapNotNull null; + val url = it.value.firstOrNull()?.claim?.resolveChannelUrl() ?: return@mapNotNull null; val client = StatePlatform.instance.getChannelClientOrNull(url) ?: return@mapNotNull null; return@mapNotNull Pair(client, scope.async(Dispatchers.IO) {