decord/alpha/source/stores/LocalActivityStore.tsx

398 lines
13 KiB
TypeScript
Raw Permalink Normal View History

2026-10-12 06:59:38 +00:00
// Module ID: 10648
// Function ID: 10649
// Name: LocalActivityStore
2026-10-12 06:59:38 +00:00
// Dependencies: [32, 2064, 5440, 2019, 10649, 10650, 5760, 1244, 5897, 2065, 2037, 10654, 2116, 5112, 1085, 2041, 10513, 12, 10655, 10656, 7436, 1355, 10657, 1403, 504, 584, 2]
2026-07-20 16:05:17 +00:00
2026-10-12 06:59:38 +00:00
// Module 10648 (LocalActivityStore)
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
2026-10-09 10:00:15 +00:00
import _modDef1355 from "module_1355" /* 1355 */;
import FlagUtils from "FlagUtils" /* 1403 */;
2026-10-10 08:08:14 +00:00
import ActivityFlagUtils from "ActivityFlagUtils" /* 10657 */;
2026-10-03 08:58:59 +00:00
import _slicedToArray from "_slicedToArray" /* 32 */;
2026-10-10 08:08:14 +00:00
import EmbeddedActivitiesStore from "EmbeddedActivitiesStore" /* 2064 */;
import ApplicationStore from "ApplicationStore" /* 5440 */;
2026-10-09 10:00:15 +00:00
import RunningGameStore from "RunningGameStore" /* 2019 */;
2026-10-12 06:59:38 +00:00
import SocialSdkApplicationStore from "SocialSdkApplicationStore" /* 10649 */;
import FirstPartyRichPresenceStore from "FirstPartyRichPresenceStore" /* 10650 */;
2026-10-10 08:08:14 +00:00
import SpotifyStore from "SpotifyStore" /* 5760 */;
2026-10-09 10:00:15 +00:00
import UserSettingsProtoStore from "UserSettingsProtoStore" /* 1244 */;
2026-10-10 08:08:14 +00:00
import ApplicationStreamingStore from "ApplicationStreamingStore" /* 5897 */;
import ChannelStore from "ChannelStore" /* 2065 */;
2026-10-09 10:00:15 +00:00
import DetectableGameStore from "DetectableGameStore" /* 2037 */;
2026-10-10 08:08:14 +00:00
import ExternalStreamingStore from "ExternalStreamingStore" /* 10654 */;
import SelectedChannelStore from "SelectedChannelStore" /* 2116 */;
import SessionsStore from "SessionsStore" /* 5112 */;
2026-10-03 08:58:59 +00:00
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let application_id, set;
let closure_17;
let closure_18;
let closure_19;
2026-07-20 16:05:17 +00:00
function updateActivities() {
2026-10-03 08:58:59 +00:00
let id;
let obj3;
let streamerActiveStreamMetadata;
let tmp22;
const items = [];
const tmp = items;
let tmp2 = streamerActiveStreamMetadata;
const CustomStatusSetting = items(streamerActiveStreamMetadata[15]).CustomStatusSetting;
2026-07-20 16:05:17 +00:00
const setting = CustomStatusSetting.getSetting();
2026-07-29 08:29:29 +00:00
let tmp4 = null != setting;
if (tmp4) {
let tmp5 = "0" === setting.expiresAtMs;
if (!tmp5) {
2026-07-20 16:05:17 +00:00
const _Date = Date;
const _Number = Number;
2026-10-03 08:58:59 +00:00
const self = this;
const self2 = this;
2026-07-20 16:05:17 +00:00
const _Date2 = Date;
2026-10-03 08:58:59 +00:00
const self3 = this;
const self4 = this;
const date = new Date(Number(setting.expiresAtMs));
2026-07-20 16:05:17 +00:00
const time = date.getTime();
const date1 = new Date();
2026-07-29 08:29:29 +00:00
tmp5 = time - date1.getTime() > 0;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp4 = tmp5;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp4) {
2026-10-03 08:58:59 +00:00
const push = items.push;
const tmpResult = tmp(tmp2[16]);
push(tmpResult.getActivityFromCustomStatus(setting));
2026-07-20 16:05:17 +00:00
}
const items1 = [...FirstPartyRichPresenceStore.getActivities()];
2026-07-20 16:05:17 +00:00
items.push.apply(items1);
const stream = ExternalStreamingStore.getStream();
2026-07-20 16:05:17 +00:00
if (null != stream) {
2026-10-03 08:58:59 +00:00
const push2 = items.push;
const obj = { type: constants.STREAMING };
2026-07-20 16:05:17 +00:00
const merged = Object.assign(stream);
2026-10-03 08:58:59 +00:00
push2(obj);
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
const self5 = this;
set = new Set();
const arr3 = set(tmp2[17]);
const item = arr3.forEach(closure_21, (arg0) => {
let tmp;
2026-07-29 08:29:29 +00:00
[, tmp] = arg0;
if (null != tmp.application_id) {
set.add(tmp.name);
items.push(tmp);
2026-07-20 16:05:17 +00:00
}
});
2026-10-03 08:58:59 +00:00
const tmp20 = null != ApplicationStreamingStore.getCurrentUserActiveStream();
const visibleGame = RunningGameStore.getVisibleGame();
2026-10-03 08:58:59 +00:00
const obj6 = ApplicationStreamingStore;
if (tmp20) {
streamerActiveStreamMetadata = obj6.getStreamerActiveStreamMetadata();
const visibleRunningGames = obj7.getVisibleRunningGames();
2026-07-20 16:05:17 +00:00
let pid;
2026-07-29 08:29:29 +00:00
if (streamerActiveStreamMetadata != null) {
2026-07-20 16:05:17 +00:00
pid = streamerActiveStreamMetadata.pid;
}
2026-10-03 08:58:59 +00:00
let tmp25 = null;
2026-07-20 16:05:17 +00:00
if (null != pid) {
2026-07-29 08:29:29 +00:00
let found = visibleRunningGames.find((pid) => pid.pid === streamerActiveStreamMetadata.pid);
if (found == null) {
found = null;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
tmp25 = found;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
let tmp27 = null == tmp25;
if (tmp27) {
let id1;
2026-07-29 08:29:29 +00:00
if (streamerActiveStreamMetadata != null) {
id1 = streamerActiveStreamMetadata.id;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
tmp27 = null != id1;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
if (tmp27) {
2026-07-29 08:29:29 +00:00
let found1 = visibleRunningGames.find((id) => id.id === streamerActiveStreamMetadata.id);
if (found1 == null) {
found1 = null;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
tmp25 = found1;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if (null != tmp25) {
tmp22 = tmp25;
if (null == c22) {
let start = tmp25.start;
2026-07-29 08:29:29 +00:00
if (start == null) {
2026-07-20 16:05:17 +00:00
const _Date3 = Date;
start = Date.now();
}
2026-10-03 08:58:59 +00:00
c22 = start;
tmp22 = tmp25;
2026-07-20 16:05:17 +00:00
}
} else {
2026-10-03 08:58:59 +00:00
c22 = null;
tmp22 = visibleGame;
2026-07-20 16:05:17 +00:00
}
} else {
2026-10-03 08:58:59 +00:00
c22 = null;
tmp22 = visibleGame;
}
let sdkResolutionForPID;
if (null != tmp22) {
sdkResolutionForPID = obj7.getSdkResolutionForPID(tmp22.pid);
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
let id2;
if (null != sdkResolutionForPID) {
if (sdkResolutionForPID.type !== tmp(tmp2[18]).SdkCanonicalGameResolutionType.UNRESOLVED) {
id2 = sdkResolutionForPID.game.id;
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
const remoteActivities = SessionsStore.getRemoteActivities();
let someResult = null != id2;
if (someResult) {
const items2 = [];
HermesBuiltin.arraySpread(items2, remoteActivities, HermesBuiltin.arraySpread(items2, items, 0));
someResult = items2.some((application_id) => {
let tmp2 = application_id.application_id === id2;
if (!tmp2) {
application_id = application_id.application_id;
const getApplication = ApplicationStore.getApplication;
const application = getApplication(application_id);
let canonicalGameId;
if (application != null) {
canonicalGameId = application.getCanonicalGameId();
}
tmp2 = canonicalGameId === tmp;
}
return tmp2;
});
}
let tmp40 = null != tmp22 && null != tmp22.name;
if (tmp40) {
if (!someResult) {
someResult = set.has(tmp22.name);
}
if (!someResult) {
const items3 = [];
const doesGameHaveRichPresence = tmp(tmp2[19]).doesGameHaveRichPresence;
tmp(tmp2[19]);
HermesBuiltin.arraySpread(items3, remoteActivities, HermesBuiltin.arraySpread(items3, items, 0));
someResult = doesGameHaveRichPresence(tmp22, items3);
}
tmp40 = someResult;
}
const tmp47 = null != tmp22 && tmp22.isLauncher;
if (null != tmp22) {
if (null != tmp22.name) {
if (!tmp40) {
if (!tmp47) {
const findGameResult = DetectableGameStore.findGame(tmp22);
const obj2 = { type: constants.PLAYING, name: null, application_id: id, timestamps: obj3 };
({ name: obj8.name, id } = tmp22);
const push3 = items.push;
2026-07-29 08:29:29 +00:00
if (id == null) {
2026-10-03 08:58:59 +00:00
let id3;
2026-07-29 08:29:29 +00:00
if (findGameResult != null) {
2026-10-03 08:58:59 +00:00
id3 = findGameResult.id;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
id = id3;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
let start2 = c22;
if (c22 == null) {
start2 = tmp22.start;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
obj3 = { start: start2 };
const tmpResult4 = tmp(tmp2[20]);
const merged1 = Object.assign(tmpResult4.maybeAddAdditionalGameMetadata(tmp22));
push3(obj2);
2026-07-20 16:05:17 +00:00
}
}
}
}
const activity = SpotifyStore.getActivity();
2026-07-20 16:05:17 +00:00
if (null != activity) {
2026-10-03 08:58:59 +00:00
const push4 = items.push;
const obj4 = { type: constants.LISTENING };
2026-07-29 08:29:29 +00:00
const merged2 = Object.assign(activity);
2026-10-03 08:58:59 +00:00
push4(obj4);
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
let flag = !tmp18(tmp2[21])(items, items);
set(tmp2[21])(items, items);
if (flag) {
flag = true;
}
return flag;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
({ ActivityFlags: closure_17, ActivityGamePlatforms: closure_18, ActivityTypes: closure_19 } = Constants);
let closure_20 = [];
2026-09-03 10:05:34 +00:00
let closure_21 = {};
2026-10-03 08:58:59 +00:00
let c22 = null;
const Store = get_initializedDefault.Store;
2026-07-29 08:29:29 +00:00
class LocalActivityStore extends Store {
2026-10-03 08:58:59 +00:00
initialize() {
this.waitFor(ApplicationStore, ApplicationStreamingStore, ChannelStore, EmbeddedActivitiesStore, ExternalStreamingStore, FirstPartyRichPresenceStore, DetectableGameStore, RunningGameStore, SelectedChannelStore, SessionsStore, SocialSdkApplicationStore, SpotifyStore, UserSettingsProtoStore);
const items = [FirstPartyRichPresenceStore];
this.syncWith(items, () => updateActivities());
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
getActivities() {
return closure_20;
}
getPrimaryActivity() {
return closure_20[0];
}
getApplicationActivity(arg0) {
let closure_0 = arg0;
return this.findActivity((application_id) => application_id.application_id === closure_0);
}
getCustomStatusActivity() {
return this.findActivity((type) => type.type === constants.CUSTOM_STATUS);
}
findActivity(cResult) {
return closure_20.find(cResult);
}
getApplicationActivities() {
return closure_21;
}
getActivityForPID(arg0) {
const values = Object.values(closure_21);
const obj = values[Symbol.iterator]();
while (obj !== undefined) {
let tmp4 = _slicedToArray(tmp2, 2);
if (tmp4[0] === arg0) {
obj.return();
return tmp5;
}
2026-09-03 10:05:34 +00:00
}
2026-10-03 08:58:59 +00:00
return null;
2026-09-03 10:05:34 +00:00
}
2026-10-03 08:58:59 +00:00
}
const prototype = LocalActivityStore.prototype;
2026-07-29 08:29:29 +00:00
LocalActivityStore.displayName = "LocalActivityStore";
2026-10-03 08:58:59 +00:00
let obj = {
2026-07-20 16:05:17 +00:00
ROBLOX_SUBGAME_UPDATE: updateActivities,
ROBLOX_SUBGAME_APPLICATION_FETCH_SUCCESS: updateActivities,
OVERLAY_INITIALIZE: function handleOverlayInitialize(localActivities) {
2026-10-03 08:58:59 +00:00
const obj = {};
2026-07-20 16:05:17 +00:00
const merged = Object.assign(localActivities.localActivities);
2026-10-03 08:58:59 +00:00
closure_21 = obj;
2026-07-20 16:05:17 +00:00
updateActivities();
},
START_SESSION: function handleStartSession() {
2026-09-03 10:05:34 +00:00
closure_21 = {};
2026-07-20 16:05:17 +00:00
updateActivities();
},
LOCAL_ACTIVITY_UPDATE: function handleLocalActivityUpdate(arg0) {
2026-10-03 08:58:59 +00:00
let activity;
let partyPrivacy;
let pid;
let socketId;
let tmp4;
({ socketId, pid, activity, partyPrivacy } = arg0);
2026-09-03 10:05:34 +00:00
if (null == activity) {
2026-10-03 08:58:59 +00:00
tmp4 = null == closure_21[socketId];
2026-07-20 16:05:17 +00:00
} else {
2026-10-03 08:58:59 +00:00
const items = [pid, activity, partyPrivacy];
2026-10-09 10:00:15 +00:00
tmp4 = _modDef1355(closure_21[socketId], items);
2026-09-03 10:05:34 +00:00
}
2026-10-03 08:58:59 +00:00
if (!tmp4) {
if (null != activity) {
const items1 = [pid, activity, partyPrivacy];
closure_21[socketId] = items1;
} else {
delete closure_21[socketId];
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
let tmp7 = !tmp4;
if (tmp4) {
tmp7 = updateActivities();
2026-09-03 10:05:34 +00:00
}
2026-10-03 08:58:59 +00:00
return tmp7;
2026-07-20 16:05:17 +00:00
},
RPC_APP_DISCONNECTED: function handleRPCAppDisconnected(arg0) {
2026-10-03 08:58:59 +00:00
delete closure_21[arg0.socketId];
2026-07-20 16:05:17 +00:00
updateActivities();
},
RUNNING_GAMES_CHANGE: updateActivities,
2026-10-03 08:58:59 +00:00
SOCIAL_SDK_GAMES_UPDATE: updateActivities,
APPLICATION_FETCH_SUCCESS: updateActivities,
APPLICATIONS_FETCH_SUCCESS: updateActivities,
GAMES_DATABASE_UPDATE: updateActivities,
2026-07-20 16:05:17 +00:00
LIBRARY_APPLICATION_FLAGS_UPDATE_SUCCESS: updateActivities,
SPOTIFY_PLAYER_STATE: updateActivities,
SPOTIFY_PLAYER_PLAY: updateActivities,
STREAMING_UPDATE: updateActivities,
USER_CONNECTIONS_UPDATE: updateActivities,
STREAM_START: updateActivities,
STREAM_STOP: updateActivities,
USER_SETTINGS_PROTO_UPDATE: function handleUserSettingsProtoUpdate() {
2026-10-03 08:58:59 +00:00
let constants2;
function recalculateActivityPartyPrivacyFlags() {
let tmp8;
let tmp9;
obj = {};
2026-07-29 08:29:29 +00:00
let flag = false;
const entries = Object.entries(obj);
2026-10-03 08:58:59 +00:00
const tmp2 = entries[Symbol.iterator]();
2026-07-29 08:29:29 +00:00
while (tmp2 !== undefined) {
let tmp5 = _slicedToArray(tmp3, 2);
2026-07-29 08:29:29 +00:00
let first = tmp5[0];
let tmp7 = _slicedToArray(tmp5[1], 3);
2026-07-29 08:29:29 +00:00
[tmp8, tmp9] = tmp7;
let tmp10 = tmp9;
let tmp11 = tmp7[2];
let num = tmp9.flags;
if (num == null) {
num = 0;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let tmp12 = num;
let tmp13 = require;
2026-10-03 08:58:59 +00:00
let tmp14 = dependencyMap;
let tmp15 = ActivityFlagUtils;
let computeActivityFlags = tmp15.computeActivityFlags;
let tmp16 = tmp9;
let tmp17 = FlagUtils;
2026-07-29 08:29:29 +00:00
let num2;
2026-10-03 08:58:59 +00:00
let hasFlag = tmp17.hasFlag;
2026-07-29 08:29:29 +00:00
if (tmp10 != null) {
num2 = tmp10.flags;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (num2 == null) {
num2 = 0;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
let hasFlagResult = hasFlag(num2, constants.INSTANCE);
let platform = tmp10.platform;
let EMBEDDED = constants2.EMBEDDED;
let tmp13Result = tmp13(tmp14[22]);
let activityFlags = computeActivityFlags(tmp16, hasFlagResult, platform === EMBEDDED, tmp13Result.isContextlessEmbeddedActivity(tmp10), tmp11);
2026-07-29 08:29:29 +00:00
if (activityFlags !== tmp12) {
2026-10-03 08:58:59 +00:00
let items = [tmp8, , ];
let obj2 = { flags: tmp26 };
2026-07-29 08:29:29 +00:00
let merged = Object.assign(tmp10);
2026-10-03 08:58:59 +00:00
items[1] = obj2;
2026-07-29 08:29:29 +00:00
items[2] = tmp11;
2026-07-20 16:05:17 +00:00
obj[first] = items;
flag = true;
} else {
2026-07-29 08:29:29 +00:00
let items1 = [tmp8, , ];
items1[1] = tmp10;
items1[2] = tmp11;
2026-07-20 16:05:17 +00:00
obj[first] = items1;
}
2026-07-29 08:29:29 +00:00
continue;
}
let str = "NO_CHANGES";
if (flag) {
str = "APPLICATION_ACTIVITIES_CHANGED";
}
return str;
2026-10-03 08:58:59 +00:00
}
recalculateActivityPartyPrivacyFlags();
let tmp2 = updateActivities();
2026-07-20 16:05:17 +00:00
},
EMBEDDED_ACTIVITY_CLOSE: updateActivities,
RUNNING_GAME_TOGGLE_DETECTION: updateActivities
2026-10-03 08:58:59 +00:00
};
const localActivityStore = new LocalActivityStore(DispatcherDefault, obj);
const result = size.fileFinishedImporting("stores/LocalActivityStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default localActivityStore;