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

505 lines
27 KiB
TypeScript

/* 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] */
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
var object2;
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 */;
let value = require(27) /* metro dependency 27 */;
const env0_5 = value.Easing;
const StyleSheet = value.StyleSheet;
const env0_6 = value.TouchableOpacity;
const env0_7 = value.View;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const messageStore = importDefault(4814) /* metro dependency 4814: MessageStore */;
const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
value = require(661) /* metro dependency 661: Constants */;
const env0_12 = value.AnalyticEvents;
const env0_13 = value.MessageFlags;
const env0_14 = value.Routes;
const SquarePIPReferenceDimensions = (require(15440) /* metro dependency 15440: VoicePanelPIPConstants */).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;
object2 = {};
object2.container = {'justifyContent': 'center', 'alignItems': 'center',
height: SquarePIPReferenceDimensions.height, width: SquarePIPReferenceDimensions.width};
const object5 = {};
copyDataProperties(object5, StyleSheet.absoluteFillObject, undefined);
object5['zIndex'] = 5;
object2.pipControls = object5;
const object6 = {'position': 'absolute', 'top': 8, 'padding': 8, 'borderRadius': null, 'borderWidth': 1};
object6.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;
object6.borderColor = CONTROL_SECONDARY_BORDER_DEFAULT;
const CONTROL_SECONDARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_TEXT_DEFAULT;
object6.tintColor = CONTROL_SECONDARY_TEXT_DEFAULT;
const CONTROL_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_BACKGROUND_DEFAULT;
object6.backgroundColor = CONTROL_SECONDARY_BACKGROUND_DEFAULT;
const SHADOW_LOW_HOVER = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW_HOVER;
copyDataProperties(object6, SHADOW_LOW_HOVER, undefined);
object2.pipButton = object6;
object2.dismissButton = {right: 8};
object2.backButton = {left: 8};
object2.infoContainer = {'justifyContent': 'center', 'alignItems': 'center', 'marginBottom': 8, 'height': 34};
const object10 = {};
copyDataProperties(object10, StyleSheet.absoluteFillObject, undefined);
object2.infoContainerGradient = object10;
object2.infoContent = {'justifyContent': 'center', 'alignItems': 'center', 'alignSelf': 'stretch',
'marginHorizontal': 4};
object2.actionContainer = {'justifyContent': 'center', 'alignItems': 'center', 'width': 48, 'height': 48,
'zIndex': 100};
const object11 = {'justifyContent': 'center', 'alignItems': 'center', 'width': 32, 'height': 32, 'zIndex': 100};
object11.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object11.backgroundColor = BACKGROUND_BRAND;
object2.playPauseButton = object11;
const object12 = {};
copyDataProperties(object12, StyleSheet.absoluteFillObject, undefined);
object12['justifyContent'] = 'center';
object12['alignItems'] = 'center';
object2.progressBar = object12;
const env0_17 = Reflect.apply(createStyles, value, [object2]);
const convertMsToSecs = function(a0) {
return a0 != null ? a0 / 1000 : undefined;
};
object2 = {code: 'function MediaPlaybackPipTsx1(){const{withTiming,visible}=this.__closure;return{opacity:withTiming(visible?1:0,{duration:200})};}'};
(require(2) /* metro dependency 2 */).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 = (require(4573) /* metro dependency 4573: Text */).Text;
const styles = useStyles();
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
const value3 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_SURFACE_HIGH]);
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore, UserStore,
RelationshipStore], _fun119263, [message]);
const binding = env0_4;
let useState = binding.useState;
const value5 = Reflect.apply(useState, binding, [0]);
const binding2 = env0_3;
const value6 = binding2(value5, 2);
const property = value6[0];
const env0_2 = value6[1];
useState = binding.useState;
const value7 = binding2(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 = <Text variant="text-md/semibold" lineClamp={1} ellipsizeMode="clip" onLayout={onLayout_119265}>{isVoiceMessage ? message.author.username : contentMessage.attachments.length > 0 && activeMediaPlayerSource.attachmentIndex != null ? (importDefault(8430) /* metro dependency 8430: getDisplayFilename */)(contentMessage.attachments[activeMediaPlayerSource.attachmentIndex]) : ''}</Text>;
const viewBindingProps = {accessibilityElementsHidden: isControlVisible, style: styles.infoContent,
onLayout: onLayout_119266};
const items4 = [value8 ? <View style={{flex: 1}}>{((Marquee) => <Marquee spacing={20} speed={0.2}>{text}</Marquee>)((require(15572) /* metro dependency 15572 */).Marquee)}{((Component) => <Component start={{'x': 0,
'y': 0}} end={{'x': 1, 'y': 0}} locations={[0, 0.1, 0.2, 0.8, 0.9, 1]} colors={[value3, value3 + 'CC',
value3 + '00', value3 + '00', value3 + 'CC',
value3]} style={styles.infoContainerGradient} />)(importDefault(4589) /* metro dependency 4589 */)}</View> : text];
items4[1] = value4 != null && <Text variant="text-xs/medium" color="text-subtle" lineClamp={1}>{value4}</Text>;
return (
<View {...viewBindingProps}>
<View style={styles.infoContainer}>
{items4}
</View>
</View>
);
}
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 = env0_4.useCallback(_fun119268, [message]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = PiPControlsU;
closure.__closure = {withTiming: (require(4504) /* metro dependency 4504: timing */).withTiming, visible: visible};
closure.__workletHash = 3641278982291;
closure.__initData = env0_20;
const value3 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).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 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items5 = [styles.pipControls, value3];
const BackgroundBlurFill = (require(8554) /* metro dependency 8554: native */).BackgroundBlurFill;
const items2 = [<BackgroundBlurFill blurAmount={0.05} />];
const value = !visible;
const items3 = [styles.pipButton];
items3[1] = styles.backButton;
const ArrowLargeLeftIcon = (require(5284) /* metro dependency 5284: ArrowLargeLeftIcon */).ArrowLargeLeftIcon;
items2[1] = <TouchableOpacity disabled={value} style={items3} onPress={value2} accessible accessibilityRole="button" accessibilityLabel={r10}><ArrowLargeLeftIcon size="sm" /></TouchableOpacity>;
const items4 = [styles.pipButton];
items4[1] = styles.dismissButton;
const XLargeIcon = (require(4066) /* metro dependency 4066: XLargeIcon */).XLargeIcon;
items2[2] = <TouchableOpacity disabled={value} style={items4} onPress={handleClosePip} accessible accessibilityRole="button" accessibilityLabel={r8}><XLargeIcon size="sm" /></TouchableOpacity>;
return (
<View style={items5}>
{items2}
</View>
);
}
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 object2;
var r9;
var r13;
var contentMessage;
var value8;
const value2 = undefined;
const styles = useStyles();
let binding = env0_4;
const value3 = binding.useRef(null);
const mediaPlayerManagerModule = require(13079) /* metro dependency 13079: MediaPlayerManager */;
const useMediaPlayerManagerStore = mediaPlayerManagerModule.useMediaPlayerManagerStore;
const moduleValue2 = require(3771) /* metro dependency 3771 */;
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 fluxModule = require(566) /* metro dependency 566: flux */;
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 = env0_4;
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,
[importDefault(15569) /* metro dependency 15569: MediaPlaybackPanelStateContext */]).dismissPanel, closePip]);
usePlaybackCompletionEffects(progress, value14);
const r19 = property || (progress == null ? value2 : progress.isCompleted) === true;
binding = env0_4;
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 = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).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;
object2 = {style: styles.container, activeOpacity: 1, onPress: onPress_119289, accessible: false};
const AnimatedCircularProgress = (require(15573) /* metro dependency 15573 */).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};
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
let useToken = useTokenModule.useToken;
const CONTROL_PRIMARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_PRIMARY_BACKGROUND_DEFAULT;
animatedCircularProgressProps2.tintColor = Reflect.apply(useToken, useTokenModule,
[CONTROL_PRIMARY_BACKGROUND_DEFAULT]);
const moduleValue5 = useTokenModule;
useToken = moduleValue5.useToken;
const BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
animatedCircularProgressProps2.backgroundColor = Reflect.apply(useToken, moduleValue5, [BACKGROUND_MOD_MUTED]);
const animatedCircularProgress = <AnimatedCircularProgress {...animatedCircularProgressProps2} />;
r12 = isPlaying ? r13 : r12;
return (
<TouchableOpacity {...object2}>
{value19}
{value18}
<View style={styles.actionContainer}>
{animatedCircularProgress}
<TouchableOpacity
style={styles.playPauseButton}
onPress={value16}
accessibilityRole="button"
accessibilityLabel={r12}
>
{value17}
</TouchableOpacity>
</View>
</TouchableOpacity>
);
}
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
const value = environment.__proto__;
const getChannel = ChannelStore.getChannel;
const messageBinding = message;
const value3 = null;
const value5 = Reflect.apply(getChannel, ChannelStore, [value3 == messageBinding ? undefined : message.channel_id]);
return value3 != value5 ? (require(4805) /* metro dependency 4805: useChannelName */).computeChannelName(value5,
UserStore, RelationshipStore, true, true) : value3;
}
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 env0_3 >= 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 _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 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', {}]);
getChannel = ChannelStore.getChannel;
channel_id = messageBinding.channel_id;
value4 = Reflect.apply(getChannel, ChannelStore, [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 _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 _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 _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__;
(importDefault(13079) /* metro dependency 13079: 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 _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 = importDefault(13079) /* metro dependency 13079: 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 = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
return ((Component) => <Component color={WHITE} size="md" />)(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 (
<MediaInfo
message={env0_3}
activeMediaPlayerSource={activeMediaPlayerSource}
isVoiceMessage={result}
isControlVisible={env0_9}
/>
);
}
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 (
<PiPControls
message={env0_3}
handleClosePip={env0_8}
visible={env0_9}
isVoiceMessage={result}
/>
);
}
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);
}
}
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 _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 _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 _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 object2 = {};
object2.message_id = value == activeMediaPlayerSource ? value2 : activeMediaPlayerSource.messageId;
object2.sender_user_id = value == message ? value2 : message.author.id;
object2.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);
}
object2.is_voice_message = r1;
object2.total_duration_secs = convertMsToSecs(value == finalProgress ? value2 : finalProgress.duration);
object2.pip_playback_start_time_secs = convertMsToSecs(value == initialProgress ? value2 : initialProgress.time);
object2.pip_playback_end_time_secs = convertMsToSecs(value == finalProgress ? value2 : finalProgress.time);
object2.pip_opened_timestamp = env0_0.toISOString();
const Date = global.Date;
let date = new Date();
object2.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, object2]);
return value2;
}