/* Metro module 8912; source: utils/StreamQualityUtils.tsx; dependencies: [31, 4399, 1226, 1867, 4294, 1878, 661, 4282, 1880, 4291, 1244, 566, 683, 2] */ function _fun69523(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#69523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:6, offset: 0x01c75b26, size: 449 bytes, params: 8, frame: 22 let env0_0 = require; const closure = function(a0) { return a0.quality != null || a0.guildPremiumTier != null; }; const closure2 = function(a0, a1, a2) { var env0_0 = a0; var env0_1 = a1; var env0_2 = a2; return ApplicationStreamSettingRequirements.find(_fun69526); }; const closure3 = function(a0) { var value = null; return value == a0.maxResolution || value == a0.maxFrameRate ? value : {maxFrameRate: a0.maxFrameRate, maxResolution: a0.maxResolution}; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importAll(31) /* metro dependency 31 */; const applicationStreamingSettingsStore = importDefault(4399) /* metro dependency 4399: ApplicationStreamingSettingsStore */; const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const rtcConnectionStore = importDefault(4294) /* metro dependency 4294: RTCConnectionStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const env0_9 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents; const streamSettingsConstantsModule = require(4282) /* metro dependency 4282: StreamSettingsConstants */; const env0_10 = streamSettingsConstantsModule.ApplicationStreamFPS; const env0_11 = streamSettingsConstantsModule.ApplicationStreamResolutions; const env0_12 = streamSettingsConstantsModule.ApplicationStreamSettingRequirements; const env0_13 = streamSettingsConstantsModule.getApplicationFramerate; const env0_14 = streamSettingsConstantsModule.getApplicationResolution; const env0_15 = (require(1880) /* metro dependency 1880: PremiumConstants */).StreamQualitiesToPremiumType; const env0_16 = (require(4291) /* metro dependency 4291: Constants */).ResolutionTypes; (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/StreamQualityUtils.tsx'); exports.isPremiumResolution = isPremiumResolution; exports.isPremiumFPS = isPremiumFPS; exports.isPremiumRequirement = closure; exports.getPremiumRequirement = closure2; exports.getResolutionText = getResolutionText; exports.getFPSText = function(a0) { var intl = require(dependencyMap[10]).intl; var Qb44XH = require(dependencyMap[10]).t.Qb44XH; return intl.formatToPlainString(Qb44XH, {fps: a0}); }; exports.getMaxQuality = closure3; exports.useMaxQuality = useMaxQuality; exports.trackStreamSettingsUpdate = trackStreamSettingsUpdate; } function getPremiumRequirement(a0, a1, a2) { // fn#69525, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:499, offset: 0x01c75d05, size: 50 bytes, params: 4, frame: 11 const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; return ApplicationStreamSettingRequirements.find(_fun69526); } function isPremiumResolution(a0) { // fn#69528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:845, offset: 0x01c75dc4, size: 141 bytes, params: 2, frame: 15 if (a0 != null) { var env0_0 = getApplicationResolution(a0.maxResolution.type === ResolutionTypes.SOURCE ? ApplicationStreamResolutions.RESOLUTION_SOURCE : a0.maxResolution.height); return getApplicationFramerate(a0.maxFrameRate) !== ApplicationStreamFPS.FPS_5 && ApplicationStreamSettingRequirements.find(_fun69529) == null; } } function isPremiumFPS(a0) { // fn#69530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1109, offset: 0x01c75e95, size: 67 bytes, params: 2, frame: 14 if (a0 != null) { var env0_0 = getApplicationFramerate(a0.maxFrameRate); return ApplicationStreamSettingRequirements.find(_fun69531) == null; } } function getResolutionText(a0) { // fn#69532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1344, offset: 0x01c75f02, size: 156 bytes, params: 2, frame: 17 const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const type = a0.type; const SOURCE = ResolutionTypes.SOURCE; return type === SOURCE ? intl.string(t.XjXqzh) : intl.formatToPlainString(t.TEOC0I, {resolution: a0.height}); } function useMaxQuality(a0) { // fn#69534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1672, offset: 0x01c75fe9, size: 152 bytes, params: 2, frame: 20 const env0_0 = a0; return env0_3.useMemo(_fun69537, [(require(566) /* metro dependency 566: flux */).useStateFromStores([AuthenticationStore], function() { return AuthenticationStore.getId(); }), a0, (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ApplicationStreamingSettingsStore], function() { return ApplicationStreamingSettingsStore.getState(); })]); } function trackStreamSettingsUpdate(a0, a1, a2, a3) { // fn#69538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:2011, offset: 0x01c7612b, size: 263 bytes, params: 5, frame: 25 const getPremiumRequirementBinding = getPremiumRequirement; const value2 = undefined; const premiumRequirementBinding = getPremiumRequirementBinding(a0, a1, a2); const currentUser = UserStore.getCurrentUser(); const guildId = RTCConnectionStore.getGuildId(); const value6 = null; const r12 = value6 != guildId ? GuildStore.getGuild(guildId) : value6; const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const STREAM_SETTINGS_UPDATE = AnalyticEvents.STREAM_SETTINGS_UPDATE; Reflect.apply(track, defaultImport, [STREAM_SETTINGS_UPDATE, {user_premium_tier: value6 == currentUser ? value2 : currentUser.premiumType, guild_premium_tier: value6 == r12 ? value2 : r12.premiumTier, stream_quality_user_premium_tier: value6 != (value6 == premiumRequirementBinding ? value2 : premiumRequirementBinding.quality) ? StreamQualitiesToPremiumType[premiumRequirementBinding.quality] : value6, stream_quality_guild_premium_tier: value6 == premiumRequirementBinding ? value2 : premiumRequirementBinding.guildPremiumTier, stream_quality_preset: a0, stream_quality_resolution: a1, stream_quality_frame_rate: a2, soundshare_enabled: a3}]); return value2; } function _fun69526(a0) { // fn#69526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:552, offset: 0x01c75d37, size: 77 bytes, params: 2, frame: 4 return (a0.preset == null || a0.preset === env0_0) && a0.resolution === require && a0.fps === importDefault; } function _fun69529(a0) { // fn#69529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1027, offset: 0x01c75e51, size: 68 bytes, params: 2, frame: 12 var r0; var fps; const resolution = a0.resolution; let value = resolution === env0_0; if (value) { fps = a0.fps; value = environment.__proto__; value = fps !== ApplicationStreamFPS.FPS_5; r0 = value; } else { r0 = value; } if (r0) { value = environment.__proto__; value = !isPremiumRequirement(a0); r0 = value; } return r0; } function _fun69531(a0) { // fn#69531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1191, offset: 0x01c75ed8, size: 42 bytes, params: 2, frame: 12 var r0; const fps = a0.fps; let value = fps === env0_0; if (value) { value = environment.__proto__; value = !isPremiumRequirement(a0); r0 = value; } else { r0 = value; } return r0; } function _fun69537() { // fn#69537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9097:1833, offset: 0x01c760a7, size: 132 bytes, params: 1, frame: 14 var r0; var value2; var object3; var binding; var object4; var resolution; const idBinding = id; const user = env0_0.user; if (idBinding === user.id) { object3 = {}; binding = env0_1; object3.maxFrameRate = binding.fps; object4 = {}; resolution = binding.resolution; object4.height = resolution; object4.width = 0; resolution = binding.resolution; object4.type = resolution === 0 ? ResolutionTypes.SOURCE : ResolutionTypes.FIXED; object3.maxResolution = object4; r0 = object3; } else { value2 = environment.__proto__; r0 = getMaxQuality(env0_0); } return r0; }