summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/.idea/misc.xml1
-rw-r--r--android/app/release/app-release.apkbin22996047 -> 22997059 bytes
-rw-r--r--android/app/release/app-release.apk.zipbin8300789 -> 0 bytes
-rw-r--r--android/app/src/main/java/dev/equestria/mist/MainActivity.kt41
4 files changed, 21 insertions, 21 deletions
diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml
index 0ad17cb..8978d23 100644
--- a/android/.idea/misc.xml
+++ b/android/.idea/misc.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
diff --git a/android/app/release/app-release.apk b/android/app/release/app-release.apk
index d1478d9..5dc2a7d 100644
--- a/android/app/release/app-release.apk
+++ b/android/app/release/app-release.apk
Binary files differ
diff --git a/android/app/release/app-release.apk.zip b/android/app/release/app-release.apk.zip
deleted file mode 100644
index 089aac4..0000000
--- a/android/app/release/app-release.apk.zip
+++ /dev/null
Binary files differ
diff --git a/android/app/src/main/java/dev/equestria/mist/MainActivity.kt b/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
index 939feaa..930d309 100644
--- a/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
+++ b/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
@@ -7,14 +7,13 @@ import android.app.NotificationManager
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
-import android.media.MediaMetadata
+import android.net.Uri
import android.os.Build
import android.os.Bundle
-import android.support.v4.media.MediaMetadataCompat
-import android.support.v4.media.session.MediaSessionCompat
-import android.support.v4.media.session.PlaybackStateCompat
+import android.os.Message
import android.util.Log
import android.view.ViewGroup
+import android.webkit.WebChromeClient
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
@@ -23,45 +22,30 @@ import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeDrawingPadding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.AlertDialogDefaults
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.DisposableEffect
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.LocalDensity
-import androidx.compose.ui.platform.LocalView
-import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.core.app.ActivityCompat
import androidx.core.view.WindowCompat
-import androidx.core.view.WindowInsetsCompat
-import androidx.core.view.WindowInsetsControllerCompat
-import androidx.media.app.NotificationCompat as MediaNotificationCompat
-import androidx.core.app.NotificationCompat
-import androidx.core.app.NotificationManagerCompat
-import androidx.core.content.ContextCompat
import com.android.volley.Request
import com.android.volley.toolbox.JsonObjectRequest
import com.android.volley.toolbox.Volley
-import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.equestria.mist.ui.theme.MistTheme
+
class MainActivity : ComponentActivity() {
private lateinit var intent: Intent
@@ -196,6 +180,23 @@ fun WebViewContainer(activity: MainActivity, intent: Intent) {
settings.userAgentString += " MistAndroid/" + BuildConfig.VERSION_NAME
settings.cacheMode = WebSettings.LOAD_NO_CACHE
+ settings.setSupportMultipleWindows(true)
+ webChromeClient = object : WebChromeClient() {
+ override fun onCreateWindow(
+ view: WebView,
+ dialog: Boolean,
+ userGesture: Boolean,
+ resultMsg: Message
+ ): Boolean {
+ val result = view.hitTestResult
+ val data = result.extra
+ val context = view.context
+ val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
+ context.startActivity(browserIntent)
+ return false
+ }
+ }
+
addJavascriptInterface(JavaScriptExtensions(activity, activity.window, this, intent), "MistAndroid")
loadUrl(mUrl)
}