From e61e581a2b66b0444db01d884465ea913929e343 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Tue, 31 Oct 2023 17:04:34 +0100 Subject: Updated 27 files, added 12 files and deleted 3 files (automated) --- .../main/java/dev/equestria/mist/MainActivity.kt | 41 +++++++++++----------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'android/app/src/main/java/dev') 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) } -- cgit