WebViewAssetLoader
This commit is contained in:
@@ -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)
|
||||
|
@@ -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>
|
||||
|
@@ -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)
|
||||
|
@@ -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()
|
||||
|
Reference in New Issue
Block a user