1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-07 21:37:02 +09:00

DROID-3233 Deep links | Fix | Fix spade invite handling

This commit is contained in:
Evgenii Kozlov 2025-05-19 15:32:34 +02:00
parent b3ebac1d77
commit a5c1101ab5
2 changed files with 12 additions and 1 deletions

View file

@ -41,13 +41,14 @@ object DefaultDeepLinkResolver : DeepLinkResolver {
private val defaultInviteRegex = Regex(DEEP_LINK_INVITE_REG_EXP)
private val defaultLinkToObjectRegex = Regex(DEEP_LINK_TO_OBJECT_REG_EXP)
private val customInviteRegex = Regex(DEE_LINK_INVITE_CUSTOM_REG_EXP)
override fun resolve(deeplink: String): DeepLinkResolver.Action {
val uri = Uri.parse(deeplink)
return when {
deeplink.contains(IMPORT_EXPERIENCE_DEEPLINK) -> resolveImportExperience(uri)
defaultInviteRegex.containsMatchIn(deeplink) -> DeepLinkResolver.Action.Invite(deeplink)
customInviteRegex.containsMatchIn(deeplink) -> DeepLinkResolver.Action.Invite(deeplink)
defaultLinkToObjectRegex.containsMatchIn(deeplink) -> resolveDeepLinkToObject(uri)
deeplink.contains(OBJECT_PATH) -> resolveObjectPath(uri)
deeplink.contains(MEMBERSHIP_PATH) -> resolveMembershipPath(uri)

View file

@ -4,6 +4,7 @@ import android.os.Build
import com.anytypeio.anytype.core_models.primitives.SpaceId
import com.anytypeio.anytype.domain.misc.DeepLinkResolver
import com.anytypeio.anytype.test_utils.MockDataFactory
import kotlin.test.assertIs
import kotlin.test.assertTrue
import org.junit.Assert.assertEquals
import org.junit.Test
@ -173,4 +174,13 @@ class DefaultDeepLinkResolverTest {
deepLinkResolver.isDeepLink(link1)
)
}
@Test
fun `should resolve invite`() {
val invite = "anytype://invite/?cid=bafybeibl3c5eqptcom5l5hjj5x6hkids6ayljykujamvt3bt4fcvuuebdy&key=Z7qado84JzbmwZhXBf53dYiCyNAEERyRWwwiHbBgWMv"
assertTrue(
deepLinkResolver.isDeepLink(invite)
)
assertIs<DeepLinkResolver.Action.Invite>(deepLinkResolver.resolve(invite))
}
}