578 lines
33 KiB
TypeScript
578 lines
33 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] */
|
|
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 = (
|
|
<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 _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 = [
|
|
<BackgroundBlurFill blurAmount={0.05} />,
|
|
];
|
|
const value = !visible;
|
|
const items3 = [styles.pipButton];
|
|
items3[1] = styles.backButton;
|
|
const ArrowLargeLeftIcon = (ArrowLargeLeftIconModule).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 = (XLargeIconModule).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 _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 = <AnimatedCircularProgress {...animatedCircularProgressProps2} />;
|
|
r12 = isPlaying ? r13 : r12;
|
|
return (
|
|
<TouchableOpacity {...object}>
|
|
{value19}
|
|
{value18}
|
|
<View style={styles.actionContainer}>
|
|
{animatedCircularProgress}
|
|
<TouchableOpacity
|
|
style={styles.playPauseButton}
|
|
onPress={value16}
|
|
accessibilityRole="button"
|
|
accessibilityLabel={r12}
|
|
>
|
|
{value17}
|
|
</TouchableOpacity>
|
|
</View>
|
|
</TouchableOpacity>
|
|
);
|
|
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) => <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);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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] */;
|