Skip to content

Commit

Permalink
Merge pull request #722 from stakwork/tt/feature/universal-links
Browse files Browse the repository at this point in the history
Tt/feature/universal links
  • Loading branch information
tomastiminskas authored Feb 28, 2024
2 parents c663e6e + 771818f commit 9beefad
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 4 deletions.
2 changes: 1 addition & 1 deletion gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ext.versions = [
'okhttp' : '4.10.0',
'sqlDelight' : '1.5.4',
'toplAndroid': '2.1.2',
'targetSdk' : 30
'targetSdk' : 33
]

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ inline fun String.toSphinxCallLink(): SphinxCallLink? =
inline val String.isValidSphinxCallLink: Boolean
get() = isNotEmpty() && matches("^${SphinxCallLink.REGEX}\$".toRegex())

inline val String.isValidJitsiCallLink: Boolean
get() = isNotEmpty() && startsWith(SphinxCallLink.DEFAULT_CALL_SERVER_URL)

@JvmInline
value class SphinxCallLink(val value: String) {

Expand Down Expand Up @@ -63,7 +66,7 @@ value class SphinxCallLink(val value: String) {
}

init {
require(value.isValidSphinxCallLink) {
require(value.isValidSphinxCallLink || value.isValidJitsiCallLink) {
"Invalid Sphinx Call Link"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,11 @@ inline fun Message.retrievePurchaseStatus(): PurchaseStatus? {
@Suppress("NOTHING_TO_INLINE")
inline fun Message.retrieveSphinxCallLink(): SphinxCallLink? =
messageContentDecrypted?.value?.toSphinxCallLink()?.let {
it
if (it.value.split(" ").count() == 1) {
it
} else {
null
}
} ?: callLinkMessage?.let {
it.link
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2044,6 +2044,10 @@ abstract class ChatViewModel<ARGS : NavArgs>(

handleFeedItemLink(feedItemLink)

} ?: url.toSphinxCallLink()?.let { sphinxCallLink ->

joinCall(sphinxCallLink, sphinxCallLink.startAudioOnly)

}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import android.view.View
import androidx.annotation.ColorInt
import chat.sphinx.wrapper_common.feed.isValidFeedItemLink
import chat.sphinx.wrapper_common.lightning.*
import chat.sphinx.wrapper_common.message.isValidJitsiCallLink
import chat.sphinx.wrapper_common.message.isValidSphinxCallLink
import chat.sphinx.wrapper_common.tribe.isValidTribeJoinLink
import java.util.concurrent.atomic.AtomicInteger

Expand All @@ -14,7 +16,9 @@ inline val String.isSphinxUrl: Boolean
isValidLightningNodePubKey ||
isValidVirtualNodeAddress ||
isValidTribeJoinLink ||
isValidFeedItemLink
isValidFeedItemLink ||
isValidSphinxCallLink ||
isValidJitsiCallLink

open class SphinxUrlSpan(
url: String?,
Expand Down

0 comments on commit 9beefad

Please sign in to comment.