add webview util (#37)

This commit is contained in:
Oleksandr Nemesh authored and GitHub committed 2025-04-22 13:01:53 -07:00
1 parent 34e324c54d
commit ce44270b7a
2 files changed
+12

No files matched your search

+1
View File
@@ -108,6 +108,7 @@ dependencies {
implementation ("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") implementation ("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")
implementation ("com.mikepenz:multiplatform-markdown-renderer-android:0.30.0") implementation ("com.mikepenz:multiplatform-markdown-renderer-android:0.30.0")
implementation ("com.mikepenz:multiplatform-markdown-renderer-m3:0.30.0") implementation ("com.mikepenz:multiplatform-markdown-renderer-m3:0.30.0")
implementation("androidx.browser:browser:1.8.0")
debugImplementation ("androidx.compose.ui:ui-tooling") debugImplementation ("androidx.compose.ui:ui-tooling")
coreLibraryDesugaring ("com.android.tools:desugar_jdk_libs:2.1.4") coreLibraryDesugaring ("com.android.tools:desugar_jdk_libs:2.1.4")
} }
@@ -21,7 +21,9 @@ import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.documentfile.provider.DocumentFile import androidx.documentfile.provider.DocumentFile
import com.geode.launcher.BuildConfig import com.geode.launcher.BuildConfig
import com.geode.launcher.R import com.geode.launcher.R
@@ -527,6 +529,15 @@ object GeodeUtils {
return capabilityListener.get()?.onCapabilityAdded(capability) == true return capabilityListener.get()?.onCapabilityAdded(capability) == true
} }
@JvmStatic
fun openWebview(url: String) {
val activity = activity.get() ?: return
CustomTabsIntent.Builder()
.setShowTitle(true)
.build()
.launchUrl(activity, url.toUri())
}
external fun nativeKeyUp(keyCode: Int, modifiers: Int) external fun nativeKeyUp(keyCode: Int, modifiers: Int)
external fun nativeKeyDown(keyCode: Int, modifiers: Int, isRepeating: Boolean) external fun nativeKeyDown(keyCode: Int, modifiers: Int, isRepeating: Boolean)
external fun nativeActionScroll(scrollX: Float, scrollY: Float) external fun nativeActionScroll(scrollX: Float, scrollY: Float)