/* Metro module 10795; source: modules/go_live/native/MobileGoLiveActionSheet.tsx; dependencies: [57, 31, 4502, 4399, 4492, 1379, 1867, 1934, 1878, 4282, 661, 4291, 33, 4501, 697, 478, 4080, 10795, 1962, 480, 566, 10796, 10801, 6771, 6789, 4017, 8913, 8899, 8990, 1244, 2096, 10802, 10804, 6821, 4573, 3859, 8619, 6275, 6277, 6618, 6231, 7988, 7882, 676, 7987, 8617, 7892, 4578, 7954, 6808, 10794, 2] */
function _fun82920(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#82920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:6, offset: 0x01f06203, size: 667 bytes, params: 8, frame: 25
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
let value = importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const applicationStreamingSettingsStore = importDefault(4399) /* metro dependency 4399: ApplicationStreamingSettingsStore */;
const applicationStreamingStore = importDefault(4492) /* metro dependency 4492: ApplicationStreamingStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const ApplicationStreamPresets = (require(4282) /* metro dependency 4282: StreamSettingsConstants */).ApplicationStreamPresets;
const env0_13 = (require(661) /* metro dependency 661: Constants */).ApplicationStreamStates;
const env0_14 = (require(4291) /* metro dependency 4291: Constants */).MediaEngineContextTypes;
const value2 = require(33) /* metro dependency 33 */;
const env0_15 = value2.jsx;
const env0_16 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object2 = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.wrapper = {gap: PX_24};
object2.header = {textAlign: 'center'};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.section = {marginHorizontal: PX_16};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object2.highQualityLabel = {'flexDirection': 'row', 'alignItems': 'center', gap: PX_4};
object2.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_17 = Reflect.apply(createStyles, createStylesModule, [object2]);
const PRESET_MOBILE_DEFAULT = ApplicationStreamPresets.PRESET_MOBILE_DEFAULT;
const items2 = [{preset: PRESET_MOBILE_DEFAULT, enabled: true}];
object2 = {};
const PRESET_MOBILE_PERFORMANCE = ApplicationStreamPresets.PRESET_MOBILE_PERFORMANCE;
object2.preset = PRESET_MOBILE_PERFORMANCE;
const platformUtilsModule = require(478) /* metro dependency 478: PlatformUtils */;
object2.enabled = !platformUtilsModule.isIOS();
items2[1] = object2;
const PRESET_MOBILE_HIGH_QUALITY = ApplicationStreamPresets.PRESET_MOBILE_HIGH_QUALITY;
items2[2] = {preset: PRESET_MOBILE_HIGH_QUALITY, enabled: true};
const env0_18 = items2.filter(function(a0) {
return a0.enabled;
}).map(function(a0) {
return a0.preset;
});
value = value.memo(MobileGoLiveActionSheet);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/go_live/native/MobileGoLiveActionSheet.tsx');
exports.default = value;
exports.showMobileGoLiveActionSheet = showMobileGoLiveActionSheet;
}
function MobileGoLiveActionSheet() { // fn#82923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:842, offset: 0x01f064a9, size: 1951 bytes, params: 1, frame: 45
var r15;
var NativeView;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
var object12;
var object;
var object2;
const {preset,
soundshareEnabled} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ApplicationStreamingSettingsStore],
function() {
return ApplicationStreamingSettingsStore.getState();
});
const {user,
guildPremiumTier} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([UserStore,
SelectedChannelStore, ChannelStore, GuildStore], _fun82926);
let binding = env0_4;
const value4 = binding.useCallback(_fun82927, [user, guildPremiumTier]);
const value5 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ApplicationStreamingStore],
_fun82928);
const isStreaming = value5.isStreaming;
const env0_3 = isStreaming;
const activeSourceId = value5.activeSourceId;
var env0_4 = activeSourceId;
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
let defaultImport = importDefault(10801) /* metro dependency 10801: MobileGoLiveUpsellExperiment */;
const useConfig = defaultImport.useConfig;
const goLiveUpsellVariant = Reflect.apply(useConfig, defaultImport,
[{location: 'MobileGoLiveActionSheet'}]).goLiveUpsellVariant;
const defaultImport2 = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const MOBILE_GO_LIVE_ACTION_SHEET = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).MOBILE_GO_LIVE_ACTION_SHEET;
const analyticsLocations = defaultImport2(MOBILE_GO_LIVE_ACTION_SHEET).analyticsLocations;
const styles = useStyles();
let useState = binding.useState;
const PRESET_MOBILE_DEFAULT = ApplicationStreamPresets.PRESET_MOBILE_DEFAULT;
let r9 = preset === PRESET_MOBILE_DEFAULT || preset === ApplicationStreamPresets.PRESET_MOBILE_PERFORMANCE;
r9 = !r9 ? preset === ApplicationStreamPresets.PRESET_MOBILE_HIGH_QUALITY : r9;
const value9 = Reflect.apply(useState, binding,
[r9 && env0_18.includes(preset) && value4(preset) ? preset : ApplicationStreamPresets.PRESET_MOBILE_DEFAULT]);
binding = env0_3;
const value10 = binding(value9, 2);
const property = value10[0];
const env0_8 = value10[1];
const binding3 = env0_4;
useState = binding3.useState;
const value11 = binding(Reflect.apply(useState, binding3, [soundshareEnabled]), 2);
const property2 = value11[0];
const env0_10 = value11[1];
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useSharedValue = reanimatedRexportModule.useSharedValue;
const PRESET_MOBILE_HIGH_QUALITY = ApplicationStreamPresets.PRESET_MOBILE_HIGH_QUALITY;
const value12 = Reflect.apply(useSharedValue, reanimatedRexportModule, [!value4(PRESET_MOBILE_HIGH_QUALITY)]);
const env0_11 = binding3.useCallback(_fun82930, [user, guildPremiumTier, activeSourceId, isStreaming]);
const AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const BottomSheetScrollView = (require(6277) /* metro dependency 6277 */).BottomSheetScrollView;
const SafeAreaPaddingView = (require(6618) /* metro dependency 6618: SafeAreaView */).SafeAreaPaddingView;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const CrNjqp = (importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).CrNjqp;
const items2 = [{Reflect.apply(string,
intl, [CrNjqp])}];
const NativeView2 = importDefault(6821) /* metro dependency 6821: NativeView */;
let section = styles.section;
const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup;
const tableRowGroupProps = {title: (require(1244) /* metro dependency 1244: indexNative */).intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */)['/XSr8v']),
hasIcons: false};
const TableRadioGroup = (require(7988) /* metro dependency 7988: TableRadioGroupNative */).TableRadioGroup;
items2[1] = {env0_18.map(_fun82932)};
let r13 = goLiveUpsellVariant === 'one-step' && value12.get() && {((Component) => )(importDefault(8617) /* metro dependency 8617: PremiumFeatureUpsell */)};
items2[2] = r13;
r13 = goLiveUpsellVariant === 'two-step' && value12.get();
if (r13) {
NativeView = NativeView2;
r13 = ;
}
items2[3] = r13;
const defaultImport7 = NativeView2;
section = styles.section;
const tableRowGroupProps2 = {title: (require(1244) /* metro dependency 1244: indexNative */).intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */)['j+eAMQ']),
hasIcons: false};
const TableSwitchRow = (require(6808) /* metro dependency 6808: TableSwitchRowNative */).TableSwitchRow;
items2[4] = ((Component) => )(defaultImport7);
const defaultImport8 = NativeView2;
section = styles.section;
if (isStreaming) {
object2 = {'size': 'lg', 'variant': 'destructive'};
object2.text = intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).OsS9Ll);
object2.onPress = onPress_82935;
r15 = object2;
} else {
object = {'size': 'lg', 'variant': 'primary'};
object.text = intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */)['3wwZ/Q']);
object.onPress = onPress_82936;
r15 = object;
}
items2[5] = ((Component) => )(defaultImport8);
return (
{items2}
);
}
function showMobileGoLiveActionSheet(a0) { // fn#82937, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:5605, offset: 0x01f07375, size: 126 bytes, params: 2, frame: 18
const defaultImport = importDefault(dependencyMap[16]);
const openLazy = defaultImport.openLazy;
let value = require(dependencyMap[18]);
value = value(dependencyMap[17], dependencyMap.paths);
const ImpressionNames = require(dependencyMap[19]).ImpressionNames;
const MOBILE_GO_LIVE_ACTION_SHEET = ImpressionNames.MOBILE_GO_LIVE_ACTION_SHEET;
Reflect.apply(openLazy, defaultImport, [value, 'MobileGoLiveActionSheet',
{impressionName: MOBILE_GO_LIVE_ACTION_SHEET, impressionProperties: {location_stack: a0}}]);
}
function getTableRadioRowConfig(a0) { // fn#82924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:2465, owner: MobileGoLiveActionSheet.getTableRadioRowConfig, offset: 0x01f06c48, size: 798 bytes, params: 2, frame: 33
var r5;
var intl2;
const value = environment.__proto__;
const getStreamSettingsForPresetModule = require(10796) /* metro dependency 10796: getStreamSettingsForPreset */;
let getMaxSettingsForPreset = getStreamSettingsForPresetModule.getMaxSettingsForPreset;
let PRESET_MOBILE_DEFAULT = ApplicationStreamPresets.PRESET_MOBILE_DEFAULT;
const value2 = Reflect.apply(getMaxSettingsForPreset, getStreamSettingsForPresetModule, [PRESET_MOBILE_DEFAULT]);
const moduleValue2 = getStreamSettingsForPresetModule;
getMaxSettingsForPreset = moduleValue2.getMaxSettingsForPreset;
let PRESET_MOBILE_PERFORMANCE = ApplicationStreamPresets.PRESET_MOBILE_PERFORMANCE;
const value3 = Reflect.apply(getMaxSettingsForPreset, moduleValue2, [PRESET_MOBILE_PERFORMANCE]);
const moduleValue3 = getStreamSettingsForPresetModule;
getMaxSettingsForPreset = moduleValue3.getMaxSettingsForPreset;
let PRESET_MOBILE_HIGH_QUALITY = ApplicationStreamPresets.PRESET_MOBILE_HIGH_QUALITY;
const value4 = Reflect.apply(getMaxSettingsForPreset, moduleValue3, [PRESET_MOBILE_HIGH_QUALITY]);
const object6 = {value: a0};
const object7 = {};
PRESET_MOBILE_DEFAULT = ApplicationStreamPresets.PRESET_MOBILE_DEFAULT;
const object8 = {};
const MobilePhoneIcon = (require(8990) /* metro dependency 8990: MobilePhoneIcon */).MobilePhoneIcon;
object8.icon = ;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object8.label = intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */)['2qmQ8N']);
const value5 = '';
object8.subLabel = value2 != null ? intl.formatToPlainString((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).ibH7vy,
value2) : value5;
object7[PRESET_MOBILE_DEFAULT] = object8;
PRESET_MOBILE_PERFORMANCE = ApplicationStreamPresets.PRESET_MOBILE_PERFORMANCE;
const object9 = {};
const SpeedometerIcon = (require(10802) /* metro dependency 10802: SpeedometerIcon */).SpeedometerIcon;
object9.icon = ;
object9.label = intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */)['5eO4/m']);
object9.subLabel = value3 != null ? intl.formatToPlainString((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).fN0UQY,
value3) : value5;
object7[PRESET_MOBILE_PERFORMANCE] = object9;
PRESET_MOBILE_HIGH_QUALITY = ApplicationStreamPresets.PRESET_MOBILE_HIGH_QUALITY;
const object10 = {};
const ImageSparkleIcon = (require(10804) /* metro dependency 10804: ImageSparkleIcon */).ImageSparkleIcon;
object10.icon = ;
const NativeView = importDefault(6821) /* metro dependency 6821: NativeView */;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = {intl.string((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).nMcXo1)};
const BaseIconImage = (require(3859) /* metro dependency 3859: BaseIconImage */).BaseIconImage;
object10.label = {text};
if (value4 != null) {
intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
r5 = intl2.formatToPlainString((importDefault(2096) /* metro dependency 2096: MobileGoLiveActionSheetMessages */).q4gYBi,
value4);
} else {
r5 = value5;
}
object10.subLabel = r5;
object7[PRESET_MOBILE_HIGH_QUALITY] = object10;
copyDataProperties(object6, object7[a0], intl);
return object6;
}
function _fun82926() { // fn#82926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:1021, offset: 0x01f06f79, size: 108 bytes, params: 1, frame: 16
let value = environment.__proto__;
const currentUser = UserStore.getCurrentUser();
const getChannel = ChannelStore.getChannel;
const getVoiceChannelId = SelectedChannelStore.getVoiceChannelId;
const value3 = Reflect.apply(getChannel, ChannelStore, [Reflect.apply(getVoiceChannelId, SelectedChannelStore, [])]);
const object2 = {user: currentUser};
value = undefined;
const guild = GuildStore.getGuild(value3 == null ? value : value3.getGuildId());
object2.guildPremiumTier = guild == null ? value : guild.premiumTier;
return object2;
}
function _fun82927(a0) { // fn#82927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:1246, offset: 0x01f06fe5, size: 54 bytes, params: 2, frame: 15
let value = environment.__proto__;
value = require(10796) /* metro dependency 10796: getStreamSettingsForPreset */;
return value.canStreamWithPreset(a0, user, guildPremiumTier);
}
function _fun82928() { // fn#82928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:1334, offset: 0x01f0701b, size: 100 bytes, params: 1, frame: 13
let value = environment.__proto__;
const currentUserActiveStream = ApplicationStreamingStore.getCurrentUserActiveStream();
const object2 = {};
const value3 = null;
object2.isStreaming = value3 != currentUserActiveStream && currentUserActiveStream.state === ApplicationStreamStates.ACTIVE;
value = ApplicationStreamingStore.getStreamerActiveStreamMetadata();
const sourceId = value3 == value ? undefined : value.sourceId;
object2.activeSourceId = value3 != sourceId ? sourceId : value3;
return object2;
}
function _fun82930(a0, a1) { // fn#82930, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:2114, offset: 0x01f0707f, size: 260 bytes, params: 3, frame: 22
var object2;
var moduleValue;
var updateStreamSettings;
const value = environment.__proto__;
const value4 = env1_3((importDefault(10796) /* metro dependency 10796: getStreamSettingsForPreset */)(a0, user,
guildPremiumTier) ?? [], 2);
const property = value4[0];
const property2 = value4[1];
if (property != null) {
if (property2 != null) {
moduleValue = require(8913) /* metro dependency 8913: StreamActionCreators */;
updateStreamSettings = moduleValue.updateStreamSettings;
object2 = {preset: a0, resolution: property, frameRate: property2, soundshareEnabled: a1};
Reflect.apply(updateStreamSettings, moduleValue, [object2]);
if (isStreaming) {
object2 = {};
object2.qualityOptions = {preset: a0, resolution: property, frameRate: property2};
object2.context = MediaEngineContextTypes.STREAM;
if (activeSourceId != null) {
object2.desktopSettings = {sourceId: activeSourceId, sound: a1};
}
(importDefault(8899) /* metro dependency 8899: AudioActionCreators */).setGoLiveSource(object2);
}
}
}
}
function MobileGoLiveActionSheetOnChange(a0) { // fn#82931, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:4017, owner: MobileGoLiveActionSheet.onChange, offset: 0x01f07183, size: 172 bytes, params: 2, frame: 18
var value2;
var defaultImport;
var handleShowUpsellAlert;
var object2;
var value;
if (env0_2(a0)) {
env0_8(a0);
env0_11(a0, env0_9);
if (isStreaming) {
value = environment.__proto__;
value = importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */;
value.hideActionSheet('MobileGoLiveActionSheet');
}
} else {
value2 = environment.__proto__;
defaultImport = importDefault(7882) /* metro dependency 7882: PremiumUpsellUtils */;
handleShowUpsellAlert = defaultImport.handleShowUpsellAlert;
object2 = {};
object2.initialUpsellKey = (require(676) /* metro dependency 676: ConstantsIOS */).UpsellTypes.STREAM_HIGH_QUALITY;
object2.analyticsLocations = analyticsLocations;
Reflect.apply(handleShowUpsellAlert, defaultImport, [object2]);
}
}
function _fun82932(a0) { // fn#82932, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:4213, offset: 0x01f0722f, size: 68 bytes, params: 2, frame: 16
const TableRadioRow = (require(7987) /* metro dependency 7987: TableRadioRowNative */).TableRadioRow;
return ;
}
function MobileGoLiveActionSheetOnValueChange(a0) { // fn#82934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:5096, owner: MobileGoLiveActionSheet.onValueChange, offset: 0x01f072c8, size: 33 bytes, params: 2, frame: 13
env0_10(a0);
env0_11(env0_7, a0);
}
function MobileGoLiveActionSheetOnPress_82935() { // fn#82935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:5260, owner: MobileGoLiveActionSheet.onPress, offset: 0x01f072e9, size: 70 bytes, params: 1, frame: 13
const value = environment.__proto__;
(require(10794) /* metro dependency 10794: useScreenshareUtils */).stopScreenshare();
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet('MobileGoLiveActionSheet');
}
function MobileGoLiveActionSheetOnPress_82936() { // fn#82936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10981:5405, owner: MobileGoLiveActionSheet.onPress, offset: 0x01f0732f, size: 70 bytes, params: 1, frame: 14
const value = environment.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet('MobileGoLiveActionSheet');
(require(10794) /* metro dependency 10794: useScreenshareUtils */).startStream();
}