Files
2026-07-28 01:06:53 +03:00

110 lines
7.0 KiB
TypeScript

/* Metro module 10660; source: modules/video_calls/native/VoiceCallOverlayUtils.tsx; dependencies: [7716, 694, 2] */
import Dispatcher from '../../../Dispatcher.tsx'; /* Metro dependency 694 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ChannelCallConstantsModule from './ChannelCallConstants.tsx'; /* Metro dependency 7716 */
function _fun81988(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81988, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10846:6, offset: 0x01ee658d, size: 272 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const {MIN_MARGIN_BETWEEN_OVERLAYS,
VoiceCallOverlayType} = ChannelCallConstantsModule;
const doRectanglesIntersectWorklet2 = doRectanglesIntersectWorklet;
doRectanglesIntersectWorklet2.__closure = {};
doRectanglesIntersectWorklet2.__workletHash = 16149528537623;
doRectanglesIntersectWorklet2.__initData = {code: 'function VoiceCallOverlayUtilsTsx1(rectA,rectB,minMarginBetweenOverlays){if(rectA==null||rectA.x==null||rectA.y==null||rectA.width==null||rectA.height==null||rectB==null||rectB.x==null||rectB.y==null||rectB.width==null||rectB.height==null){return false;}const minAx=rectA.x-minMarginBetweenOverlays;const maxAx=rectA.x+rectA.width+minMarginBetweenOverlays;const minAy=rectA.y-minMarginBetweenOverlays;const maxAy=rectA.y+rectA.height+minMarginBetweenOverlays;const minBx=rectB.x;const maxBx=rectB.x+rectB.width;const minBy=rectB.y;const maxBy=rectB.y+rectB.height;const aLeftOfB=maxAx<minBx;const aRightOfB=minAx>maxBx;const aBelowB=minAy>maxBy;const aAboveB=maxAy<minBy;return!(aLeftOfB||aRightOfB||aAboveB||aBelowB);}'};
const doesTargetPositionIntersectOtherOverlaysWorklet2 = doesTargetPositionIntersectOtherOverlaysWorklet;
doesTargetPositionIntersectOtherOverlaysWorklet2.__closure = {VoiceCallOverlayType: VoiceCallOverlayType,
doRectanglesIntersectWorklet: doRectanglesIntersectWorklet2,
MIN_MARGIN_BETWEEN_OVERLAYS: MIN_MARGIN_BETWEEN_OVERLAYS};
doesTargetPositionIntersectOtherOverlaysWorklet2.__workletHash = 10902657864288;
doesTargetPositionIntersectOtherOverlaysWorklet2.__initData = {code: 'function VoiceCallOverlayUtilsTsx2(voiceCallOverlayLayoutStates,voiceCallOverlayType,targetRectangle){const{VoiceCallOverlayType,doRectanglesIntersectWorklet,MIN_MARGIN_BETWEEN_OVERLAYS}=this.__closure;switch(voiceCallOverlayType){case VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON:{if(!voiceCallOverlayLayoutStates[VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE].isVisible){return false;}const doRectanglesIntersect=doRectanglesIntersectWorklet(targetRectangle,voiceCallOverlayLayoutStates[VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE],MIN_MARGIN_BETWEEN_OVERLAYS);if(doRectanglesIntersect){return true;}break;}case VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE:{if(!voiceCallOverlayLayoutStates[VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON].isVisible){return false;}const doRectanglesIntersect=doRectanglesIntersectWorklet(targetRectangle,voiceCallOverlayLayoutStates[VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON],MIN_MARGIN_BETWEEN_OVERLAYS);if(doRectanglesIntersect){return true;}break;}}return false;}'};
(FileImportTrackerModule).fileFinishedImporting('modules/video_calls/native/VoiceCallOverlayUtils.tsx');
exports.doesTargetPositionIntersectOtherOverlaysWorklet = doesTargetPositionIntersectOtherOverlaysWorklet2;
exports.updateVoiceCallOverlayLayoutState = updateVoiceCallOverlayLayoutState;
exports.setPipEnabledWhileFocusedOnActivityOrStream = setPipEnabledWhileFocusedOnActivityOrStream;
function doesTargetPositionIntersectOtherOverlaysWorklet(a0, a1, a2) { // fn#81990, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10846:2305, offset: 0x01ee6794, size: 177 bytes, params: 4, frame: 17
const VOICE_CONTROLS_TOGGLE_BUTTON = VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON;
if (VOICE_CONTROLS_TOGGLE_BUTTON === a1) {
if (a0[VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE].isVisible) {
if (doRectanglesIntersectWorklet(a2, a0[VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE],
MIN_MARGIN_BETWEEN_OVERLAYS)) {
return true;
}
return false;
}
} else {
if (VoiceCallOverlayType.CAMERA_PREVIEW_PICTURE_IN_PICTURE !== a1) {
return false;
}
if (a0[VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON].isVisible) {
if (doRectanglesIntersectWorklet(a2, a0[VoiceCallOverlayType.VOICE_CONTROLS_TOGGLE_BUTTON],
MIN_MARGIN_BETWEEN_OVERLAYS)) {
return true;
}
return false;
}
}
return false;
}
function updateVoiceCallOverlayLayoutState(a0, a1) { // fn#81991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10846:2973, offset: 0x01ee6845, size: 65 bytes, params: 3, frame: 13
(Dispatcher).dispatch({type: 'VOICE_CALL_OVERLAY_LAYOUT_STATE_UPDATE',
voiceCallOverlayType: a0, voiceCallOverlayLayoutState: a1});
}
function setPipEnabledWhileFocusedOnActivityOrStream(a0) { // fn#81992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10846:3187, offset: 0x01ee6886, size: 57 bytes, params: 2, frame: 13
(Dispatcher).dispatch({type: 'VOICE_CALL_SET_PIP_ENABLED_FOR_ACTIVITY_OR_STREAM',
pipEnabledWhileFocusedOnActivityOrStream: a0});
}
}
function doRectanglesIntersectWorklet(a0, a1, a2) { // fn#81989, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10846:904, offset: 0x01ee669d, size: 247 bytes, params: 4, frame: 9
if (a0 == null) {
return false;
}
let x = a0.x;
if (x == null) {
return false;
}
let y = a0.y;
if (y == null) {
return false;
}
if (a0.width == null) {
return false;
}
if (a0.height == null) {
return false;
}
if (a1 == null) {
return false;
}
if (a1.x == null) {
return false;
}
if (a1.y == null) {
return false;
}
if (a1.width == null) {
return false;
}
if (a1.height == null) {
return false;
}
const value = a0.x - a2;
const value2 = a0.x + a0.width + a2;
const value3 = a0.y - a2;
const value4 = a0.y + a0.height + a2;
x = a1.x;
const value5 = a1.x + a1.width;
y = a1.y;
const value6 = a1.y + a1.height;
let r0 = value2 < x || value > value5;
r0 = !r0 ? value4 < y : r0;
r0 = !r0 ? value3 > value6 : r0;
return !r0;
}
global.__d(_fun81988, 10660, [7716, 694, 2]) /* metro module 10660, dependencies: [7716, 694, 2] */;