diff options
Diffstat (limited to 'android')
-rw-r--r-- | android/.idea/misc.xml | 1 | ||||
-rw-r--r-- | android/app/release/app-release.apk | bin | 22996047 -> 22997059 bytes | |||
-rw-r--r-- | android/app/release/app-release.apk.zip | bin | 8300789 -> 0 bytes | |||
-rw-r--r-- | android/app/src/main/java/dev/equestria/mist/MainActivity.kt | 41 |
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 Binary files differindex d1478d9..5dc2a7d 100644 --- a/android/app/release/app-release.apk +++ b/android/app/release/app-release.apk diff --git a/android/app/release/app-release.apk.zip b/android/app/release/app-release.apk.zip Binary files differdeleted file mode 100644 index 089aac4..0000000 --- a/android/app/release/app-release.apk.zip +++ /dev/null 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) } |