From 481b365e6e628c46efbfa6e17966926aba8a2810 Mon Sep 17 00:00:00 2001 From: redphx <96280+redphx@users.noreply.github.com> Date: Sat, 6 Jul 2024 16:13:53 +0700 Subject: [PATCH] Add "IsSupportedTvBrowser" flag --- src/utils/bx-flags.ts | 2 ++ src/utils/user-agent.ts | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/utils/bx-flags.ts b/src/utils/bx-flags.ts index 0a0e44c..cff1394 100644 --- a/src/utils/bx-flags.ts +++ b/src/utils/bx-flags.ts @@ -11,6 +11,8 @@ type BxFlags = Partial<{ FeatureGates: {[key: string]: boolean} | null, ScriptUi: 'default' | 'tv', + + IsSupportedTvBrowser: boolean, }> // Setup flags diff --git a/src/utils/user-agent.ts b/src/utils/user-agent.ts index 521eb0c..e087cdb 100644 --- a/src/utils/user-agent.ts +++ b/src/utils/user-agent.ts @@ -1,5 +1,6 @@ import { UserAgentProfile } from "@enums/user-agent"; import { deepClone } from "./global"; +import { BX_FLAGS } from "./bx-flags"; type UserAgentConfig = { profile: UserAgentProfile, @@ -116,7 +117,12 @@ export class UserAgent { return; } - const newUserAgent = UserAgent.get(profile); + let newUserAgent = UserAgent.get(profile); + + // Pretend to be Tizen TV + if (BX_FLAGS.IsSupportedTvBrowser) { + newUserAgent += 'SmartTV FC4A1DA2-711C-4E9C-BC7F-047AF8A672EA'; + } // Clear data of navigator.userAgentData, force xCloud to detect browser based on navigator.userAgent (window.navigator as any).orgUserAgentData = (window.navigator as any).userAgentData;