Files
discord-decomp/sources/modules/video_backgrounds/applyBackgroundOption.tsx
T
2026-07-27 16:20:00 +03:00

604 lines
23 KiB
TypeScript

/* Metro module 8904; source: modules/video_backgrounds/applyBackgroundOption.tsx; dependencies: [5, 1878, 8905, 7617, 661, 44, 8907, 4406, 8910, 1423, 8906, 8909, 8911, 2] */
function _fun69429(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#69429, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:6, offset: 0x01c73868, size: 304 bytes, params: 8, frame: 20
const env0_0 = require;
const applyBackgroundOption = function() {
return _applyBackgroundOption.apply(this, arguments);
};
const closure = function() {
return _applyBackgroundOptionLive.apply(this, arguments);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const videoBackgroundStore = importDefault(8905) /* metro dependency 8905: VideoBackgroundStore */;
const videoBackgroundConstantsModule = require(7617) /* metro dependency 7617: VideoBackgroundConstants */;
const env0_6 = videoBackgroundConstantsModule.BACKGROUND_REPLACEMENT_SIZE;
const env0_7 = videoBackgroundConstantsModule.BLUR_BACKGROUND_OPTION;
const env0_8 = (require(661) /* metro dependency 661: Constants */).NOOP;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/video_backgrounds/applyBackgroundOption.tsx');
exports.applyBackgroundOptionLive = closure;
exports.applyBackgroundOptionPreview = function() {
return _applyBackgroundOptionPreview.apply(this, arguments);
};
exports.applyInitialVideoBackgroundOption = applyInitialVideoBackgroundOption;
}
function _getFilterBlob() { // fn#69430, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:212, offset: 0x01c73998, size: 50 bytes, params: 1, frame: 14
return env0_3(_fun69432).apply(this, arguments);
}
function applyBackgroundMediaFilterSettings(a0, a1, a2, a3, a4) { // fn#69433, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:392, offset: 0x01c73a4c, size: 84 bytes, params: 6, frame: 14
(require(8907) /* metro dependency 8907: VideoBackgroundActionCreators */).applyMediaFilterSettings({[a0]: {graph: a2,
target: a1, image: a3, blob: a4}});
}
function _applyBackgroundOption() { // fn#69435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:606, offset: 0x01c73aa0, size: 50 bytes, params: 1, frame: 14
return env0_3(_fun69437).apply(this, arguments);
}
function _applyBackgroundOptionLive() { // fn#69444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:2078, offset: 0x01c73eb8, size: 50 bytes, params: 1, frame: 14
return env0_3(_fun69446).apply(this, arguments);
}
function _applyBackgroundOptionPreview() { // fn#69447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:2397, offset: 0x01c73fb4, size: 50 bytes, params: 1, frame: 14
return env0_3(_fun69449).apply(this, arguments);
}
function applyInitialVideoBackgroundOption() { // fn#69451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:3082, offset: 0x01c740ce, size: 140 bytes, params: 1, frame: 16
var r1;
var lastUsedVideoBackgroundOption;
const currentUser = UserStore.getCurrentUser();
if (currentUser != null) {
lastUsedVideoBackgroundOption = (require(8909) /* metro dependency 8909: LastUsedVideoBackgroundOption */).getLastUsedVideoBackgroundOption(currentUser);
r1 = (importDefault(8911) /* metro dependency 8911: isVideoBackgroundSupported */)() && !VideoBackgroundStore.hasBeenApplied;
r1 = r1 && lastUsedVideoBackgroundOption != null;
if (r1) {
applyBackgroundOptionLive(lastUsedVideoBackgroundOption, {track: false}).catch(NOOP);
}
}
}
function* _fun69432(a0) { // fn#69432, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:263, offset: 0x01c739d5, size: 119 bytes, params: 2, frame: 14
if (false) {
return undefined;
}
yield global.fetch(a0);
value = undefined;
if (false) {
return value;
}
yield value.blob();
value = undefined;
if (false) {
return value;
}
const Uint8ClampedArray = global.Uint8ClampedArray;
yield value.arrayBuffer();
value = undefined;
if (false) {
return value;
}
const value6 = Object.create(Uint8ClampedArray.prototype, {constructor: {value: Uint8ClampedArray}});
const uint8ClampedArray = new Uint8ClampedArray(value);
return uint8ClampedArray instanceof Object ? uint8ClampedArray : value6;
}
function* _fun69437(a0, a1, a2) { // fn#69437, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:673, offset: 0x01c73add, size: 553 bytes, params: 4, frame: 28
var environment;
var r9;
var r11;
var r7;
var r8;
var asset;
var binding;
var property;
var isVideo;
var closure;
var value10;
var value11;
var value12;
var value13;
var value14;
var value15;
var binding2;
var binding3;
var value16;
var FilterSettingsGraph;
var BACKGROUND_REPLACEMENT;
var error;
var value17;
var value18;
if (false) {
return undefined;
}
value = undefined;
if (a2 == null) {
value18 = environment.__proto__.__proto__;
env2_10(a0, a1, env2_0(env2_2[7]).FilterSettingsGraph.NONE);
} else {
if (a2 === env2_7) {
env2_10(a0, a1, env2_0(env2_2[7]).FilterSettingsGraph.BACKGROUND_BLUR);
return value;
}
var value4 = typeof a2;
if (value4 === 'string') {
binding = env2_1;
property = binding(env2_2[8])()[a2];
isVideo = property.isVideo;
r11 = isVideo != null && isVideo;
r7 = property.source;
r8 = r11;
} else if (value4 === 'number') {
binding = env2_1;
property = binding(env2_2[8])()[a2];
isVideo = property.isVideo;
r11 = isVideo != null && isVideo;
r7 = property.source;
r8 = r11;
} else {
asset = a2.asset;
binding = env2_0;
r9 = binding(env2_2[9]).isAnimatedIconHash(asset) || env2_0(env2_2[9]).isVideoAssetHash(asset);
binding = env2_0;
r7 = binding(env2_2[9]).getVideoFilterAssetURL({userId: a2.user_id, assetId: a2.id, assetHash: asset,
size: env2_6.width});
r8 = r9;
}
if (r7 == null) {
return value;
}
if (r8) {
r9 = value;
if (r8) {
try {
closure = getFilterBlob;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value13 = closure(r7);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
yield value13;
try {
value14 = undefined;
value15 = false;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
if (value15) {
return value14;
}
r11 = value14;
try {
binding = env2_10;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding2 = env2_0;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding3 = env2_2;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
property = binding3[7];
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value16 = binding2(property);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
FilterSettingsGraph = value16.FilterSettingsGraph;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
BACKGROUND_REPLACEMENT = FilterSettingsGraph.BACKGROUND_REPLACEMENT;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding(a0, a1, BACKGROUND_REPLACEMENT, r9, r11);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
}
return value;
}
r11 = value;
try {
binding = env2_10;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding2 = env2_0;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding3 = env2_2;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
property = binding3[7];
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value16 = binding2(property);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
FilterSettingsGraph = value16.FilterSettingsGraph;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
BACKGROUND_REPLACEMENT = FilterSettingsGraph.BACKGROUND_REPLACEMENT;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding(a0, a1, BACKGROUND_REPLACEMENT, r9, r11);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
}
return value;
}
try {
closure = function(a0) {
var env0_0 = a0;
var Promise = global.Promise;
var value = Object.create(Promise.prototype, {constructor: {value: Promise}});
var value2 = new Promise(_fun69439);
return value2 instanceof Object ? value2 : value;
};
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value10 = closure(r7);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
yield value10;
try {
value11 = undefined;
value12 = false;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
if (value12) {
return value11;
}
r9 = value11;
if (r8) {
try {
closure = getFilterBlob;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value13 = closure(r7);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
yield value13;
try {
value14 = undefined;
value15 = false;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
if (value15) {
return value14;
}
r11 = value14;
try {
binding = env2_10;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding2 = env2_0;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding3 = env2_2;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
property = binding3[7];
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value16 = binding2(property);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
FilterSettingsGraph = value16.FilterSettingsGraph;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
BACKGROUND_REPLACEMENT = FilterSettingsGraph.BACKGROUND_REPLACEMENT;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding(a0, a1, BACKGROUND_REPLACEMENT, r9, r11);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
}
return value;
}
r11 = value;
try {
binding = env2_10;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding2 = env2_0;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding3 = env2_2;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
property = binding3[7];
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
value16 = binding2(property);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
FilterSettingsGraph = value16.FilterSettingsGraph;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
BACKGROUND_REPLACEMENT = FilterSettingsGraph.BACKGROUND_REPLACEMENT;
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
return value;
}
try {
binding(a0, a1, BACKGROUND_REPLACEMENT, r9, r11);
} catch (error) {
binding = env2_0;
value17 = binding(env2_2[6]);
value17.errorApplyingMediaFilterSettings();
}
}
return value;
}
async function _fun69446(a0, {track, location}) { // fn#69446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:2153, offset: 0x01c73efe, size: 182 bytes, params: 3, frame: 23
if (true) {
track = track === undefined || track;
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
var binding = env2_11;
var binding2 = env2_0;
var binding3 = env2_2;
var FilterSettingsKey = binding2(binding3[7]).FilterSettingsKey;
var CAMERA_BACKGROUND_LIVE = FilterSettingsKey.CAMERA_BACKGROUND_LIVE;
var FilterTargetType = binding2(binding3[7]).FilterTargetType;
var INPUT_DEVICE = FilterTargetType.INPUT_DEVICE;
await binding(CAMERA_BACKGROUND_LIVE, {type: INPUT_DEVICE}, a0);
if (false) {
return undefined;
}
if (track) {
env2_0(env2_2[10]).trackBackgroundOptionUpdated(a0, location, 'Enabled');
}
}
}
async function _fun69449(a0, a1, {track, location}) { // fn#69449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:2478, offset: 0x01c73ffa, size: 212 bytes, params: 4, frame: 23
if (true) {
track = track === undefined || track;
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
var binding = env2_0;
var binding2 = env2_2;
binding(binding2[6]).startApplyMediaFilterSettings();
var binding3 = env2_11;
var FilterSettingsKey = binding(binding2[7]).FilterSettingsKey;
var CAMERA_BACKGROUND_PREVIEW = FilterSettingsKey.CAMERA_BACKGROUND_PREVIEW;
var FilterTargetType = binding(binding2[7]).FilterTargetType;
var STREAM = FilterTargetType.STREAM;
await binding3(CAMERA_BACKGROUND_PREVIEW, {type: STREAM, streamId: a1}, a0);
if (false) {
return undefined;
}
if (track) {
env2_0(env2_2[10]).trackBackgroundOptionUpdated(a0, location, 'Preview');
}
}
}
function getFilterImage(a0) { // fn#69438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:1199, offset: 0x01c73d06, size: 46 bytes, params: 2, frame: 11
const env0_0 = a0;
const Promise = global.Promise;
const value = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(_fun69439);
return promise instanceof Object ? promise : value;
}
function _fun69439(a0, a1) { // fn#69439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:1246, offset: 0x01c73d34, size: 103 bytes, params: 3, frame: 10
const env0_0 = a0;
const env0_1 = a1;
const Image = global.Image;
const image = new Image();
image.crossOrigin = 'anonymous';
image.onload = onload_69440;
image.onerror = function(a0) {
return require(a0);
};
image.src = env0_0;
}
function onload_69440() { // fn#69440, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9089:1305, offset: 0x01c73d9b, size: 285 bytes, params: 1, frame: 22
let value = global.document.createElement('canvas');
value.width = env5_6.width;
let height = env5_6.height;
value.height = height;
const context = value.getContext('2d');
let binding = env5_1;
binding(env5_2[5])(context != null, 'Canvas context is missing');
binding = env0_2;
const value6 = binding.height / binding.width;
height = env5_6.height;
const value7 = env5_6.height / value6;
context.drawImage(binding, (value.width - value7) / 2, (value.height - height) / 2, value7, height);
value = context.getImageData(0, 0, value.width, value.height);
env0_0({data: value.data, width: value.width, height: value.height, pixelFormat: 'rgba'});
}