/* Metro module 15571; source: modules/media_panel/native/MediaPlaybackPip.tsx; dependencies: [57, 31, 27, 1379, 4814, 3793, 1878, 661, 15440, 33, 4501, 697, 3860, 566, 4805, 8430, 4573, 15572, 4589, 7067, 6837, 4017, 4504, 1244, 8554, 5284, 4066, 683, 13079, 3771, 15569, 9554, 9376, 15573, 2] */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import ChannelStore from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import RelationshipStore from '../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */ import ReanimatedRexport from '../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import MessageStore from '../../../stores/MessageStore.tsx'; /* Metro dependency 4814 */ import MediaPlayerManager from '../../media/native/MediaPlayerManager.tsx'; /* Metro dependency 13079 */ import MediaPlaybackPanelStateContext from './MediaPlaybackPanelStateContext.tsx'; /* Metro dependency 15569 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as moduleValue2 from '../../../by-id/module-03771-useShallow.js'; /* Metro dependency 3771 */ import * as UseTokenModule from '../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */ import * as ReanimatedRexportModule from '../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as XLargeIconModule from '../../../design/components/Icon/native/redesign/generated/XLargeIcon.tsx'; /* Metro dependency 4066 */ import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */ import * as ArrowLargeLeftIconModule from '../../../design/components/Icon/native/redesign/generated/ArrowLargeLeftIcon.tsx'; /* Metro dependency 5284 */ import * as NativeModule from '../../../design/components/experimental/native.tsx'; /* Metro dependency 8554 */ import * as MediaPlayerManagerModule from '../../media/native/MediaPlayerManager.tsx'; /* Metro dependency 13079 */ import * as VoicePanelPIPConstantsModule from '../../voice_panel/native/pip/VoicePanelPIPConstants.tsx'; /* Metro dependency 15440 */ import * as Module15573Module from '../../../by-id/module-15573.js'; /* Metro dependency 15573 */ function _fun119260(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#119260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6, offset: 0x0250397a, size: 832 bytes, params: 8, frame: 26 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_5 = value.Easing; const StyleSheet = value.StyleSheet; const env0_6 = value.TouchableOpacity; const env0_7 = value.View; value = require(661) /* metro dependency 661: Constants */; const env0_12 = value.AnalyticEvents; const env0_13 = value.MessageFlags; const env0_14 = value.Routes; const SquarePIPReferenceDimensions = (VoicePanelPIPConstantsModule).SquarePIPReferenceDimensions; value = require(33) /* metro dependency 33 */; const env0_15 = value.jsx; const env0_16 = value.jsxs; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object = {}; object.container = {'justifyContent': 'center', 'alignItems': 'center', height: SquarePIPReferenceDimensions.height, width: SquarePIPReferenceDimensions.width}; const object3 = {}; copyDataProperties(object3, StyleSheet.absoluteFillObject, undefined); object3['zIndex'] = 5; object.pipControls = object3; const object4 = {'position': 'absolute', 'top': 8, 'padding': 8, 'borderRadius': null, 'borderWidth': 1}; object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; const CONTROL_SECONDARY_BORDER_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_BORDER_DEFAULT; object4.borderColor = CONTROL_SECONDARY_BORDER_DEFAULT; const CONTROL_SECONDARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_TEXT_DEFAULT; object4.tintColor = CONTROL_SECONDARY_TEXT_DEFAULT; const CONTROL_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_BACKGROUND_DEFAULT; object4.backgroundColor = CONTROL_SECONDARY_BACKGROUND_DEFAULT; const SHADOW_LOW_HOVER = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW_HOVER; copyDataProperties(object4, SHADOW_LOW_HOVER, undefined); object.pipButton = object4; object.dismissButton = {right: 8}; object.backButton = {left: 8}; object.infoContainer = {'justifyContent': 'center', 'alignItems': 'center', 'marginBottom': 8, 'height': 34}; const object7 = {}; copyDataProperties(object7, StyleSheet.absoluteFillObject, undefined); object.infoContainerGradient = object7; object.infoContent = {'justifyContent': 'center', 'alignItems': 'center', 'alignSelf': 'stretch', 'marginHorizontal': 4}; object.actionContainer = {'justifyContent': 'center', 'alignItems': 'center', 'width': 48, 'height': 48, 'zIndex': 100}; const object8 = {'justifyContent': 'center', 'alignItems': 'center', 'width': 32, 'height': 32, 'zIndex': 100}; object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND; object8.backgroundColor = BACKGROUND_BRAND; object.playPauseButton = object8; const object9 = {}; copyDataProperties(object9, StyleSheet.absoluteFillObject, undefined); object9['justifyContent'] = 'center'; object9['alignItems'] = 'center'; object.progressBar = object9; const env0_17 = Reflect.apply(createStyles, value, [object]); const convertMsToSecs = function(a0) { return a0 != null ? a0 / 1000 : undefined; }; object = {code: 'function MediaPlaybackPipTsx1(){const{withTiming,visible}=this.__closure;return{opacity:withTiming(visible?1:0,{duration:200})};}'}; (FileImportTrackerModule).fileFinishedImporting('modules/media_panel/native/MediaPlaybackPip.tsx'); exports.default = _default_119270; function MediaInfo({message, activeMediaPlayerSource, isVoiceMessage, isControlVisible}) { // fn#119262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:1500, offset: 0x02503cd4, size: 866 bytes, params: 2, frame: 34 const Text = (TextModule).Text; const styles = useStyles(); const useToken = UseTokenModule.useToken; const BACKGROUND_SURFACE_HIGH = (Native).colors.BACKGROUND_SURFACE_HIGH; const value3 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_SURFACE_HIGH]); const value4 = (FluxModule).useStateFromStores([ChannelStore, UserStore, RelationshipStore], _fun119263, [message]); const binding = env0_4; let useState = binding.useState; const value5 = Reflect.apply(useState, binding, [0]); const value6 = Module00057(value5, 2); const property = value6[0]; const env0_2 = value6[1]; useState = binding.useState; const value7 = Module00057(Reflect.apply(useState, binding, [0]), 2); const property2 = value7[0]; var env0_4 = value7[1]; const value8 = binding.useMemo(_fun119264, [property2, property]); const contentMessage = message?.getContentMessage(); if (message == null) { return null; } if (contentMessage == null) { return null; } if (activeMediaPlayerSource == null) { return null; } const text = ( {isVoiceMessage ? message.author.username : contentMessage.attachments.length > 0 && activeMediaPlayerSource.attachmentIndex != null ? (importDefault(8430) /* metro dependency 8430: getDisplayFilename */)(contentMessage.attachments[activeMediaPlayerSource.attachmentIndex]) : ''} ); const viewBindingProps = {accessibilityElementsHidden: isControlVisible, style: styles.infoContent, onLayout: onLayout_119266}; const items4 = [ value8 ? ( {((Marquee) => {text})((require(15572) /* metro dependency 15572 */).Marquee)} {((Component) => )(importDefault(4589) /* metro dependency 4589 */)} ) : text, ]; items4[1] = value4 != null && {value4}; return ( {items4} ); function _fun119263() { // fn#119263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:1688, offset: 0x02504036, size: 105 bytes, params: 1, frame: 20 var r0; var moduleValue; const value = environment.__proto__; const channelStoreBinding = ChannelStore; const getChannel = channelStoreBinding.getChannel; const messageBinding = message; const value3 = null; const value5 = Reflect.apply(getChannel, channelStoreBinding, [value3 == messageBinding ? undefined : message.channel_id]); if (value3 != value5) { moduleValue = require(4805) /* metro dependency 4805: useChannelName */; r0 = moduleValue.computeChannelName(value5, UserStore, RelationshipStore, true, true); } else { r0 = value3; } return r0; } function _fun119264() { // fn#119264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:1900, offset: 0x0250409f, size: 17 bytes, params: 1, frame: 2 return Module00057 >= env0_1; } function MediaInfoOnLayout({nativeEvent}) { // fn#119265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:2233, owner: MediaInfo.onLayout, offset: 0x025040b0, size: 36 bytes, params: 2, frame: 11 return env0_4(nativeEvent.layout.width); } function MediaInfoOnLayout_119266({nativeEvent}) { // fn#119266, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:2350, owner: MediaInfo.onLayout, offset: 0x025040d4, size: 36 bytes, params: 2, frame: 11 return env0_2(nativeEvent.layout.width); } } function PiPControls({message, handleClosePip, visible, isVoiceMessage}) { // fn#119267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:2917, offset: 0x025040f8, size: 647 bytes, params: 2, frame: 29 const styles = useStyles(); const value2 = ReactModule.useCallback(_fun119268, [message]); const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; const PiPControlsU2 = PiPControlsU; PiPControlsU2.__closure = {withTiming: (require(4504) /* metro dependency 4504: timing */).withTiming, visible: visible}; PiPControlsU2.__workletHash = 3641278982291; PiPControlsU2.__initData = env0_20; const value3 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [PiPControlsU2]); const intl = (IndexNativeModule).intl; let string = intl.string; const t = (IndexNativeModule).t; const r10 = isVoiceMessage ? Reflect.apply(string, intl, [t.KTonHP]) : Reflect.apply(string, intl, [t['13/7kX']]); string = intl.string; const r8 = isVoiceMessage ? Reflect.apply(string, intl, [t['6rhrVG']]) : Reflect.apply(string, intl, [t.WAI6xu]); const View = (ReanimatedRexport).View; const items5 = [styles.pipControls, value3]; const BackgroundBlurFill = (NativeModule).BackgroundBlurFill; const items2 = [ , ]; const value = !visible; const items3 = [styles.pipButton]; items3[1] = styles.backButton; const ArrowLargeLeftIcon = (ArrowLargeLeftIconModule).ArrowLargeLeftIcon; items2[1] = ( ); const items4 = [styles.pipButton]; items4[1] = styles.dismissButton; const XLargeIcon = (XLargeIconModule).XLargeIcon; items2[2] = ( ); return ( {items2} ); function _fun119268() { // fn#119268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:3006, offset: 0x0250437f, size: 221 bytes, params: 1, frame: 22 var r6; var channel_id; var id; var value2; var value3; var defaultImport; var trackJump; var channelStoreBinding; var getChannel; var value4; var defaultImport2; var CHANNEL; let messageBinding = message; if (messageBinding != null) { channel_id = message.channel_id; if (channel_id != null) { id = message.id; if (id != null) { value2 = environment.__proto__; value3 = undefined; defaultImport = importDefault(7067) /* metro dependency 7067: MessageActionCreators */; trackJump = defaultImport.trackJump; messageBinding = message; channel_id = messageBinding.channel_id; id = messageBinding.id; Reflect.apply(trackJump, defaultImport, [channel_id, id, 'Media PIP', {}]); channelStoreBinding = ChannelStore; getChannel = channelStoreBinding.getChannel; channel_id = messageBinding.channel_id; value4 = Reflect.apply(getChannel, channelStoreBinding, [channel_id]); r6 = value4 == null ? value3 : value4.getGuildId(); defaultImport2 = importDefault(6837) /* metro dependency 6837: safeTransitionToNative */; CHANNEL = Routes.CHANNEL; messageBinding = message; channel_id = messageBinding.channel_id; id = messageBinding.id; defaultImport2(Reflect.apply(CHANNEL, Routes, [r6, channel_id, id]), {'navigationReplace': true, 'openChannel': true}); } } } } function PiPControlsU() { // fn#119269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:3292, owner: PiPControls.u, offset: 0x0250445c, size: 68 bytes, params: 1, frame: 15 let value = environment.__proto__; value = require(4504) /* metro dependency 4504: timing */; return {opacity: value.withTiming(visible ? 1 : 0, {duration: 200})}; } } function _default_119270() { // fn#119270, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4109, offset: 0x025044a0, size: 1201 bytes, params: 1, frame: 35 var r9; var r13; var contentMessage; var value8; const value2 = undefined; const styles = useStyles(); let binding = ReactModule; const value3 = binding.useRef(null); const useMediaPlayerManagerStore = MediaPlayerManagerModule.useMediaPlayerManagerStore; const useShallow = moduleValue2.useShallow; const {isPlaying, progress, activeMediaPlayerSource, mediaSourceMessage, closePip} = Reflect.apply(useMediaPlayerManagerStore, MediaPlayerManagerModule, [Reflect.apply(useShallow, moduleValue2, [function(a0) { return {isPlaying: a0.isPlaying, progress: a0.progress, activeMediaPlayerSource: a0.activeMediaPlayerSource, mediaSourceMessage: a0.mediaSourceMessage, closePip: a0.closePip}; }])]); const useStateFromStores = FluxModule.useStateFromStores; let r21 = Reflect.apply(useStateFromStores, FluxModule, [[MessageStore], _fun119272, [activeMediaPlayerSource]]) ?? mediaSourceMessage; const env0_3 = r21; const value6 = r21 == null; if (value6) { r9 = value2; r13 = value6; } else { contentMessage = r21.getContentMessage(); value8 = contentMessage == null; r9 = contentMessage; r13 = value8; } r13 = !r13 ? !r9.hasFlag(MessageFlags.IS_VOICE_MESSAGE) : r13; const value10 = !r13; useAnalyticsEffects(activeMediaPlayerSource, progress, r21); binding = ReactModule; const value12 = env0_3(binding.useState(false), 2); const value13 = 0; const property = value12[value13]; binding.useEffect(_fun119277, [property, value12[1], isPlaying]); const useContext = binding.useContext; const value14 = binding.useCallback(_fun119280, [Reflect.apply(useContext, binding, [MediaPlaybackPanelStateContext]).dismissPanel, closePip]); usePlaybackCompletionEffects(progress, value14); const r19 = property || (progress == null ? value2 : progress.isCompleted) === true; binding = ReactModule; const value16 = binding.useCallback(_fun119285, [isPlaying]); const value17 = binding.useMemo(_fun119286, [isPlaying]); const value18 = binding.useMemo(_fun119287, [r21, activeMediaPlayerSource, value10, r19]); const value19 = binding.useMemo(_fun119288, [r21, value14, r19, value10]); const intl = (IndexNativeModule).intl; let string = intl.string; const t = (IndexNativeModule).t; let r12 = r13 ? Reflect.apply(string, intl, [t.RscU7I]) : Reflect.apply(string, intl, [t.AlHqHT]); string = intl.string; r13 = r13 ? Reflect.apply(string, intl, [t.ZcgDJX]) : Reflect.apply(string, intl, [t['3XohGn']]); const r20 = progress == null ? value13 : progress.time / progress.duration * 100; r21 = progress == null ? value13 : progress.duration - progress.time; object = {style: styles.container, activeOpacity: 1, onPress: onPress_119289, accessible: false}; const AnimatedCircularProgress = (Module15573Module).AnimatedCircularProgress; const animatedCircularProgressProps2 = {'style': null, 'size': 48, 'width': 2, style: styles.progressBar, prefill: r20, easing: Easing.out(Easing.linear), duration: isPlaying ? r21 : value13, fill: isPlaying ? 100 : r20, rotation: value13, lineCap: 'round', ref: value3}; let useToken = UseTokenModule.useToken; const CONTROL_PRIMARY_BACKGROUND_DEFAULT = (Native).colors.CONTROL_PRIMARY_BACKGROUND_DEFAULT; animatedCircularProgressProps2.tintColor = Reflect.apply(useToken, UseTokenModule, [CONTROL_PRIMARY_BACKGROUND_DEFAULT]); useToken = UseTokenModule.useToken; const BACKGROUND_MOD_MUTED = (Native).colors.BACKGROUND_MOD_MUTED; animatedCircularProgressProps2.backgroundColor = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_MOD_MUTED]); const animatedCircularProgress = ; r12 = isPlaying ? r13 : r12; return ( {value19} {value18} {animatedCircularProgress} {value17} ); function _fun119272() { // fn#119272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4490, offset: 0x0250498f, size: 88 bytes, params: 1, frame: 14 var r0; var value; const activeMediaPlayerSourceBinding = activeMediaPlayerSource; const value2 = null; const value3 = undefined; const channelId = value2 == activeMediaPlayerSourceBinding ? value3 : activeMediaPlayerSource.channelId; const messageId = value2 == activeMediaPlayerSource ? value3 : activeMediaPlayerSource.messageId; if (value2 == channelId) { r0 = value2; } else if (value2 == messageId) { r0 = value2; } else { value = environment.__proto__; value = MessageStore.getMessage(channelId, messageId); r0 = value; } return r0; } function useAnalyticsEffects(a0, a1, a2) { // fn#119273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4704, owner: _default_119270.useAnalyticsEffects, offset: 0x025049e7, size: 106 bytes, params: 4, frame: 16 let env0_0 = a0; const env0_1 = a1; const env0_2 = a2; const binding = env1_4; const env0_3 = binding.useRef(null); binding.useEffect(_fun119274, [a1, a0, a2]); binding.useEffect(function() { var Date = global.Date; var env0_0 = new Date(); return _fun119276; }, []); function _fun119274() { // fn#119274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4774, offset: 0x02504a51, size: 142 bytes, params: 1, frame: 5 if (env0_3.current == null && env0_0 != null && require != null && importDefault != null) { env0_3.current = {initialProgress: require, activeMediaPlayerSource: env0_0, message: importDefault}; } if (env0_3.current != null && require != null) { env0_3.current.finalProgress = require; } } function _fun119275() { // fn#119275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4969, offset: 0x02504adf, size: 43 bytes, params: 1, frame: 10 const Date = global.Date; const date = new Date(); return _fun119276; function _fun119276() { // fn#119276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:4995, offset: 0x02504b0a, size: 445 bytes, params: 1, frame: 19 var r1; var r3; var contentMessage; var contentMessage2; let value = environment.__proto__; const current = env1_3.current; value = null; const {activeMediaPlayerSource, message, initialProgress, finalProgress} = value != current ? current : {}; const value2 = undefined; if (value != (value == activeMediaPlayerSource ? value2 : activeMediaPlayerSource.attachmentIndex)) { if (value == message) { r1 = value2; } else { contentMessage = message.getContentMessage(); r1 = value == contentMessage ? value2 : contentMessage.attachments[activeMediaPlayerSource.attachmentIndex]; } r3 = r1; } else { r3 = value; } const object = {}; object.message_id = value == activeMediaPlayerSource ? value2 : activeMediaPlayerSource.messageId; object.sender_user_id = value == message ? value2 : message.author.id; object.type = value == r3 ? value2 : r3.content_type; if (value == message) { r1 = value2; } else { contentMessage2 = message.getContentMessage(); r1 = value == contentMessage2 ? value2 : contentMessage2.hasFlag(MessageFlags.IS_VOICE_MESSAGE); } object.is_voice_message = r1; object.total_duration_secs = convertMsToSecs(value == finalProgress ? value2 : finalProgress.duration); object.pip_playback_start_time_secs = convertMsToSecs(value == initialProgress ? value2 : initialProgress.time); object.pip_playback_end_time_secs = convertMsToSecs(value == finalProgress ? value2 : finalProgress.time); object.pip_opened_timestamp = env0_0.toISOString(); const Date = global.Date; let date = new Date(); object.pip_closed_timestamp = date.toISOString(); date = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = date.track; const MEDIA_PIP_ENDED = AnalyticEvents.MEDIA_PIP_ENDED; Reflect.apply(track, date, [MEDIA_PIP_ENDED, object]); return value2; } } } function _fun119277() { // fn#119277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:5846, offset: 0x02504cc7, size: 54 bytes, params: 1, frame: 14 if (env0_5) { var env0_0 = global.setTimeout(_fun119278, 3000); } return _fun119279; function _fun119278() { // fn#119278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:5882, offset: 0x02504cfd, size: 27 bytes, params: 1, frame: 11 if (isPlaying) { env1_6(false); } } function _fun119279() { // fn#119279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:5904, offset: 0x016d7e7e, size: 24 bytes, params: 1, frame: 11 return global.clearTimeout(env0_0); } } function _fun119280() { // fn#119280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:5994, offset: 0x02504d18, size: 56 bytes, params: 1, frame: 12 dismissPanel(); closePip(); const value = environment.__proto__; (MediaPlayerManager).pauseCurrentPlayer(); } function usePlaybackCompletionEffects(a0, a1) { // fn#119281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6047, owner: _default_119270.usePlaybackCompletionEffects, offset: 0x02504d50, size: 74 bytes, params: 3, frame: 17 var environment; const env0_0 = a0; const env0_1 = a1; let value = environment.__proto__; const binding = env1_4; value = undefined; binding.useEffect(_fun119282, [a0 == null ? value : a0.isCompleted, a1]); return value; function _fun119282() { // fn#119282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6103, offset: 0x02504d9a, size: 73 bytes, params: 1, frame: 14 if (env0_0 != null && env0_0.isCompleted) { var env0_0 = global.setTimeout(function() { require(); }, 2000); } return _fun119284; function _fun119284() { // fn#119284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6177, offset: 0x00e59c84, size: 24 bytes, params: 1, frame: 11 global.clearTimeout(env0_0); } } } function _fun119285() { // fn#119285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6303, offset: 0x02504de3, size: 70 bytes, params: 1, frame: 13 const isPlayingBinding = isPlaying; const defaultImport = MediaPlayerManager; if (isPlayingBinding) { defaultImport.pauseCurrentPlayer(); env0_6(true); } else { defaultImport.playCurrentPlayer(); } } function _fun119286() { // fn#119286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6397, offset: 0x02504e29, size: 122 bytes, params: 1, frame: 15 const r2 = isPlaying ? (require(9554) /* metro dependency 9554: PauseIcon */).PauseIcon : (require(9376) /* metro dependency 9376: PlayIcon */).PlayIcon; const WHITE = (Native).colors.WHITE; return ((Component) => )(r2); } function _fun119287() { // fn#119287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6502, offset: 0x02504ea3, size: 61 bytes, params: 1, frame: 14 return ( ); } function _fun119288() { // fn#119288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6618, offset: 0x02504ee0, size: 61 bytes, params: 1, frame: 14 return ( ); } function _default_119270OnPress() { // fn#119289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15768:6994, owner: _default_119270.onPress, offset: 0x02504f1d, size: 42 bytes, params: 1, frame: 11 if (!(!isPlaying && env0_9)) { env0_6(!env0_5); } } } } global.__d(_fun119260, 15571, [57, 31, 27, 1379, 4814, 3793, 1878, 661, 15440, 33, 4501, 697, 3860, 566, 4805, 8430, 4573, 15572, 4589, 7067, 6837, 4017, 4504, 1244, 8554, 5284, 4066, 683, 13079, 3771, 15569, 9554, 9376, 15573, 2]) /* metro module 15571, dependencies: [57, 31, 27, 1379, 4814, 3793, 1878, 661, 15440, 33, 4501, 697, 3860, 566, 4805, 8430, 4573, 15572, 4589, 7067, 6837, 4017, 4504, 1244, 8554, 5284, 4066, 683, 13079, 3771, 15569, 9554, 9376, 15573, 2] */;