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;