WebViewAssetLoader

This commit is contained in:
2025-04-09 14:25:05 -04:00
parent 5713b6572e
commit f17a7fcaa2
7 changed files with 88 additions and 10 deletions

View File

@@ -46,6 +46,7 @@ dependencies {
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.webkit)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)

View File

@@ -111,6 +111,28 @@
}
.calendar-day.today {
background-color: #8d2b68; /* Highlight color */
}
#gotify-container {
position: relative;
top: -550px;
left: 1415px;
width: 500px;
height: 300px;
border: 1px solid #ccc;
overflow-y: auto;
padding: 10px;
color: #eee;
font-family: Arial, sans-serif;
border: 1px solid;
}
/* Style each notification block */
.notification {
border-bottom: 1px solid #eee;
padding: 5px 0;
margin-bottom: 5px;
}
.notification:last-child {
border-bottom: none;
}
</style>

View File

@@ -1,22 +1,26 @@
package com.zefie.zkiosk
import android.annotation.SuppressLint
import android.os.Bundle
import android.graphics.Rect
import android.net.Uri
import android.os.Bundle
import android.os.PowerManager
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.floatingactionbutton.FloatingActionButton
import org.videolan.libvlc.util.VLCVideoLayout
import android.os.Build
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import android.webkit.WebResourceRequest
import android.webkit.WebResourceResponse
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
import androidx.webkit.WebViewAssetLoader
import android.widget.PopupWindow
import android.widget.RelativeLayout
import android.widget.SeekBar
import android.widget.TextView
import com.google.android.material.floatingactionbutton.FloatingActionButton
import org.videolan.libvlc.util.VLCVideoLayout
import java.util.Locale
@@ -75,8 +79,31 @@ class MainActivity : AppCompatActivity() {
clockWebView.settings.displayZoomControls = false
clockWebView.settings.javaScriptEnabled = true
wxWebView.loadUrl("file:///android_asset/radar.html")
clockWebView.loadUrl("file:///android_asset/clock.html")
val assetLoader = WebViewAssetLoader.Builder()
.addPathHandler("/assets/", WebViewAssetLoader.AssetsPathHandler(this))
.addPathHandler("/res/", WebViewAssetLoader.ResourcesPathHandler(this))
.build()
wxWebView.webViewClient = object : WebViewClient() {
override fun shouldInterceptRequest(
view: WebView,
request: WebResourceRequest
): WebResourceResponse? {
return assetLoader.shouldInterceptRequest(request.url)
}
}
clockWebView.webViewClient = object : WebViewClient() {
override fun shouldInterceptRequest(
view: WebView,
request: WebResourceRequest
): WebResourceResponse? {
return assetLoader.shouldInterceptRequest(request.url)
}
}
wxWebView.loadUrl("https://appassets.androidplatform.net/assets/radar.html")
clockWebView.loadUrl("https://appassets.androidplatform.net/assets/clock.html")
startPlayer(1)
startPlayer(2)

View File

@@ -38,7 +38,7 @@ class VLCPlayer(private val context: Context, private val videoLayout: VLCVideoL
streamUrl = url
val media = Media(libVLC, Uri.parse(url))
media.setHWDecoderEnabled(true, false)
media.addOption(":network-caching=250") // Adjust caching to handle jitter
media.addOption(":network-caching=500") // Adjust caching to handle jitter
mediaPlayer.media = media
media.release()
mediaPlayer.play()