Bug fixes

This commit is contained in:
redphx 2025-02-07 09:00:22 +07:00
parent cf1f656ecf
commit d4c1e8cce3
5 changed files with 23 additions and 37 deletions

View File

@ -3094,7 +3094,7 @@ class StreamStats {
$container;
boundOnStreamHudStateChanged;
constructor() {
BxLogger.info(this.LOG_TAG, "constructor()"), this.boundOnStreamHudStateChanged = this.onStreamHudStateChanged.bind(this), this.render();
BxLogger.info(this.LOG_TAG, "constructor()"), this.boundOnStreamHudStateChanged = this.onStreamHudStateChanged.bind(this), BxEventBus.Stream.on("ui.streamHud.expanded", this.boundOnStreamHudStateChanged), this.render();
}
async start(glancing = !1) {
if (!this.isHidden() || glancing && this.isGlancing()) return;
@ -3109,21 +3109,15 @@ class StreamStats {
else this.isHidden() ? await this.start() : await this.stop();
}
destroy() {
this.stop(), this.quickGlanceStop(), this.hideSettingsUi();
this.stop(), this.hideSettingsUi();
}
isHidden = () => this.$container.classList.contains("bx-gone");
isGlancing = () => this.$container.dataset.display === "glancing";
onStreamHudStateChanged({ state }) {
if (!getStreamPref("stats.quickGlance.enabled")) return;
if (state === "expanded") this.isHidden() && this.start(!0);
else this.stop(!0);
}
quickGlanceSetup() {
if (!STATES.isPlaying) return;
BxEventBus.Stream.on("ui.streamHud.expanded", this.boundOnStreamHudStateChanged);
}
quickGlanceStop() {
BxEventBus.Stream.off("ui.streamHud.expanded", this.boundOnStreamHudStateChanged);
}
update = async (forceUpdate = !1) => {
if (!forceUpdate && this.isHidden() || !STATES.currentStream.peerConnection) {
this.destroy();
@ -3164,7 +3158,7 @@ class StreamStats {
BxEventBus.Stream.on("state.playing", () => {
let PREF_STATS_QUICK_GLANCE = getStreamPref("stats.quickGlance.enabled"), PREF_STATS_SHOW_WHEN_PLAYING = getStreamPref("stats.showWhenPlaying"), streamStats = StreamStats.getInstance();
if (PREF_STATS_SHOW_WHEN_PLAYING) streamStats.start();
else if (PREF_STATS_QUICK_GLANCE) streamStats.quickGlanceSetup(), !PREF_STATS_SHOW_WHEN_PLAYING && streamStats.start(!0);
else if (PREF_STATS_QUICK_GLANCE) !PREF_STATS_SHOW_WHEN_PLAYING && streamStats.start(!0);
});
}
static refreshStyles() {
@ -4509,8 +4503,7 @@ class SettingsManager {
},
"stats.quickGlance.enabled": {
onChange: () => {
let value = getStreamPref("stats.quickGlance.enabled"), streamStats = StreamStats.getInstance();
value ? streamStats.quickGlanceSetup() : streamStats.quickGlanceStop();
if (!getStreamPref("stats.quickGlance.enabled")) StreamStats.getInstance().stop(!0);
}
},
"stats.position": {
@ -5389,11 +5382,11 @@ if (titleInfo && !titleInfo.details.hasTouchSupport && !titleInfo.details.hasFak
return str = str.replace(text, "this.useCombinedAudioVideoStream=true"), str;
},
patchStreamHud(str) {
let text = "let{onCollapse";
if (!str.includes(text)) return !1;
let index = str.indexOf("let{onCollapse");
if (index < 0) return !1;
let newCode = streamhud_default;
if (getGlobalPref("touchController.mode") === "off") newCode += "options.canShowTakHUD = false;";
return str = str.replace(text, newCode + text), str;
return str = PatcherUtils.insertAt(str, index, newCode), str;
},
broadcastPollingMode(str) {
let text = ".setPollingMode=e=>{";

File diff suppressed because one or more lines are too long

View File

@ -422,8 +422,8 @@ if (titleInfo && !titleInfo.details.hasTouchSupport && !titleInfo.details.hasFak
},
patchStreamHud(str: string) {
let text = 'let{onCollapse';
if (!str.includes(text)) {
let index = str.indexOf('let{onCollapse');
if (index < 0) {
return false;
}
@ -434,7 +434,7 @@ if (titleInfo && !titleInfo.details.hasTouchSupport && !titleInfo.details.hasFak
newCode += 'options.canShowTakHUD = false;';
}
str = str.replace(text, newCode + text);
str = PatcherUtils.insertAt(str, index, newCode);
return str;
},

View File

@ -120,8 +120,9 @@ export class SettingsManager {
[StreamPref.STATS_QUICK_GLANCE_ENABLED]: {
onChange: () => {
const value = getStreamPref(StreamPref.STATS_QUICK_GLANCE_ENABLED);
const streamStats = StreamStats.getInstance();
value ? streamStats.quickGlanceSetup() : streamStats.quickGlanceStop();
if (!value) {
StreamStats.getInstance().stop(true);
}
},
},
[StreamPref.STATS_POSITION]: {

View File

@ -75,6 +75,8 @@ export class StreamStats {
BxLogger.info(this.LOG_TAG, 'constructor()');
this.boundOnStreamHudStateChanged = this.onStreamHudStateChanged.bind(this);
BxEventBus.Stream.on('ui.streamHud.expanded', this.boundOnStreamHudStateChanged);
this.render();
}
@ -114,7 +116,6 @@ export class StreamStats {
destroy() {
this.stop();
this.quickGlanceStop();
this.hideSettingsUi();
}
@ -122,6 +123,10 @@ export class StreamStats {
isGlancing = () => this.$container.dataset.display === 'glancing';
onStreamHudStateChanged({ state }: { state: string }) {
if (!getStreamPref(StreamPref.STATS_QUICK_GLANCE_ENABLED)) {
return;
}
if (state === 'expanded') {
this.isHidden() && this.start(true);
} else {
@ -129,18 +134,6 @@ export class StreamStats {
}
}
quickGlanceSetup() {
if (!STATES.isPlaying) {
return;
}
BxEventBus.Stream.on('ui.streamHud.expanded', this.boundOnStreamHudStateChanged);
}
quickGlanceStop() {
BxEventBus.Stream.off('ui.streamHud.expanded', this.boundOnStreamHudStateChanged);
}
private update = async (forceUpdate=false) => {
if ((!forceUpdate && this.isHidden()) || !STATES.currentStream.peerConnection) {
this.destroy();
@ -232,7 +225,6 @@ export class StreamStats {
if (PREF_STATS_SHOW_WHEN_PLAYING) {
streamStats.start();
} else if (PREF_STATS_QUICK_GLANCE) {
streamStats.quickGlanceSetup();
// Show stats bar
!PREF_STATS_SHOW_WHEN_PLAYING && streamStats.start(true);
}