Этот коммит содержится в:
Anton Tananaev
2022-07-05 17:05:30 -07:00
родитель d51509efa3
Коммит ad7a549678
+15 -13
Просмотреть файл
@@ -19,25 +19,15 @@ package org.traccar.manager
import android.Manifest import android.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.ActivityNotFoundException import android.content.*
import android.content.BroadcastReceiver
import android.content.Context
import android.content.DialogInterface
import android.content.Intent
import android.content.IntentFilter
import android.content.pm.ApplicationInfo import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Message
import android.view.View import android.view.View
import android.webkit.GeolocationPermissions import android.webkit.*
import android.webkit.JavascriptInterface
import android.webkit.ValueCallback
import android.webkit.WebChromeClient
import android.webkit.WebView
import android.webkit.WebViewClient
import android.webkit.WebViewFragment
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
@@ -82,6 +72,7 @@ class MainFragment : WebViewFragment() {
webSettings.domStorageEnabled = true webSettings.domStorageEnabled = true
webSettings.databaseEnabled = true webSettings.databaseEnabled = true
webSettings.mediaPlaybackRequiresUserGesture = false webSettings.mediaPlaybackRequiresUserGesture = false
webSettings.setSupportMultipleWindows(true)
val url = PreferenceManager.getDefaultSharedPreferences(activity) val url = PreferenceManager.getDefaultSharedPreferences(activity)
.getString(MainActivity.PREFERENCE_URL, null) .getString(MainActivity.PREFERENCE_URL, null)
if (url != null) { if (url != null) {
@@ -145,6 +136,17 @@ class MainFragment : WebViewFragment() {
private val webChromeClient = object : WebChromeClient() { private val webChromeClient = object : WebChromeClient() {
override fun onCreateWindow(view: WebView, isDialog: Boolean, isUserGesture: Boolean, resultMsg: Message): Boolean {
val data = view.hitTestResult.extra
return if (data != null) {
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
view.context.startActivity(browserIntent)
true
} else {
false
}
}
override fun onGeolocationPermissionsShowPrompt(origin: String, callback: GeolocationPermissions.Callback) { override fun onGeolocationPermissionsShowPrompt(origin: String, callback: GeolocationPermissions.Callback) {
geolocationRequestOrigin = null geolocationRequestOrigin = null
geolocationCallback = null geolocationCallback = null