Fix: loading spinner until video plays, remove watched text from title

This commit is contained in:
tvmon-dev
2026-04-15 21:13:28 +09:00
parent 08917e96c7
commit aa48060630
2 changed files with 27 additions and 12 deletions

View File

@@ -439,6 +439,11 @@ class TvmonScraper {
continue
}
val cleanLinkText = linkText
.replace("시청중", "")
.replace("NEW", "")
.trim()
val episodeNumMatch = Pattern.compile("(\\d+)\\s*화|(\\d+)\\s*회|EP\\.?(\\d+)|제\\s*(\\d+)\\s*부").matcher(linkText)
val episodeTitle = if (episodeNumMatch.find()) {
episodeNumMatch.group(1) ?: episodeNumMatch.group(2) ?: episodeNumMatch.group(3) ?: episodeNumMatch.group(4)
@@ -471,7 +476,7 @@ class TvmonScraper {
episodes.add(Episode(
number = finalNumber,
title = linkText.ifBlank { finalNumber },
title = cleanLinkText.ifBlank { finalNumber },
url = fullUrl,
type = "webview",
date = dateStr

View File

@@ -272,6 +272,13 @@ class PlaybackActivity : AppCompatActivity() {
return super.shouldInterceptRequest(view, request)
}
override fun onPageStarted(view: WebView?, url: String?, favicon: android.graphics.Bitmap?) {
super.onPageStarted(view, url, favicon)
runOnUiThread {
loadingOverlay.visibility = View.VISIBLE
}
}
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
android.util.Log.i("PlaybackActivity", "Page finished: $url")
@@ -291,16 +298,10 @@ class PlaybackActivity : AppCompatActivity() {
android.util.Log.i("PlaybackActivity", "Enhanced AutoPlay script injected (second)")
}, 2000)
handler.postDelayed({
injectEnhancedAutoPlayScript()
android.util.Log.i("PlaybackActivity", "Enhanced AutoPlay script injected (third)")
}, 1500)
handler.postDelayed({
runOnUiThread {
loadingOverlay.visibility = View.GONE
}
}, 1500)
handler.postDelayed({
injectEnhancedAutoPlayScript()
android.util.Log.i("PlaybackActivity", "Enhanced AutoPlay script injected (third)")
}, 1500)
}
}
@@ -480,7 +481,9 @@ class PlaybackActivity : AppCompatActivity() {
v.play().then(function() {
console.log('AutoPlay: Video play() succeeded');
if (window.Android) window.Android.onVideoPlay();
if (window.Android) {
window.Android.onVideoPlay();
}
}).catch(function(e) {
console.log('AutoPlay: Video play() failed: ' + e.message);
});
@@ -495,6 +498,13 @@ class PlaybackActivity : AppCompatActivity() {
console.log('AutoPlay: canplaythrough event fired');
tryPlay(v);
}, {once: true});
v.addEventListener('playing', function() {
console.log('AutoPlay: Video is now playing');
if (window.Android) {
window.Android.onVideoPlay();
}
}, {once: true});
if (v.readyState >= 2) {
tryPlay(v);