/* Metro module 9490; source: modules/quests/QuestDecisionRoundtripTracker.tsx; dependencies: [6, 7, 4401, 7093, 661, 4873, 683, 7071, 4876, 7108, 2] */ import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import NetworkStore from '../../stores/NetworkStore.tsx'; /* Metro dependency 4401 */ import QuestStore from './QuestStore.tsx'; /* Metro dependency 7093 */ import NewAdRequestBehaviorExperiment from './experiments/NewAdRequestBehaviorExperiment.tsx'; /* Metro dependency 7108 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ function _fun74080(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#74080, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:6, offset: 0x01d7fec2, size: 223 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = _fun74082(); value = new value(); (FileImportTrackerModule).fileFinishedImporting('modules/quests/QuestDecisionRoundtripTracker.tsx'); exports.default = value; function trackRoundtrip_74081(a0, a1, a2) { // fn#74081, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:161, offset: 0x01d7ffa1, size: 469 bytes, params: 4, frame: 22 var r9; var decision_id; var fetchedAt; var apiResponseTimestamp; var value4; var signalStrength; var defaultImport; var track; var QUEST_DECISION_ROUNDTRIP; var object; var previousAdDecision; const Math = global.Math; let value = Math.random(); if (!(value > 0.1)) { apiResponseTimestamp = a0.apiResponseTimestamp; value = null; r9 = value == apiResponseTimestamp ? value : a0.apiResponseTimestamp - a0.initialSendTimestamp; value4 = undefined; signalStrength = require(dependencyMap[5]).getSignalStrength(); defaultImport = importDefault(dependencyMap[6]); track = defaultImport.track; QUEST_DECISION_ROUNDTRIP = AnalyticEvents.QUEST_DECISION_ROUNDTRIP; object = {}; copyDataProperties(object, importDefault(dependencyMap[7])(), dependencyMap); object['endpoint'] = a0.endpoint; object['was_successful'] = a0.wasSuccessful; object['api_latency_ms'] = r9; object['mobile_network_type'] = NetworkStore.getType(); copyDataProperties(object, value != signalStrength && ({mobile_signal_strength_level: signalStrength}), dependencyMap); object['caller_source'] = a0.callerSource; object['ad_request_id'] = a0.adRequestId; object['fetched_at'] = a2; previousAdDecision = a0.previousAdDecision; decision_id = value == previousAdDecision || value == previousAdDecision.adDecisionData ? value4 : previousAdDecision.adDecisionData.decision_id; r9 = value != decision_id ? decision_id : value; object['previous_ad_request_id'] = r9; previousAdDecision = a0.previousAdDecision; fetchedAt = value == previousAdDecision ? value4 : previousAdDecision.fetchedAt; object['previous_fetched_at'] = value != fetchedAt ? fetchedAt : value; object['transition_case'] = a1; value = require(dependencyMap[8]); value = value.isForegrounded(); object['is_foregrounded'] = value; Reflect.apply(track, defaultImport, [QUEST_DECISION_ROUNDTRIP, object]); } } function _fun74082() { // fn#74082, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:893, offset: 0x01d80176, size: 86 bytes, params: 1, frame: 15 return CreateClass(QuestDecisionRoundtripTracker, [{key: 'recordQuestRequestAttempt', value: value_74084}, {key: 'recordQuestRequestApiResponse', value: value_74086}]); function QuestDecisionRoundtripTracker() { // fn#74083, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:914, offset: 0x01d801cc, size: 61 bytes, params: 1, frame: 13 const value = environment.__proto__; env1_3(this, QuestDecisionRoundtripTracker); const Map = global.Map; this.pendingRequests = new Map(); } function value_74084(a0, a1) { // fn#74084, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:1064, offset: 0x01d80209, size: 233 bytes, params: 3, frame: 19 var environment; var r7; let value = a2; const env0_1 = a0; const r4 = value !== undefined ? value : null; value = environment.__proto__; const defaultImport = NewAdRequestBehaviorExperiment; const getConfig = defaultImport.getConfig; const enableNewRequestBehavior = Reflect.apply(getConfig, defaultImport, [{location: 'recordQuestRequestAttempt'}]).enableNewRequestBehavior; const value2 = null; if (enableNewRequestBehavior) { if (value2 != r4) { value = QuestStore.questAdDecisionByPlacement.get(r4); r7 = value2 != value ? value : value2; } else { r7 = value2; } } else { r7 = value2; } object = {'initialSendTimestamp': null, 'endpoint': null, 'apiResponseTimestamp': null, 'wasSuccessful': false, 'callerSource': null, 'adRequestId': null}; const Date = global.Date; object.initialSendTimestamp = Date.now(); object.endpoint = a0; object.callerSource = a1; object.previousAdDecision = r7; object.placement = r4; this.pendingRequests.set(a0, object); global.setTimeout(_fun74085, 30000); function _fun74085() { // fn#74085, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:1436, offset: 0x01d802f2, size: 81 bytes, params: 1, frame: 16 var value3; const value2 = env0_0.pendingRequests.get(env0_1); if (value2 != null) { value3 = environment.__proto__.__proto__; trackRoundtrip_74081(value2, 'timeout', null); env0_0.pendingRequests.delete(env0_1); } } } function value_74086(a0, {wasSuccessful, adRequestId, currentQuestId, currentFetchedAt}) { // fn#74086, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:1602, offset: 0x01d80343, size: 305 bytes, params: 3, frame: 25 var environment; var r5; var r6; var value7; var defaultImport; var getConfig; var object; var value9; var trackRoundtrip_74081Binding; adRequestId = adRequestId === undefined ? null : adRequestId; currentQuestId = currentQuestId === undefined ? null : currentQuestId; currentFetchedAt = currentFetchedAt === undefined ? null : currentFetchedAt; const value5 = this.pendingRequests.get(a0); if (value5 != null) { value7 = environment.__proto__; defaultImport = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; getConfig = defaultImport.getConfig; object = {location: 'recordQuestRequestApiResponse'}; if (Reflect.apply(getConfig, defaultImport, [object]).enableNewRequestBehavior) { value9 = ((a0, a1) => { var closure = _fun74088; var value = undefined; var value2 = closure(a0); var value3 = closure(a1); return value2 !== 'quest' ? '' + value2 + '_to_' + value3 : value3 === 'quest' ? (a0 == null ? value : a0.questId) !== (a1 == null ? value : a1.questId) ? 'different_quest' : 'same_quest' : '' + value2 + '_to_' + value3; })(value5.previousAdDecision, currentFetchedAt === null ? null : {questId: currentQuestId, adCreativeId: currentQuestId, fetchedAt: currentFetchedAt, ttlMillis: 0, adDecisionData: adRequestId != null ? {decision_id: adRequestId} : undefined}); r5 = currentFetchedAt; r6 = value9; } else { r5 = null; r6 = 'legacy'; } trackRoundtrip_74081Binding = trackRoundtrip_74081; object = {}; copyDataProperties(object, value5, undefined); object['apiResponseTimestamp'] = global.Date.now(); object['wasSuccessful'] = wasSuccessful; object['adRequestId'] = adRequestId; trackRoundtrip_74081Binding(object, r6, r5); this.pendingRequests.delete(a0); } function computeTransitionCase(a0, a1) { // fn#74087, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:1961, owner: value_74086.computeTransitionCase, offset: 0x01d80474, size: 124 bytes, params: 3, frame: 18 const closure = function(a0) { return a0 == null ? 'null' : a0.questId == null ? 'no_serve' : 'quest'; }; const value = undefined; const value2 = closure(a0); const value3 = closure(a1); return value2 !== 'quest' ? '' + value2 + '_to_' + value3 : value3 === 'quest' ? (a0 == null ? value : a0.questId) !== (a1 == null ? value : a1.questId) ? 'different_quest' : 'same_quest' : '' + value2 + '_to_' + value3; } } } } function computeTransitionCaseGetState(a0) { // fn#74088, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9676:2010, owner: value_74086.computeTransitionCase.getState, offset: 0x01d804f0, size: 44 bytes, params: 2, frame: 4 return a0 == null ? 'null' : a0.questId == null ? 'no_serve' : 'quest'; } global.__d(_fun74080, 9490, [6, 7, 4401, 7093, 661, 4873, 683, 7071, 4876, 7108, 2]) /* metro module 9490, dependencies: [6, 7, 4401, 7093, 661, 4873, 683, 7071, 4876, 7108, 2] */;