decord/alpha/source/modules/chat/native/NativeExperimentBridgeManager.tsx

108 lines
4.9 KiB
TypeScript
Raw Normal View History

2026-10-09 10:00:15 +00:00
// Module ID: 18506
// Function ID: 18507
// Name: NativeExperimentBridgeManager
2026-10-09 10:00:15 +00:00
// Dependencies: [17, 2128, 502, 1382, 18507, 5752, 18508, 1265, 18509, 1295, 6804, 2]
2026-07-20 16:05:17 +00:00
2026-10-09 10:00:15 +00:00
// Module 18506 (NativeExperimentBridgeManager)
2026-10-03 08:58:59 +00:00
import react_native from "react-native" /* 17 */;
2026-10-09 10:00:15 +00:00
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1265 */;
import HTTPUtils from "HTTPUtils" /* 1295 */;
import PlatformUtils from "PlatformUtils" /* 1382 */;
import IOSPushNotificationRawPayloadFixExperiment from "IOSPushNotificationRawPayloadFixExperiment" /* 5752 */;
import VideoStutterMitigationExperimentDefault from "VideoStutterMitigationExperiment" /* 18508 */;
import NotificationLoadMessagesExperimentDefault from "NotificationLoadMessagesExperiment" /* 18509 */;
2026-10-08 09:57:35 +00:00
import LocaleStore from "LocaleStore" /* 2128 */;
import AuthenticationStore from "AuthenticationStore" /* 502 */;
2026-10-09 10:00:15 +00:00
import AutomaticLifecycleManager from "AutomaticLifecycleManager" /* 6804 */;
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let tmp;
2026-10-09 10:00:15 +00:00
const YYTextReplacementExperiment = tmp(18507);
2026-07-20 16:05:17 +00:00
function syncYYTextReplacementExperiment() {
2026-10-03 08:58:59 +00:00
const obj = PlatformUtils;
2026-07-20 16:05:17 +00:00
if (obj.isIOS()) {
const NSUserDefaultsBridge = NativeModules.NSUserDefaultsBridge;
2026-07-29 08:29:29 +00:00
if (NSUserDefaultsBridge != null) {
const setShouldEnableYYTextReplacement = NSUserDefaultsBridge.setShouldEnableYYTextReplacement;
if (setShouldEnableYYTextReplacement != null) {
const tmpResult = YYTextReplacementExperiment;
2026-10-03 08:58:59 +00:00
const result = setShouldEnableYYTextReplacement(tmpResult.shouldEnableYYTextReplacement({ location: "NativeExperimentBridgeManager" }));
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
}
}
}
function updateIOSExperiments() {
2026-10-03 08:58:59 +00:00
const obj = PlatformUtils;
2026-07-29 08:29:29 +00:00
if (obj.isIOS()) {
const NSUserDefaultsBridge = NativeModules.NSUserDefaultsBridge;
if (NSUserDefaultsBridge != null) {
const setShouldEnableYYTextReplacement = NSUserDefaultsBridge.setShouldEnableYYTextReplacement;
if (setShouldEnableYYTextReplacement != null) {
2026-10-03 08:58:59 +00:00
const tmpResult = YYTextReplacementExperiment;
const result = setShouldEnableYYTextReplacement(tmpResult.shouldEnableYYTextReplacement({ location: "NativeExperimentBridgeManager" }));
2026-07-29 08:29:29 +00:00
}
}
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const NSUserDefaultsBridge2 = NativeModules.NSUserDefaultsBridge;
if (NSUserDefaultsBridge2 != null) {
const setShouldFixPushNotificationRawPayload = NSUserDefaultsBridge2.setShouldFixPushNotificationRawPayload;
if (setShouldFixPushNotificationRawPayload != null) {
2026-10-03 08:58:59 +00:00
const tmpResult2 = IOSPushNotificationRawPayloadFixExperiment;
const result1 = setShouldFixPushNotificationRawPayload(tmpResult2.isIOSPushNotificationRawPayloadFixExperimentEnabled());
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
const obj4 = VideoStutterMitigationExperimentDefault;
2026-07-29 08:29:29 +00:00
if (obj4.getConfig({ location: "NativeExperimentBridgeManager" }).enabled) {
const RNVVideo = tmp6.RNVVideo;
if (RNVVideo != null) {
const result2 = RNVVideo.setOptimizeConfigureAudio(true);
}
const RNVVideo2 = tmp6.RNVVideo;
if (RNVVideo2 != null) {
const result3 = RNVVideo2.setUseBackgroundProgressQueue(true);
2026-07-20 16:05:17 +00:00
}
}
}
function updateAndroidExperiments() {
2026-10-03 08:58:59 +00:00
let obj2;
let obj6;
const obj = { "X-Super-Properties": obj2.getSuperPropertiesBase64(), "X-Fingerprint": AuthenticationStore.getFingerprint(), "X-Installation-ID": AuthenticationStore.getInstallationForTracking(), "X-Discord-Locale": LocaleStore.locale };
obj2 = AnalyticsUtilsDefault;
const obj4 = NotificationLoadMessagesExperimentDefault;
const config = obj4.getConfig({ location: "NativeExperimentBridgeManager" });
2026-07-20 16:05:17 +00:00
const NativeCacheModule = NativeModules.NativeCacheModule;
2026-10-03 08:58:59 +00:00
const obj3 = AuthenticationStore;
2026-07-29 08:29:29 +00:00
if (NativeCacheModule != null) {
2026-07-20 16:05:17 +00:00
const _JSON = JSON;
2026-10-03 08:58:59 +00:00
const setItem = NativeCacheModule.setItem;
const obj5 = { headers: obj, userId: obj3.getId(), enabled: tmp3, apiBaseUrl: obj6.getAPIBaseURL(), urlQueryParams: "?limit=" + tmp4, cooldownMs: tmp5, debounceMs: tmp6 };
2026-07-20 16:05:17 +00:00
const _HermesInternal = HermesInternal;
2026-10-03 08:58:59 +00:00
obj6 = HTTPUtils;
const result = setItem("notificationNetworkRequest", stringify(obj5));
2026-07-29 08:29:29 +00:00
}
}
2026-10-03 08:58:59 +00:00
const NativeModules = react_native.NativeModules;
class NativeExperimentBridgeManager extends AutomaticLifecycleManager {
constructor() {
let tmp5;
const applyArgumentsResult = HermesBuiltin.applyArguments(this, new.target);
const obj = PlatformUtils;
if (obj.isIOS()) {
tmp5 = updateIOSExperiments;
} else {
const tmp3Result = PlatformUtils;
tmp5 = tmp3Result.isAndroid() ? updateAndroidExperiments : (() => {
2026-07-29 08:29:29 +00:00
2026-10-03 08:58:59 +00:00
});
}
applyArgumentsResult.handleUpdate = tmp5;
const obj2 = { APP_STATE_UPDATE: syncYYTextReplacementExperiment, POST_CONNECTION_OPEN: applyArgumentsResult.handleUpdate };
applyArgumentsResult.actions = obj2;
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
const nativeExperimentBridgeManager = new NativeExperimentBridgeManager();
let result = size.fileFinishedImporting("modules/chat/native/NativeExperimentBridgeManager.tsx");
2026-07-20 16:05:17 +00:00
2026-10-03 08:58:59 +00:00
export default nativeExperimentBridgeManager;