767 lines
37 KiB
TypeScript
767 lines
37 KiB
TypeScript
/* Metro module 4610; source: modules/calls/ChannelRTCParticipants.tsx; dependencies: [6, 7, 1378, 4492, 1226, 4258, 1379, 4259, 4607, 1878, 4609, 4297, 4299, 661, 4291, 4611, 3780, 4612, 22, 4617, 4618, 4285, 2] */
|
|
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
|
|
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
|
|
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
|
|
import EmbeddedActivitiesStore from '../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */
|
|
import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
|
|
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
|
|
import CallStore from '../../stores/CallStore.tsx'; /* Metro dependency 4258 */
|
|
import MediaEngineStore from '../../stores/MediaEngineStore.tsx'; /* Metro dependency 4259 */
|
|
import VoiceStateStore from '../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */
|
|
import ApplicationStreamingStore from '../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */
|
|
import SpeakingStore from '../../stores/SpeakingStore.tsx'; /* Metro dependency 4607 */
|
|
import VideoStreamStore from '../../stores/VideoStreamStore.tsx'; /* Metro dependency 4609 */
|
|
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as SecondaryIndexMapModule from '../../external/discord_common/js/packages/secondary-index-map/SecondaryIndexMap.tsx'; /* Metro dependency 3780 */
|
|
import * as ConstantsModule from '../../external/discord_common/js/packages/media-engine/Constants.tsx'; /* Metro dependency 4291 */
|
|
import * as CallConstantsModule from './CallConstants.tsx'; /* Metro dependency 4299 */
|
|
|
|
function _fun39541(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#39541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:6, offset: 0x010e4767, size: 506 bytes, params: 8, frame: 21
|
|
const env0_0 = require;
|
|
const closure = function({applicationId, instanceId}) {
|
|
return instanceId != null ? 'activity-' + applicationId + '-' + instanceId : 'activity-' + applicationId;
|
|
};
|
|
const sortKey2 = sortKey;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = CallConstantsModule;
|
|
const env0_15 = value.isStreamParticipant;
|
|
const env0_16 = value.ParticipantTypes;
|
|
value = require(661) /* metro dependency 661: Constants */;
|
|
const env0_17 = value.ActivityTypes;
|
|
const env0_18 = value.ChannelTypes;
|
|
value = _fun39544();
|
|
(FileImportTrackerModule).fileFinishedImporting('modules/calls/ChannelRTCParticipants.tsx');
|
|
exports.default = value;
|
|
exports.getEmbeddedActivityParticipantId = closure;
|
|
exports.activityParticipantIdToApplicationId = function(a0) {
|
|
var r0;
|
|
var value = a0;
|
|
if (value == null) {
|
|
r0 = value;
|
|
} else {
|
|
value = value.split('-');
|
|
r0 = value[1];
|
|
}
|
|
return r0;
|
|
};
|
|
exports.sortKey = sortKey2;
|
|
exports.areParticipantsEqual = areParticipantsEqual;
|
|
exports.ChannelRTCParticipantsIndexes = {VIDEO: 'VIDEO', STREAM: 'STREAM', FILTERED: 'FILTERED',
|
|
SPEAKING: 'SPEAKING', ACTIVITY: 'ACTIVITY', NOT_POPPED_OUT: 'NOT_POPPED_OUT'};
|
|
function sortKey(a0) { // fn#39543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:509, offset: 0x010e49af, size: 326 bytes, params: 2, frame: 17
|
|
var r5;
|
|
var r4;
|
|
var voiceState;
|
|
var userVideo;
|
|
var value6;
|
|
const type = a0.type;
|
|
var value;
|
|
const ACTIVITY = ParticipantTypes.ACTIVITY;
|
|
if (ACTIVITY === type) {
|
|
return '\x01' + a0.sortKey;
|
|
}
|
|
const HIDDEN_STREAM = ParticipantTypes.HIDDEN_STREAM;
|
|
if (HIDDEN_STREAM === type) {
|
|
userVideo = a0.userVideo;
|
|
value6 = '\x03';
|
|
r4 = userVideo ? '\x02' : value6;
|
|
value = importDefault(4611) /* metro dependency 4611: getParticipantUserKey */;
|
|
value = value(a0.userNick, a0.user);
|
|
return '' + r4 + value + value6;
|
|
}
|
|
const STREAM = ParticipantTypes.STREAM;
|
|
if (STREAM === type) {
|
|
userVideo = a0.userVideo;
|
|
value6 = '\x03';
|
|
r4 = userVideo ? '\x02' : value6;
|
|
value = importDefault(4611) /* metro dependency 4611: getParticipantUserKey */;
|
|
value = value(a0.userNick, a0.user);
|
|
return '' + r4 + value + value6;
|
|
}
|
|
const USER = ParticipantTypes.USER;
|
|
if (USER === type) {
|
|
voiceState = a0.voiceState;
|
|
r5 = voiceState == null ? a0.voiceState != null && a0.voiceState.selfStream ? '\x04' : '\x05' : voiceState.selfVideo ? '\x03' : a0.voiceState != null && a0.voiceState.selfStream ? '\x04' : '\x05';
|
|
value = importDefault(4611) /* metro dependency 4611: getParticipantUserKey */;
|
|
value = value(a0.userNick, a0.user);
|
|
return '' + r5 + value;
|
|
}
|
|
}
|
|
|
|
function _fun39544() { // fn#39544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:1010, offset: 0x010e4af5, size: 385 bytes, params: 1, frame: 15
|
|
return CreateClass(ChannelRTCParticipants, [{key: 'version', get: function() {
|
|
return this.participantByIndex.version;
|
|
}}, {key: 'size', value: function(a0) {
|
|
return this.participantByIndex.size(a0);
|
|
}}, {key: 'toArray', value: function(a0) {
|
|
return this.participantByIndex.values(a0, true);
|
|
}}, {key: 'rebuild', value: value_39550}, {key: 'getParticipant', value: function(a0) {
|
|
var value = this.participantByIndex.get(a0);
|
|
var value2 = null;
|
|
return value2 != value ? value : value2;
|
|
}}, {key: 'updateEmbeddedActivities', value: function() {
|
|
return this.updateParticipant('__EMBEDDED_ACTIVITIES__');
|
|
}}, {key: 'hasEmbeddedActivity', value: value_39555}, {key: 'updateParticipant', value: function(a0) {
|
|
var r2;
|
|
var r0;
|
|
var env0_0 = this;
|
|
var property = this.participants[a0];
|
|
r2 = a0 === '__EMBEDDED_ACTIVITIES__' ? this._getParticipantsForEmbeddedActivities() : this._getParticipantsForUser(a0);
|
|
r0 = property != null || r2.length !== 0;
|
|
if (r0) {
|
|
if (property != null) {
|
|
property.forEach(_fun39557);
|
|
}
|
|
r2.forEach(_fun39558);
|
|
this.participants[a0] = r2;
|
|
r0 = true;
|
|
}
|
|
return r0;
|
|
}}, {key: 'updateParticipantSpeaking', value: function(a0) {
|
|
var r1;
|
|
var env0_0 = this;
|
|
var env0_1 = a0;
|
|
r1 = this.participants[a0]?.reduce(_fun39560, false);
|
|
return r1 != null && r1;
|
|
}}, {key: 'updateParticipantQuality', value: function(a0, a1, a2) {
|
|
var r1;
|
|
var env0_0 = this;
|
|
var env0_1 = a1;
|
|
var env0_2 = a2;
|
|
r1 = this.participants[a0]?.reduce(_fun39562, false);
|
|
return r1 != null && r1;
|
|
}}, {key: 'updateGuildRingingUsers', value: function(a0, a1) {
|
|
var guildRingingUsers = this.guildRingingUsers;
|
|
if (a1) {
|
|
guildRingingUsers.add(a0);
|
|
} else {
|
|
guildRingingUsers.delete(a0);
|
|
}
|
|
}}, {key: 'updateParticipantPoppedOut', value: function(a0, a1) {
|
|
var poppedOutParticipants = this.poppedOutParticipants;
|
|
if (a1) {
|
|
poppedOutParticipants.add(a0);
|
|
} else {
|
|
poppedOutParticipants.delete(a0);
|
|
}
|
|
}}, {key: '_getEmbeddedActivities', value: value_39565}, {key: '_getParticipantsForEmbeddedActivities',
|
|
value: function() {
|
|
var env0_0 = this;
|
|
return this._getEmbeddedActivities().map(_fun39568);
|
|
}}, {key: '_getParticipantsForUser', value: value_39569}]);
|
|
function ChannelRTCParticipants(a0) { // fn#39545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:1031, offset: 0x010e4c76, size: 181 bytes, params: 2, frame: 15
|
|
var environment;
|
|
const value = environment.__proto__;
|
|
env1_3(this, ChannelRTCParticipants);
|
|
this.participants = {};
|
|
this.lastSpoke = {};
|
|
let Set = global.Set;
|
|
const value3 = Object.create(Set.prototype, {constructor: {value: Set}});
|
|
let set = new Set();
|
|
this.guildRingingUsers = set instanceof Object ? set : value3;
|
|
Set = global.Set;
|
|
const value5 = Object.create(Set.prototype, {constructor: {value: Set}});
|
|
set = new Set();
|
|
this.poppedOutParticipants = set instanceof Object ? set : value5;
|
|
const SecondaryIndexMap = (SecondaryIndexMapModule).SecondaryIndexMap;
|
|
this.participantByIndex = new SecondaryIndexMap(_fun39546, sortKey);
|
|
this.channelId = a0;
|
|
function _fun39546(a0) { // fn#39546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:1259, offset: 0x010e4d2b, size: 345 bytes, params: 2, frame: 14
|
|
var voiceState;
|
|
const items2 = [];
|
|
let type = a0.type;
|
|
let USER = ParticipantTypes.USER;
|
|
let r2 = type === USER && a0.speaking;
|
|
if (r2) {
|
|
items2.push(env2_20.SPEAKING);
|
|
}
|
|
type = a0.type;
|
|
USER = ParticipantTypes.USER;
|
|
if (type !== USER) {
|
|
if (isStreamParticipant(a0)) {
|
|
items2.push(env2_20.STREAM);
|
|
r2 = a0.type === ParticipantTypes.HIDDEN_STREAM || a0.streamId == null;
|
|
r2 = !r2 ? a0.isPoppedOut : r2;
|
|
if (!r2) {
|
|
items2.push(env2_20.FILTERED);
|
|
}
|
|
}
|
|
} else {
|
|
voiceState = a0.voiceState;
|
|
if (voiceState == null) {
|
|
if (isStreamParticipant(a0)) {
|
|
items2.push(env2_20.STREAM);
|
|
r2 = a0.type === ParticipantTypes.HIDDEN_STREAM || a0.streamId == null;
|
|
r2 = !r2 ? a0.isPoppedOut : r2;
|
|
if (!r2) {
|
|
items2.push(env2_20.FILTERED);
|
|
}
|
|
}
|
|
} else if (voiceState.selfVideo) {
|
|
items2.push(env2_20.VIDEO);
|
|
if (!(a0.localVideoDisabled || a0.isPoppedOut)) {
|
|
items2.push(env2_20.FILTERED);
|
|
}
|
|
} else if (isStreamParticipant(a0)) {
|
|
items2.push(env2_20.STREAM);
|
|
r2 = a0.type === ParticipantTypes.HIDDEN_STREAM || a0.streamId == null;
|
|
r2 = !r2 ? a0.isPoppedOut : r2;
|
|
if (!r2) {
|
|
items2.push(env2_20.FILTERED);
|
|
}
|
|
}
|
|
}
|
|
type = a0.type;
|
|
const ACTIVITY = ParticipantTypes.ACTIVITY;
|
|
if (type === ACTIVITY) {
|
|
items2.push(env2_20.ACTIVITY);
|
|
}
|
|
if (!('isPoppedOut' in a0 && a0.isPoppedOut)) {
|
|
items2.push(env2_20.NOT_POPPED_OUT);
|
|
}
|
|
return items2;
|
|
}
|
|
|
|
}
|
|
|
|
function value_39550() { // fn#39550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:1933, offset: 0x010e4ec8, size: 427 bytes, params: 1, frame: 21
|
|
var r10;
|
|
var environment;
|
|
var r3;
|
|
var call;
|
|
var Set;
|
|
var Object;
|
|
var keys;
|
|
var voiceStateStoreBinding;
|
|
var set;
|
|
var add;
|
|
var authenticationStoreBinding;
|
|
var items2;
|
|
var applicationStreamingStoreBinding;
|
|
const value = environment.__proto__;
|
|
const channel = ChannelStore.getChannel(this.channelId);
|
|
if (channel == null) {
|
|
return false;
|
|
}
|
|
const type = channel.type;
|
|
const GUILD_TEXT = ChannelTypes.GUILD_TEXT;
|
|
if (type === GUILD_TEXT) {
|
|
return false;
|
|
}
|
|
const callStoreBinding = CallStore;
|
|
const getCall = callStoreBinding.getCall;
|
|
this.call = Reflect.apply(getCall, callStoreBinding, [this.channelId]);
|
|
if (channel.isPrivate()) {
|
|
call = this.call;
|
|
if (call == null) {
|
|
return false;
|
|
}
|
|
call = this.call;
|
|
if (call.unavailable) {
|
|
return false;
|
|
}
|
|
Set = global.Set;
|
|
if (channel.isGuildVocalOrThread()) {
|
|
Object = global.Object;
|
|
keys = Object.keys;
|
|
voiceStateStoreBinding = VoiceStateStore;
|
|
r3 = Reflect.apply(keys, Object, [voiceStateStoreBinding.getVoiceStatesForChannel(channel.id)]);
|
|
r10 = voiceStateStoreBinding;
|
|
} else {
|
|
r3 = channel.recipients;
|
|
}
|
|
set = new Set();
|
|
add = set.add;
|
|
authenticationStoreBinding = AuthenticationStore;
|
|
Reflect.apply(add, set, [authenticationStoreBinding.getId()]);
|
|
if (this.guildRingingUsers.size > 0) {
|
|
Set = global.Set;
|
|
items2 = [];
|
|
arraySpread(items2, this.guildRingingUsers, arraySpread(items2, set, 0, r10), r10);
|
|
set = new Set();
|
|
} else {
|
|
r3 = set;
|
|
}
|
|
applicationStreamingStoreBinding = ApplicationStreamingStore;
|
|
applicationStreamingStoreBinding.getAllActiveStreamsForChannel(this.channelId).forEach(_fun39551);
|
|
this.participantByIndex.clear();
|
|
this.participants = {};
|
|
r3.forEach(_fun39552);
|
|
} else {
|
|
Set = global.Set;
|
|
if (channel.isGuildVocalOrThread()) {
|
|
Object = global.Object;
|
|
keys = Object.keys;
|
|
voiceStateStoreBinding = VoiceStateStore;
|
|
r3 = Reflect.apply(keys, Object, [voiceStateStoreBinding.getVoiceStatesForChannel(channel.id)]);
|
|
r10 = voiceStateStoreBinding;
|
|
} else {
|
|
r3 = channel.recipients;
|
|
}
|
|
set = new Set();
|
|
add = set.add;
|
|
authenticationStoreBinding = AuthenticationStore;
|
|
Reflect.apply(add, set, [authenticationStoreBinding.getId()]);
|
|
if (this.guildRingingUsers.size > 0) {
|
|
Set = global.Set;
|
|
items2 = [];
|
|
arraySpread(items2, this.guildRingingUsers, arraySpread(items2, set, 0, r10), r10);
|
|
set = new Set();
|
|
} else {
|
|
r3 = set;
|
|
}
|
|
applicationStreamingStoreBinding = ApplicationStreamingStore;
|
|
applicationStreamingStoreBinding.getAllActiveStreamsForChannel(this.channelId).forEach(_fun39551);
|
|
this.participantByIndex.clear();
|
|
this.participants = {};
|
|
r3.forEach(_fun39552);
|
|
}
|
|
this.updateEmbeddedActivities();
|
|
return true;
|
|
function _fun39551({ownerId}) { // fn#39551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:2383, offset: 0x010e5073, size: 28 bytes, params: 2, frame: 11
|
|
return env0_1.add(ownerId);
|
|
}
|
|
|
|
function _fun39552(a0) { // fn#39552, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:2473, offset: 0x010e508f, size: 23 bytes, params: 2, frame: 11
|
|
return env0_0.updateParticipant(a0);
|
|
}
|
|
|
|
}
|
|
|
|
function value_39555() { // fn#39555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:2761, offset: 0x010e50e0, size: 34 bytes, params: 1, frame: 11
|
|
const size = this.size;
|
|
const value = environment.__proto__;
|
|
const ACTIVITY = env1_20.ACTIVITY;
|
|
return Reflect.apply(size, this, [ACTIVITY]) > 0;
|
|
}
|
|
|
|
function value_39556(a0) { // fn#39556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:2836, offset: 0x010e5102, size: 128 bytes, params: 2, frame: 17
|
|
const property = this.participants[a0];
|
|
const r2 = a0 === '__EMBEDDED_ACTIVITIES__' ? this._getParticipantsForEmbeddedActivities() : this._getParticipantsForUser(a0);
|
|
let r0 = property != null || r2.length !== 0;
|
|
if (r0) {
|
|
if (property != null) {
|
|
property.forEach(_fun39557);
|
|
}
|
|
r2.forEach(_fun39558);
|
|
this.participants[a0] = r2;
|
|
r0 = true;
|
|
}
|
|
return r0;
|
|
function _fun39557({id}) { // fn#39557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3012, offset: 0x010e5182, size: 35 bytes, params: 2, frame: 11
|
|
env0_0.participantByIndex.delete(id);
|
|
}
|
|
|
|
function _fun39558(a0) { // fn#39558, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3067, offset: 0x010e51a5, size: 36 bytes, params: 2, frame: 13
|
|
const participantByIndex = env0_0.participantByIndex;
|
|
participantByIndex.set(a0.id, a0);
|
|
}
|
|
|
|
}
|
|
|
|
function value_39559(a0) { // fn#39559, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3178, offset: 0x010e51c9, size: 68 bytes, params: 2, frame: 15
|
|
const env0_1 = a0;
|
|
const r1 = this.participants[a0]?.reduce(_fun39560, false);
|
|
return r1 != null && r1;
|
|
function _fun39560(a0, a1) { // fn#39560, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3262, offset: 0x010e520d, size: 292 bytes, params: 3, frame: 20
|
|
var r0;
|
|
var value3;
|
|
var moduleValue;
|
|
var getIsSpeaking;
|
|
var object;
|
|
var binding;
|
|
var value5;
|
|
var value6;
|
|
var isSoundSharing2;
|
|
var participantByIndex;
|
|
var get;
|
|
var id;
|
|
var value7;
|
|
var lastSpoke;
|
|
var Date;
|
|
var set;
|
|
const value = a0;
|
|
const type = a1.type;
|
|
const USER = ParticipantTypes.USER;
|
|
if (type === USER) {
|
|
value3 = undefined;
|
|
moduleValue = require(4612) /* metro dependency 4612: useIsSpeaking */;
|
|
getIsSpeaking = moduleValue.getIsSpeaking;
|
|
object = {};
|
|
binding = env0_1;
|
|
object.userId = binding;
|
|
value5 = true;
|
|
object.checkIsMuted = value5;
|
|
value6 = Reflect.apply(getIsSpeaking, moduleValue, [object]);
|
|
isSoundSharing2 = SpeakingStore.isSoundSharing(binding);
|
|
participantByIndex = env0_0.participantByIndex;
|
|
get = participantByIndex.get;
|
|
id = a1.id;
|
|
value7 = Reflect.apply(get, participantByIndex, [id]);
|
|
if ((value7 == null ? value3 : value7.type) !== ParticipantTypes.USER) {
|
|
if (value6) {
|
|
lastSpoke = env0_0.lastSpoke;
|
|
binding = env0_1;
|
|
Date = global.Date;
|
|
lastSpoke[binding] = Date.now();
|
|
}
|
|
binding = env0_0;
|
|
participantByIndex = binding.participantByIndex;
|
|
set = participantByIndex.set;
|
|
id = a1.id;
|
|
object = {};
|
|
copyDataProperties(object, a1, value6);
|
|
object['speaking'] = value6;
|
|
lastSpoke = binding.lastSpoke;
|
|
object['lastSpoke'] = lastSpoke[env0_1];
|
|
object['soundsharing'] = isSoundSharing2;
|
|
Reflect.apply(set, participantByIndex, [id, object]);
|
|
r0 = value5;
|
|
} else if (value7.speaking !== value6) {
|
|
if (value6) {
|
|
lastSpoke = env0_0.lastSpoke;
|
|
binding = env0_1;
|
|
Date = global.Date;
|
|
lastSpoke[binding] = Date.now();
|
|
}
|
|
binding = env0_0;
|
|
participantByIndex = binding.participantByIndex;
|
|
set = participantByIndex.set;
|
|
id = a1.id;
|
|
object = {};
|
|
copyDataProperties(object, a1, value6);
|
|
object['speaking'] = value6;
|
|
lastSpoke = binding.lastSpoke;
|
|
object['lastSpoke'] = lastSpoke[env0_1];
|
|
object['soundsharing'] = isSoundSharing2;
|
|
Reflect.apply(set, participantByIndex, [id, object]);
|
|
r0 = value5;
|
|
} else if (value7.soundsharing === isSoundSharing2) {
|
|
r0 = value;
|
|
} else {
|
|
if (value6) {
|
|
lastSpoke = env0_0.lastSpoke;
|
|
binding = env0_1;
|
|
Date = global.Date;
|
|
lastSpoke[binding] = Date.now();
|
|
}
|
|
binding = env0_0;
|
|
participantByIndex = binding.participantByIndex;
|
|
set = participantByIndex.set;
|
|
id = a1.id;
|
|
object = {};
|
|
copyDataProperties(object, a1, value6);
|
|
object['speaking'] = value6;
|
|
lastSpoke = binding.lastSpoke;
|
|
object['lastSpoke'] = lastSpoke[env0_1];
|
|
object['soundsharing'] = isSoundSharing2;
|
|
Reflect.apply(set, participantByIndex, [id, object]);
|
|
r0 = value5;
|
|
}
|
|
return r0;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
}
|
|
|
|
function value_39561(a0, a1, a2) { // fn#39561, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3675, offset: 0x010e5331, size: 78 bytes, params: 4, frame: 15
|
|
const env0_1 = a1;
|
|
const env0_2 = a2;
|
|
const r1 = this.participants[a0]?.reduce(_fun39562, false);
|
|
return r1 != null && r1;
|
|
function _fun39562(a0, a1) { // fn#39562, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:3763, offset: 0x010e537f, size: 99 bytes, params: 3, frame: 17
|
|
var r0;
|
|
var participantByIndex;
|
|
var set;
|
|
var id;
|
|
var object;
|
|
const value = a0;
|
|
const type = a1.type;
|
|
const STREAM = ParticipantTypes.STREAM;
|
|
if (type !== STREAM) {
|
|
r0 = value;
|
|
} else {
|
|
participantByIndex = env0_0.participantByIndex;
|
|
set = participantByIndex.set;
|
|
id = a1.id;
|
|
object = {};
|
|
copyDataProperties(object, a1, undefined);
|
|
object['maxResolution'] = require;
|
|
object['maxFrameRate'] = importDefault;
|
|
Reflect.apply(set, participantByIndex, [id, object]);
|
|
r0 = true;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
}
|
|
|
|
function value_39565() { // fn#39565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:4161, offset: 0x010e543a, size: 122 bytes, params: 1, frame: 17
|
|
var environment;
|
|
var r0;
|
|
var uniqBy;
|
|
var items2;
|
|
var value4;
|
|
let value = environment.__proto__;
|
|
const embeddedActivitiesStoreBinding = EmbeddedActivitiesStore;
|
|
const embeddedActivitiesForChannel = embeddedActivitiesStoreBinding.getEmbeddedActivitiesForChannel(this.channelId);
|
|
const selfEmbeddedActivityForChannel = embeddedActivitiesStoreBinding.getSelfEmbeddedActivityForChannel(this.channelId);
|
|
if (selfEmbeddedActivityForChannel == null) {
|
|
r0 = embeddedActivitiesForChannel;
|
|
} else {
|
|
value = require(22) /* metro dependency 22 */;
|
|
uniqBy = value.uniqBy;
|
|
items2 = [];
|
|
value4 = arraySpread(items2, embeddedActivitiesForChannel, 0, embeddedActivitiesForChannel);
|
|
items2[value4] = selfEmbeddedActivityForChannel;
|
|
value4 + 1;
|
|
value = Reflect.apply(uniqBy, value, [items2, function(a0) {
|
|
return a0.compositeInstanceId;
|
|
}]);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_39567() { // fn#39567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:4405, offset: 0x010e54bf, size: 38 bytes, params: 1, frame: 11
|
|
return this._getEmbeddedActivities().map(_fun39568);
|
|
function _fun39568(a0, a1) { // fn#39568, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:4458, offset: 0x010e54e5, size: 210 bytes, params: 3, frame: 18
|
|
var r3;
|
|
const object = {};
|
|
let value = environment.__proto__.__proto__;
|
|
const ACTIVITY = ParticipantTypes.ACTIVITY;
|
|
object.type = ACTIVITY;
|
|
const getEmbeddedActivityParticipantIdBinding = getEmbeddedActivityParticipantId;
|
|
const value2 = undefined;
|
|
object.id = getEmbeddedActivityParticipantIdBinding({applicationId: a0.applicationId,
|
|
instanceId: a0.compositeInstanceId});
|
|
object.applicationId = a0.applicationId;
|
|
const PLAYING = ActivityTypes.PLAYING;
|
|
object.activityType = PLAYING;
|
|
object.activityUrl = a0.url;
|
|
const participants = a0.participants;
|
|
const value3 = null;
|
|
const r7 = value3 != participants ? participants : [];
|
|
const items2 = [];
|
|
arraySpread(items2, r7, 0, r7);
|
|
object.participants = items2;
|
|
value = ChannelStore.getChannel(env0_0.channelId);
|
|
if (value3 == value) {
|
|
r3 = value2;
|
|
} else {
|
|
value = value.getGuildId();
|
|
r3 = value;
|
|
}
|
|
object.guildId = value3 != r3 ? r3 : value3;
|
|
object.sortKey = a1.toString();
|
|
return object;
|
|
}
|
|
|
|
}
|
|
|
|
function value_39569(a0) { // fn#39569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:4870, offset: 0x010e55b7, size: 1005 bytes, params: 2, frame: 28
|
|
var r8;
|
|
var r2;
|
|
var r6;
|
|
var r12;
|
|
var type;
|
|
var r14;
|
|
var selfVideo;
|
|
var has;
|
|
var object;
|
|
var videoStreamStoreBinding;
|
|
var getUserStreamData;
|
|
var id;
|
|
var property;
|
|
var defaultImport;
|
|
var mediaEngineStoreBinding;
|
|
var isLocalVideoDisabled;
|
|
var poppedOutParticipants;
|
|
var value20;
|
|
var participant;
|
|
var ownerId;
|
|
var authenticationStoreBinding;
|
|
var STREAM;
|
|
var object4;
|
|
var object5;
|
|
const items2 = [];
|
|
let value = environment.__proto__;
|
|
const user = UserStore.getUser(a0);
|
|
const value3 = null;
|
|
if (value3 != user) {
|
|
var voiceStateStoreBinding = VoiceStateStore;
|
|
var voiceStateForChannel = voiceStateStoreBinding.getVoiceStateForChannel(this.channelId, a0);
|
|
var voicePlatformForChannel = voiceStateStoreBinding.getVoicePlatformForChannel(this.channelId, a0);
|
|
var channel = ChannelStore.getChannel(this.channelId);
|
|
var value7 = undefined;
|
|
r8 = value3 == channel ? value7 : channel.getGuildId();
|
|
var call = this.call;
|
|
r2 = value3 == call || value3 == call.ringing ? value7 : call.ringing.includes(a0);
|
|
r2 = !r2 ? this.guildRingingUsers.has(a0) : r2;
|
|
var r5 = value3 != r2 && r2;
|
|
if (value3 != voiceStateForChannel || r5) {
|
|
object = {};
|
|
object.type = ParticipantTypes.USER;
|
|
videoStreamStoreBinding = VideoStreamStore;
|
|
copyDataProperties(object, videoStreamStoreBinding.getUserStreamData(a0, r8), undefined);
|
|
object['user'] = user;
|
|
id = user.id;
|
|
object['id'] = id;
|
|
object['voiceState'] = voiceStateForChannel;
|
|
object['voicePlatform'] = voicePlatformForChannel;
|
|
object['speaking'] = (require(4612) /* metro dependency 4612: useIsSpeaking */).getIsSpeaking({userId: a0,
|
|
checkIsMuted: true});
|
|
property = this.lastSpoke[a0];
|
|
object['lastSpoke'] = value3 != property ? property : 0;
|
|
object['soundsharing'] = SpeakingStore.isSoundSharing(a0);
|
|
object['ringing'] = r5;
|
|
defaultImport = importDefault(4617) /* metro dependency 4617: NicknameUtils */;
|
|
object['userNick'] = defaultImport.getName(r8, this.channelId, user);
|
|
object['userAvatarDecoration'] = (require(4618) /* metro dependency 4618: useAvatarDecoration */).getAvatarDecoration(user,
|
|
|
|
|
|
r8);
|
|
mediaEngineStoreBinding = MediaEngineStore;
|
|
isLocalVideoDisabled = mediaEngineStoreBinding.isLocalVideoDisabled;
|
|
id = user.id;
|
|
object['localVideoDisabled'] = Reflect.apply(isLocalVideoDisabled, mediaEngineStoreBinding, [id]);
|
|
poppedOutParticipants = this.poppedOutParticipants;
|
|
has = poppedOutParticipants.has;
|
|
id = user.id;
|
|
object['isPoppedOut'] = Reflect.apply(has, poppedOutParticipants, [id]);
|
|
items2.push(object);
|
|
}
|
|
var streamForUser = ApplicationStreamingStore.getStreamForUser(a0, r8);
|
|
r5 = value3 != streamForUser ? streamForUser : ApplicationStreamingStore.getActiveStreamForUser(a0, r8);
|
|
if (value3 != r5) {
|
|
if (r5.channelId === this.channelId) {
|
|
value20 = (require(4285) /* metro dependency 4285: StreamKeyUtils */).encodeStreamKey(r5);
|
|
participant = this.getParticipant(value20);
|
|
ownerId = r5.ownerId;
|
|
authenticationStoreBinding = AuthenticationStore;
|
|
r12 = ownerId === authenticationStoreBinding.getId() && ApplicationStreamingStore.isSelfStreamHidden(this.channelId);
|
|
type = value3 == participant ? value7 : participant.type;
|
|
STREAM = ParticipantTypes.STREAM;
|
|
if (type !== STREAM) {
|
|
r6 = value3;
|
|
} else {
|
|
if (value3 != participant.maxResolution) {
|
|
object4 = {};
|
|
copyDataProperties(object4, participant.maxResolution, undefined);
|
|
r14 = object4;
|
|
} else {
|
|
r14 = value7;
|
|
}
|
|
r6 = {maxResolution: r14, maxFrameRate: participant.maxFrameRate};
|
|
}
|
|
object5 = {};
|
|
videoStreamStoreBinding = VideoStreamStore;
|
|
getUserStreamData = videoStreamStoreBinding.getUserStreamData;
|
|
STREAM = MediaEngineContextTypes.STREAM;
|
|
copyDataProperties(object5, Reflect.apply(getUserStreamData, videoStreamStoreBinding, [a0, r8, STREAM]),
|
|
undefined);
|
|
copyDataProperties(object5, r6, undefined);
|
|
r12 = r12 ? ParticipantTypes.HIDDEN_STREAM : ParticipantTypes.STREAM;
|
|
object5['type'] = r12;
|
|
object5['id'] = value20;
|
|
selfVideo = value3 == voiceStateForChannel ? value7 : voiceStateForChannel.selfVideo;
|
|
object5['userVideo'] = value3 != selfVideo && selfVideo;
|
|
object5['user'] = user;
|
|
value = importDefault(4617) /* metro dependency 4617: NicknameUtils */;
|
|
value = value.getName(r8, this.channelId, user);
|
|
object5['userNick'] = value;
|
|
object5['stream'] = r5;
|
|
value = this.poppedOutParticipants.has(value20);
|
|
object5['isPoppedOut'] = value;
|
|
items2.push(object5);
|
|
}
|
|
}
|
|
}
|
|
return items2;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function areParticipantsEqual(a0, a1) { // fn#39571, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4788:6625, offset: 0x010e59c7, size: 168 bytes, params: 3, frame: 14
|
|
var r1;
|
|
var r2;
|
|
var r3;
|
|
var r4;
|
|
var r5;
|
|
var r8;
|
|
var item3;
|
|
var value3;
|
|
var item5;
|
|
var value5;
|
|
let iterator = a0[Symbol.iterator]();
|
|
const iterator2 = iterator.next;
|
|
const value = undefined;
|
|
let item2 = Reflect.apply(iterator2, iterator, []);
|
|
let item = item2.value;
|
|
item2 = item2.done ? undefined : iterator;
|
|
const value2 = item2 === value;
|
|
if (value2) {
|
|
}
|
|
if (value2) {
|
|
r1 = item2;
|
|
r2 = value2;
|
|
r3 = value;
|
|
} else {
|
|
item3 = Reflect.apply(iterator2, item2, []);
|
|
item = item3.value;
|
|
item3 = item3.done ? undefined : item2;
|
|
value3 = item3 === value;
|
|
if (value3) {
|
|
r1 = item3;
|
|
r2 = value3;
|
|
r3 = value;
|
|
} else {
|
|
r1 = item3;
|
|
r2 = value3;
|
|
r3 = item;
|
|
}
|
|
}
|
|
if (!r2) {
|
|
r1.return();
|
|
}
|
|
iterator = a1[Symbol.iterator]();
|
|
const iterator3 = iterator.next;
|
|
let item4 = Reflect.apply(iterator3, iterator, []);
|
|
item = item4.value;
|
|
item4 = item4.done ? undefined : iterator;
|
|
const value4 = item4 === value;
|
|
if (value4) {
|
|
}
|
|
if (value4) {
|
|
r4 = item4;
|
|
r5 = value4;
|
|
r8 = value;
|
|
} else {
|
|
item5 = Reflect.apply(iterator3, item4, []);
|
|
item = item5.value;
|
|
item5 = item5.done ? undefined : item4;
|
|
value5 = item5 === value;
|
|
if (value5) {
|
|
r4 = item5;
|
|
r5 = value5;
|
|
r8 = value;
|
|
} else {
|
|
r4 = item5;
|
|
r5 = value5;
|
|
r8 = item;
|
|
}
|
|
}
|
|
if (!r5) {
|
|
r4.return();
|
|
}
|
|
return r3 === r8;
|
|
}
|
|
|
|
global.__d(_fun39541, 4610, [6, 7, 1378, 4492, 1226, 4258, 1379, 4259, 4607, 1878, 4609, 4297, 4299, 661, 4291,
|
|
4611, 3780, 4612, 22, 4617, 4618, 4285,
|
|
2]) /* metro module 4610, dependencies: [6, 7, 1378, 4492, 1226, 4258, 1379, 4259, 4607, 1878, 4609, 4297, 4299, 661, 4291, 4611, 3780, 4612, 22, 4617, 4618, 4285, 2] */;
|