decord/source/modules/video_calls/native/useScreenshareUtils.tsx

259 lines
8.9 KiB
TypeScript
Raw Normal View History

2026-08-08 06:10:11 +00:00
// Module ID: 10824
// Function ID: 10825
2026-07-29 08:29:29 +00:00
// Name: stopScreenshare
2026-08-08 06:10:11 +00:00
// Dependencies: [19, 17, 4322, 676, 4283, 7216, 4353, 9148, 4483, 4367, 9155, 9169, 10825, 10820, 1605, 10836, 10837, 10838, 10839, 10831, 589, 5728, 1236, 2]
2026-07-29 08:29:29 +00:00
// Exports: default, getOSRequirement, getStreamPressHandler, handleCloseScreenshare, tryStartScreenShare
2026-07-20 16:05:17 +00:00
2026-08-08 06:10:11 +00:00
// Module 10824 (stopScreenshare)
2026-07-29 08:29:29 +00:00
import apexExperiment from "apexExperiment";
import reset from "reset";
2026-07-23 10:11:24 +00:00
import { ApplicationStreamStates } from "ME";
2026-07-29 08:29:29 +00:00
import DCDDeviceManager from "DCDDeviceManager";
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function stopScreenshare() {
2026-08-08 06:10:11 +00:00
const voiceEngine = require(4353) /* inject */.getVoiceEngine();
2026-07-20 16:05:17 +00:00
voiceEngine.stopBroadcast();
2026-07-29 08:29:29 +00:00
const currentUserActiveStream = authStore.getCurrentUserActiveStream();
if (null != currentUserActiveStream) {
2026-08-08 06:10:11 +00:00
let tmpResult = tmp(4483);
tmpResult = tmp(4367);
2026-07-29 08:29:29 +00:00
tmpResult.stopStream(tmpResult.encodeStreamKey(currentUserActiveStream));
}
2026-08-08 06:10:11 +00:00
const obj = require(4353) /* inject */;
importDefault(9155).setGoLiveSource(null);
2026-07-20 16:05:17 +00:00
}
function startStream() {
if ("android" === obj.getVoiceEngine().platform) {
2026-08-08 06:10:11 +00:00
const result = importDefault(7216).isForegroundServiceRunning((arg0) => {
2026-07-29 08:29:29 +00:00
if (arg0) {
let tmpResult = tmp(tmp2[6]);
const voiceEngine = tmpResult.getVoiceEngine();
voiceEngine.startBroadcast();
} else {
tmpResult = tmp(tmp2[7]);
const result = tmpResult.showScreenshareDisabledAlert();
}
});
2026-08-08 06:10:11 +00:00
const obj2 = importDefault(7216);
2026-07-20 16:05:17 +00:00
} else {
BroadcastUploadManager.showPicker();
}
}
2026-07-29 08:29:29 +00:00
DCDDeviceManager = DCDDeviceManager.getSystemVersionMajor();
const BroadcastUploadManager = require("registerAsset").NativeModules.BroadcastUploadManager;
let result = require("reset").fileFinishedImporting("modules/video_calls/native/useScreenshareUtils.tsx");
export default function useScreenshareUtils(arg0) {
const _require = arg0;
2026-08-08 06:10:11 +00:00
let tmp = importDefault(10820)(arg0);
2026-07-29 08:29:29 +00:00
importDefault = tmp;
const dependencyMap = tmp2;
2026-08-08 06:10:11 +00:00
const showMobileGoLiveUpsell = importDefault(10831).useConfig({ location: "useScreenshareUtils" }).showMobileGoLiveUpsell;
let obj = importDefault(10831);
2026-07-29 08:29:29 +00:00
const items = [stateFromStores];
stateFromStores = _require(589).useStateFromStores(items, () => stateFromStores.getCurrentUserActiveStream());
2026-08-08 06:10:11 +00:00
const analyticsLocations = importDefault(5728)().analyticsLocations;
2026-07-29 08:29:29 +00:00
const items1 = [stateFromStores, arg0, tmp, DCDDeviceManager >= 12, showMobileGoLiveUpsell, analyticsLocations];
return showMobileGoLiveUpsell.useMemo(() => {
let tmp = null != stateFromStores;
if (tmp) {
tmp = stateFromStores.state === analyticsLocations.ACTIVE;
}
let tmp4 = closure_1;
if (closure_1) {
tmp4 = tmp2;
}
let obj = { isFeatureEnabled: tmp4, isActive: tmp, text: null, onPress: null, imgSource: null };
if (!showMobileGoLiveUpsell) {
if (tmp) {
const intl = callback(tmp2[22]).intl;
let stringResult = intl.string(callback(tmp2[22]).t.CpkXwZ);
}
obj[2] = stringResult;
let flag = tmp5;
if (tmp5 === undefined) {
flag = false;
}
closure_1 = analyticsLocations;
if (tmp12) {
if (closure_1) {
if (flag) {
class S {
constructor() {
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
}
}
} else {
class S {
constructor() {
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
}
}
if (tmp) {
class S {
constructor() {
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
}
}
}
}
} else {
class S {
constructor() {
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
}
}
const S = callback(tmp2[7]).showScreenshareDisabledAlert;
}
} else {
class S {
constructor() {
obj = closure_0(outer1_2[11]);
obj = { type: closure_0(outer1_2[11]).AVError.SCREENSHARE_OS_NOT_SUPPORTED, channelId: closure_0.id };
reportAVErrorResult = obj.reportAVError(obj);
obj3 = closure_0(outer1_2[7]);
result = obj3.showMinOSScreenshareRequirementAlert();
return;
}
}
}
obj[3] = S;
if (obj2.isMetaQuest()) {
class S {
constructor() {
obj = closure_0(outer1_2[11]);
obj = { type: closure_0(outer1_2[11]).AVError.SCREENSHARE_OS_NOT_SUPPORTED, channelId: closure_0.id };
reportAVErrorResult = obj.reportAVError(obj);
obj3 = closure_0(outer1_2[7]);
result = obj3.showMinOSScreenshareRequirementAlert();
return;
}
}
} else {
class S {
constructor() {
obj = closure_0(outer1_2[11]);
obj = { type: closure_0(outer1_2[11]).AVError.SCREENSHARE_OS_NOT_SUPPORTED, channelId: closure_0.id };
reportAVErrorResult = obj.reportAVError(obj);
obj3 = closure_0(outer1_2[7]);
result = obj3.showMinOSScreenshareRequirementAlert();
return;
}
}
obj[4] = tmp17(tmp18);
return obj;
}
obj2 = callback(tmp2[14]);
tmp12 = tmp2;
const tmp13 = analyticsLocations;
tmp17 = closure_1;
}
const intl2 = callback(tmp2[22]).intl;
stringResult = intl2.string(callback(tmp2[22]).t.fjBNo1);
}, items1);
};
export const handleCloseScreenshare = function handleCloseScreenshare() {
const currentUserActiveStream = authStore.getCurrentUserActiveStream();
if (null != currentUserActiveStream) {
2026-08-08 06:10:11 +00:00
const obj = require(4483) /* watchStream */;
obj.stopStream(require(4367) /* isStreamKey */.encodeStreamKey(currentUserActiveStream));
const obj2 = require(4367) /* isStreamKey */;
2026-07-29 08:29:29 +00:00
}
2026-08-08 06:10:11 +00:00
importDefault(9155).setGoLiveSource(null);
2026-07-29 08:29:29 +00:00
};
export { stopScreenshare };
export { startStream };
export const getOSRequirement = function getOSRequirement() {
return DCDDeviceManager >= 12;
};
export const getStreamPressHandler = function getStreamPressHandler(analyticsLocations) {
2026-07-20 16:05:17 +00:00
let hasPermission;
let isActive;
let osRequirement;
2026-07-23 10:11:24 +00:00
let require;
2026-07-20 16:05:17 +00:00
let showMobileGoLiveUpsell;
2026-07-23 10:11:24 +00:00
({ channel: require, showMobileGoLiveUpsell } = analyticsLocations);
2026-07-20 16:05:17 +00:00
({ hasPermission, isActive, osRequirement } = analyticsLocations);
if (showMobileGoLiveUpsell === undefined) {
showMobileGoLiveUpsell = false;
}
2026-07-23 10:11:24 +00:00
analyticsLocations = analyticsLocations.analyticsLocations;
2026-07-20 16:05:17 +00:00
if (osRequirement) {
if (hasPermission) {
if (showMobileGoLiveUpsell) {
class S {
constructor() {
2026-07-29 08:29:29 +00:00
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
2026-07-20 16:05:17 +00:00
}
}
} else {
class S {
constructor() {
2026-07-29 08:29:29 +00:00
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
2026-07-20 16:05:17 +00:00
}
}
if (isActive) {
class S {
constructor() {
2026-07-29 08:29:29 +00:00
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
2026-07-20 16:05:17 +00:00
}
}
}
}
} else {
class S {
constructor() {
2026-07-29 08:29:29 +00:00
obj = closure_0(outer1_2[12]);
return obj.showMobileGoLiveActionSheet(closure_1);
2026-07-20 16:05:17 +00:00
}
}
2026-08-08 06:10:11 +00:00
const S = require(9148) /* _handleToggleVideo */.showScreenshareDisabledAlert;
2026-07-20 16:05:17 +00:00
}
} else {
class S {
constructor() {
2026-07-29 08:29:29 +00:00
obj = closure_0(outer1_2[11]);
obj = { type: closure_0(outer1_2[11]).AVError.SCREENSHARE_OS_NOT_SUPPORTED, channelId: closure_0.id };
2026-07-20 16:05:17 +00:00
reportAVErrorResult = obj.reportAVError(obj);
2026-07-29 08:29:29 +00:00
obj3 = closure_0(outer1_2[7]);
2026-07-20 16:05:17 +00:00
result = obj3.showMinOSScreenshareRequirementAlert();
return;
}
}
}
return S;
};
export const tryStartScreenShare = function tryStartScreenShare(channel) {
2026-07-29 08:29:29 +00:00
let videoPermission = DCDDeviceManager >= 12;
2026-07-20 16:05:17 +00:00
if (videoPermission) {
2026-08-08 06:10:11 +00:00
videoPermission = require(10820) /* useHasVideoPermission */.getVideoPermission(channel);
const obj = require(10820) /* useHasVideoPermission */;
2026-07-20 16:05:17 +00:00
}
if (videoPermission) {
2026-07-29 08:29:29 +00:00
if ("android" === obj2.getVoiceEngine().platform) {
2026-08-08 06:10:11 +00:00
let result = importDefault(7216).isForegroundServiceRunning((arg0) => {
2026-07-29 08:29:29 +00:00
if (arg0) {
let tmpResult = tmp(tmp2[6]);
const voiceEngine = tmpResult.getVoiceEngine();
voiceEngine.startBroadcast();
} else {
tmpResult = tmp(tmp2[7]);
const result = tmpResult.showScreenshareDisabledAlert();
}
});
2026-08-08 06:10:11 +00:00
const obj3 = importDefault(7216);
2026-07-29 08:29:29 +00:00
} else {
BroadcastUploadManager.showPicker();
}
2026-08-08 06:10:11 +00:00
obj2 = require(4353) /* inject */;
2026-07-20 16:05:17 +00:00
}
};