diff options
Diffstat (limited to 'app/src/main/java/org/traccar/manager/MainFragment.kt')
-rw-r--r-- | app/src/main/java/org/traccar/manager/MainFragment.kt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/src/main/java/org/traccar/manager/MainFragment.kt b/app/src/main/java/org/traccar/manager/MainFragment.kt index d5144f5..bb8ade8 100644 --- a/app/src/main/java/org/traccar/manager/MainFragment.kt +++ b/app/src/main/java/org/traccar/manager/MainFragment.kt @@ -51,8 +51,13 @@ class MainFragment : WebViewFragment() { inner class AppInterface { @JavascriptInterface fun postMessage(message: String) { - if (message.contains("login")) { + if (message.startsWith("login")) { broadcastManager.sendBroadcast(Intent(EVENT_LOGIN)) + } else if (message.startsWith("server")) { + val url = message.substring(7) + PreferenceManager.getDefaultSharedPreferences(activity) + .edit().putString(MainActivity.PREFERENCE_URL, url).apply() + activity.runOnUiThread { webView.loadUrl(url) } } } } @@ -138,7 +143,7 @@ class MainFragment : WebViewFragment() { private var geolocationRequestOrigin: String? = null private var geolocationCallback: GeolocationPermissions.Callback? = null - private val webChromeClient: WebChromeClient = object : WebChromeClient() { + private val webChromeClient = object : WebChromeClient() { override fun onGeolocationPermissionsShowPrompt(origin: String, callback: GeolocationPermissions.Callback) { geolocationRequestOrigin = null @@ -147,7 +152,7 @@ class MainFragment : WebViewFragment() { if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.ACCESS_FINE_LOCATION)) { AlertDialog.Builder(activity) .setMessage(R.string.permission_location_rationale) - .setNeutralButton(android.R.string.ok) { dialog: DialogInterface?, which: Int -> + .setNeutralButton(android.R.string.ok) { _: DialogInterface?, _: Int -> geolocationRequestOrigin = origin geolocationCallback = callback ActivityCompat.requestPermissions( @@ -172,6 +177,7 @@ class MainFragment : WebViewFragment() { } // Android 4.1+ + @Suppress("UNUSED_PARAMETER") fun openFileChooser(uploadMessage: ValueCallback<Uri?>?, acceptType: String?, capture: String?) { openFileCallback = uploadMessage val intent = Intent(Intent.ACTION_GET_CONTENT) |