first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

18
node_modules/expo-linking/android/build.gradle generated vendored Normal file
View File

@@ -0,0 +1,18 @@
plugins {
id 'com.android.library'
id 'expo-module-gradle-plugin'
}
group = 'host.exp.exponent'
version = '55.0.7'
android {
namespace "expo.modules.linking"
defaultConfig {
versionCode 1
versionName "55.0.7"
}
lintOptions {
abortOnError false
}
}

View File

@@ -0,0 +1,2 @@
<manifest>
</manifest>

View File

@@ -0,0 +1,39 @@
package expo.modules.linking
import android.net.Uri
import androidx.core.os.bundleOf
import expo.modules.kotlin.modules.Module
import expo.modules.kotlin.modules.ModuleDefinition
import java.lang.ref.WeakReference
class ExpoLinkingModule : Module() {
companion object {
var initialURL: Uri? = null
var onURLReceivedObservers: MutableSet<((Uri?) -> Unit)> = mutableSetOf()
}
private var onURLReceivedObserver: ((Uri?) -> Unit)? = null
override fun definition() = ModuleDefinition {
Name("ExpoLinking")
Events("onURLReceived")
Function("getLinkingURL") {
initialURL?.toString()
}
OnStartObserving("onURLReceived") {
val weakModule = WeakReference(this@ExpoLinkingModule)
val observer: (Uri?) -> Unit = { uri: Uri? ->
weakModule.get()?.sendEvent("onURLReceived", bundleOf("url" to uri?.toString()))
}
onURLReceivedObservers.add(observer)
onURLReceivedObserver = observer
}
OnStopObserving("onURLReceived") {
onURLReceivedObservers.remove(onURLReceivedObserver)
}
}
}

View File

@@ -0,0 +1,11 @@
package expo.modules.linking
import android.content.Context
import expo.modules.core.interfaces.Package
import expo.modules.core.interfaces.ReactActivityLifecycleListener
class ExpoLinkingPackage : Package {
override fun createReactActivityLifecycleListeners(activityContext: Context?): List<ReactActivityLifecycleListener> {
return listOf(LinkingReactActivityLifecycleListener())
}
}

View File

@@ -0,0 +1,26 @@
package expo.modules.linking
import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import expo.modules.core.interfaces.ReactActivityLifecycleListener
class LinkingReactActivityLifecycleListener : ReactActivityLifecycleListener {
override fun onCreate(activity: Activity?, savedInstanceState: Bundle?) {
onReceiveURL(activity?.intent?.data)
}
override fun onNewIntent(intent: Intent?): Boolean {
onReceiveURL(intent?.data)
return true
}
private fun onReceiveURL(url: Uri?) {
if (url == null) {
return
}
ExpoLinkingModule.initialURL = url
ExpoLinkingModule.onURLReceivedObservers.forEach { it -> it(url) }
}
}