Fix: loading spinner until video plays, remove watched text from title
This commit is contained in:
@@ -439,6 +439,11 @@ class TvmonScraper {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val cleanLinkText = linkText
|
||||||
|
.replace("시청중", "")
|
||||||
|
.replace("NEW", "")
|
||||||
|
.trim()
|
||||||
|
|
||||||
val episodeNumMatch = Pattern.compile("(\\d+)\\s*화|(\\d+)\\s*회|EP\\.?(\\d+)|제\\s*(\\d+)\\s*부").matcher(linkText)
|
val episodeNumMatch = Pattern.compile("(\\d+)\\s*화|(\\d+)\\s*회|EP\\.?(\\d+)|제\\s*(\\d+)\\s*부").matcher(linkText)
|
||||||
val episodeTitle = if (episodeNumMatch.find()) {
|
val episodeTitle = if (episodeNumMatch.find()) {
|
||||||
episodeNumMatch.group(1) ?: episodeNumMatch.group(2) ?: episodeNumMatch.group(3) ?: episodeNumMatch.group(4)
|
episodeNumMatch.group(1) ?: episodeNumMatch.group(2) ?: episodeNumMatch.group(3) ?: episodeNumMatch.group(4)
|
||||||
@@ -471,7 +476,7 @@ class TvmonScraper {
|
|||||||
|
|
||||||
episodes.add(Episode(
|
episodes.add(Episode(
|
||||||
number = finalNumber,
|
number = finalNumber,
|
||||||
title = linkText.ifBlank { finalNumber },
|
title = cleanLinkText.ifBlank { finalNumber },
|
||||||
url = fullUrl,
|
url = fullUrl,
|
||||||
type = "webview",
|
type = "webview",
|
||||||
date = dateStr
|
date = dateStr
|
||||||
|
|||||||
@@ -272,6 +272,13 @@ class PlaybackActivity : AppCompatActivity() {
|
|||||||
return super.shouldInterceptRequest(view, request)
|
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?) {
|
override fun onPageFinished(view: WebView?, url: String?) {
|
||||||
super.onPageFinished(view, url)
|
super.onPageFinished(view, url)
|
||||||
android.util.Log.i("PlaybackActivity", "Page finished: $url")
|
android.util.Log.i("PlaybackActivity", "Page finished: $url")
|
||||||
@@ -295,12 +302,6 @@ class PlaybackActivity : AppCompatActivity() {
|
|||||||
injectEnhancedAutoPlayScript()
|
injectEnhancedAutoPlayScript()
|
||||||
android.util.Log.i("PlaybackActivity", "Enhanced AutoPlay script injected (third)")
|
android.util.Log.i("PlaybackActivity", "Enhanced AutoPlay script injected (third)")
|
||||||
}, 1500)
|
}, 1500)
|
||||||
|
|
||||||
handler.postDelayed({
|
|
||||||
runOnUiThread {
|
|
||||||
loadingOverlay.visibility = View.GONE
|
|
||||||
}
|
|
||||||
}, 1500)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -480,7 +481,9 @@ class PlaybackActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
v.play().then(function() {
|
v.play().then(function() {
|
||||||
console.log('AutoPlay: Video play() succeeded');
|
console.log('AutoPlay: Video play() succeeded');
|
||||||
if (window.Android) window.Android.onVideoPlay();
|
if (window.Android) {
|
||||||
|
window.Android.onVideoPlay();
|
||||||
|
}
|
||||||
}).catch(function(e) {
|
}).catch(function(e) {
|
||||||
console.log('AutoPlay: Video play() failed: ' + e.message);
|
console.log('AutoPlay: Video play() failed: ' + e.message);
|
||||||
});
|
});
|
||||||
@@ -496,6 +499,13 @@ class PlaybackActivity : AppCompatActivity() {
|
|||||||
tryPlay(v);
|
tryPlay(v);
|
||||||
}, {once: true});
|
}, {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) {
|
if (v.readyState >= 2) {
|
||||||
tryPlay(v);
|
tryPlay(v);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user