/* 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 ( {children} ); } 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); } }