Files
discord-decomp/sources/modules/media_panel/native/MediaPlaybackPanelController.tsx
T
2026-07-27 16:20:00 +03:00

145 lines
8.6 KiB
TypeScript

/* Metro module 15568; source: modules/media_panel/native/MediaPlaybackPanelController.tsx; dependencies: [57, 31, 4502, 1378, 7710, 13080, 8044, 11796, 33, 4017, 1585, 15363, 13079, 566, 15569, 2] */
function _fun119231(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#119231, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:6, offset: 0x0250221e, size: 288 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const embeddedActivitiesStore = importDefault(1378) /* metro dependency 1378: EmbeddedActivitiesStore */;
const voicePanelStore = importDefault(7710) /* metro dependency 7710: VoicePanelStore */;
const env0_8 = (require(13080) /* metro dependency 13080: MediaPlaybackPanelConstants */).MediaPlaybackPanelModes;
const env0_9 = (require(8044) /* metro dependency 8044: ActivityPanelConstants */).ActivityPanelModes;
const env0_10 = (require(11796) /* metro dependency 11796: MorphablePanelConstants */).MorphablePanelModes;
const env0_11 = (require(33) /* metro dependency 33 */).jsx;
object = {code: 'function MediaPlaybackPanelControllerTsx1(){const{mode,MediaPlaybackPanelModes,MorphablePanelModes}=this.__closure;switch(mode.get()){case MediaPlaybackPanelModes.PIP:{return MorphablePanelModes.PIP;}default:{return MorphablePanelModes.UNDEFINED;}}}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_panel/native/MediaPlaybackPanelController.tsx');
exports.default = MediaPlaybackPanelController;
}
function MediaPlaybackPanelController({children}) { // fn#119232, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:618, offset: 0x0250233e, size: 410 bytes, params: 2, frame: 24
const value = useCoreState();
const mode = value.mode;
const env0_1 = value.morphablePanelMode;
const env0_2 = value.wrapperDimensions;
const env0_3 = value.useReducedMotion;
const env0_4 = value.pipState;
const env0_5 = value.pipAvoidanceSpecs;
const env0_6 = value.scrollPosition;
const canShowPIP = value.canShowPIP;
const env0_8 = value.lockScrolling;
const env0_9 = value.wrapperOffset;
const binding = env0_4;
const env0_10 = binding.useRef(undefined);
let useState = binding.useState;
const get = mode.get;
const value2 = Reflect.apply(useState, binding, [Reflect.apply(get, mode, [])]);
const binding2 = env0_3;
const value3 = binding2(value2, 2);
let property = value3[0];
const env0_13 = binding.useCallback(_fun119238, [property, value3[1]]);
binding.useLayoutEffect(_fun119241, [canShowPIP, VoicePanelStore(function(a0) {
return a0.voicePanelsPIP.size > 0;
}), (require(566) /* metro dependency 566: flux */).useStateFromStores([EmbeddedActivitiesStore], function() {
return EmbeddedActivitiesStore.getActivityPanelMode() === ActivityPanelModes.PIP;
})]);
useState = binding.useState;
property = binding2(Reflect.apply(useState, binding, [_fun119242]), 1)[0];
const Provider = (importDefault(15569) /* metro dependency 15569: MediaPlaybackPanelStateContext */).Provider;
return (
<Provider value={property}>
{children}
</Provider>
);
}
function useCoreState() { // fn#119233, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:676, owner: MediaPlaybackPanelController.useCoreState, offset: 0x025024d8, size: 445 bytes, params: 1, frame: 26
var environment;
let value = environment.__proto__;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let useSharedValue = reanimatedRexportModule.useSharedValue;
const PIP = MediaPlaybackPanelModes.PIP;
const value2 = Reflect.apply(useSharedValue, reanimatedRexportModule, [PIP]);
const value3 = reanimatedRexportModule.useSharedValue({'height': 0, 'width': 0});
const value4 = reanimatedRexportModule.useSharedValue({'x': -1, 'y': -1});
const moduleValue4 = reanimatedRexportModule;
useSharedValue = moduleValue4.useSharedValue;
const useReducedMotion = AccessibilityStore.useReducedMotion;
const value5 = Reflect.apply(useSharedValue, moduleValue4, [useReducedMotion]);
env1_4.useEffect(function() {
var closure = _fun119235;
var env0_0 = closure;
AccessibilityStore.addReactChangeListener(closure);
return _fun119236;
}, [value5]);
const value6 = reanimatedRexportModule.useSharedValue(true);
const value7 = reanimatedRexportModule.useSharedValue(0);
const moduleValue7 = reanimatedRexportModule;
const useDerivedValue = moduleValue7.useDerivedValue;
let closure = useCoreStateP;
closure.__closure = {mode: value2, MediaPlaybackPanelModes: MediaPlaybackPanelModes,
MorphablePanelModes: MorphablePanelModes};
closure.__workletHash = 10375114450450;
closure.__initData = env1_12;
const value8 = Reflect.apply(useDerivedValue, moduleValue7, [closure]);
value = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)();
value = (importDefault(15363) /* metro dependency 15363: usePIPAvoidanceSpecs */)(value);
return {mode: value2, morphablePanelMode: value8, wrapperDimensions: value3, useReducedMotion: value5,
pipState: value4, pipAvoidanceSpecs: value, scrollPosition: value7, canShowPIP: value6,
lockScrolling: reanimatedRexportModule.useSharedValue(false),
wrapperOffset: reanimatedRexportModule.useSharedValue({'x': 0, 'y': 0, 'gestureActive': false})};
}
function _fun119238() { // fn#119238, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:1846, offset: 0x02502746, size: 82 bytes, params: 1, frame: 13
var r0;
var value;
const binding = env0_11;
const PIP = MediaPlaybackPanelModes.PIP;
const value3 = binding === PIP;
if (value3) {
env0_12(MediaPlaybackPanelModes.DISMISSED);
value = importDefault(13079) /* metro dependency 13079: MediaPlayerManager */;
value.userDidClosePip();
value = true;
r0 = value;
} else {
r0 = value3;
}
return r0;
}
function _fun119241() { // fn#119241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:2043, offset: 0x025027cf, size: 38 bytes, params: 1, frame: 13
const canShowPIPBinding = canShowPIP;
canShowPIPBinding.set(!env0_14 && !env0_15);
}
function _fun119242() { // fn#119242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:2091, offset: 0x025027f5, size: 123 bytes, params: 1, frame: 3
return {mode: mode, setMode: env0_12, morphablePanelMode: morphablePanelMode, wrapperDimensions: wrapperDimensions,
useReducedMotion: useReducedMotion, pipState: pipState, pipAvoidanceSpecs: pipAvoidanceSpecs,
dismissToPipGestureRef: env0_10, dismissPanel: env0_13, scrollPosition: scrollPosition, canShowPIP: canShowPIP,
lockScrolling: lockScrolling, wrapperOffset: wrapperOffset};
}
function _fun119234() { // fn#119234, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:877, offset: 0x02502695, size: 40 bytes, params: 1, frame: 12
AccessibilityStore.addReactChangeListener(onChange_119235);
return function() {
AccessibilityStore.removeReactChangeListener(onChange_119235);
};
}
function useCoreStateP() { // fn#119237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:1135, owner: MediaPlaybackPanelController.useCoreState.p, offset: 0x0250270d, size: 57 bytes, params: 1, frame: 10
const value = env0_0.get();
const PIP = MediaPlaybackPanelModes.PIP;
return value === PIP ? MorphablePanelModes.PIP : MorphablePanelModes.UNDEFINED;
}
function onChange_119235() { // fn#119235, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15765:882, offset: 0x025026bd, size: 51 bytes, params: 1, frame: 12
const useReducedMotion = AccessibilityStore.useReducedMotion;
const binding = env1_1;
const get = binding.get;
if (useReducedMotion !== Reflect.apply(get, binding, [])) {
env1_1.set(useReducedMotion);
}
}