add toggleCamera event

This commit is contained in:
keremoge 2022-12-02 18:36:19 +03:00
parent f14b69166c
commit 2c76445c04
8 changed files with 29 additions and 4 deletions

View File

@ -77,7 +77,8 @@ public class BroadcastAction {
CLOSE_CHAT("org.jitsi.meet.CLOSE_CHAT"), CLOSE_CHAT("org.jitsi.meet.CLOSE_CHAT"),
SEND_CHAT_MESSAGE("org.jitsi.meet.SEND_CHAT_MESSAGE"), SEND_CHAT_MESSAGE("org.jitsi.meet.SEND_CHAT_MESSAGE"),
SET_VIDEO_MUTED("org.jitsi.meet.SET_VIDEO_MUTED"), SET_VIDEO_MUTED("org.jitsi.meet.SET_VIDEO_MUTED"),
SET_CLOSED_CAPTIONS_ENABLED("org.jitsi.meet.SET_CLOSED_CAPTIONS_ENABLED"); SET_CLOSED_CAPTIONS_ENABLED("org.jitsi.meet.SET_CLOSED_CAPTIONS_ENABLED"),
TOGGLE_CAMERA("org.jitsi.meet.TOGGLE_CAMERA");
private final String action; private final String action;

View File

@ -54,4 +54,8 @@ public class BroadcastIntentHelper {
intent.putExtra("enabled", enabled); intent.putExtra("enabled", enabled);
return intent; return intent;
} }
public static Intent buildToggleCameraIntent() {
return new Intent(BroadcastAction.Type.TOGGLE_CAMERA.getAction());
}
} }

View File

@ -96,6 +96,7 @@ class ExternalAPIModule extends ReactContextBaseJavaModule {
constants.put("SEND_CHAT_MESSAGE", BroadcastAction.Type.SEND_CHAT_MESSAGE.getAction()); constants.put("SEND_CHAT_MESSAGE", BroadcastAction.Type.SEND_CHAT_MESSAGE.getAction());
constants.put("SET_VIDEO_MUTED", BroadcastAction.Type.SET_VIDEO_MUTED.getAction()); constants.put("SET_VIDEO_MUTED", BroadcastAction.Type.SET_VIDEO_MUTED.getAction());
constants.put("SET_CLOSED_CAPTIONS_ENABLED", BroadcastAction.Type.SET_CLOSED_CAPTIONS_ENABLED.getAction()); constants.put("SET_CLOSED_CAPTIONS_ENABLED", BroadcastAction.Type.SET_CLOSED_CAPTIONS_ENABLED.getAction());
constants.put("TOGGLE_CAMERA", BroadcastAction.Type.TOGGLE_CAMERA.getAction());
return constants; return constants;
} }

View File

@ -30,5 +30,6 @@ static NSString * const sendEventNotificationName = @"org.jitsi.meet.SendEvent";
- (void)sendChatMessage:(NSString*)message :(NSString*)to ; - (void)sendChatMessage:(NSString*)message :(NSString*)to ;
- (void)sendSetVideoMuted:(BOOL)muted; - (void)sendSetVideoMuted:(BOOL)muted;
- (void)sendSetClosedCaptionsEnabled:(BOOL)enabled; - (void)sendSetClosedCaptionsEnabled:(BOOL)enabled;
- (void)toggleCamera;
@end @end

View File

@ -27,6 +27,7 @@ static NSString * const closeChatAction = @"org.jitsi.meet.CLOSE_CHAT";
static NSString * const sendChatMessageAction = @"org.jitsi.meet.SEND_CHAT_MESSAGE"; static NSString * const sendChatMessageAction = @"org.jitsi.meet.SEND_CHAT_MESSAGE";
static NSString * const setVideoMutedAction = @"org.jitsi.meet.SET_VIDEO_MUTED"; static NSString * const setVideoMutedAction = @"org.jitsi.meet.SET_VIDEO_MUTED";
static NSString * const setClosedCaptionsEnabledAction = @"org.jitsi.meet.SET_CLOSED_CAPTIONS_ENABLED"; static NSString * const setClosedCaptionsEnabledAction = @"org.jitsi.meet.SET_CLOSED_CAPTIONS_ENABLED";
static NSString * const toggleCameraAction = @"org.jitsi.meet.TOGGLE_CAMERA";
@implementation ExternalAPI @implementation ExternalAPI
@ -50,7 +51,8 @@ RCT_EXPORT_MODULE();
@"CLOSE_CHAT": closeChatAction, @"CLOSE_CHAT": closeChatAction,
@"SEND_CHAT_MESSAGE": sendChatMessageAction, @"SEND_CHAT_MESSAGE": sendChatMessageAction,
@"SET_VIDEO_MUTED" : setVideoMutedAction, @"SET_VIDEO_MUTED" : setVideoMutedAction,
@"SET_CLOSED_CAPTIONS_ENABLED": setClosedCaptionsEnabledAction @"SET_CLOSED_CAPTIONS_ENABLED": setClosedCaptionsEnabledAction,
@"TOGGLE_CAMERA": toggleCameraAction
}; };
}; };
@ -75,7 +77,8 @@ RCT_EXPORT_MODULE();
closeChatAction, closeChatAction,
sendChatMessageAction, sendChatMessageAction,
setVideoMutedAction, setVideoMutedAction,
setClosedCaptionsEnabledAction setClosedCaptionsEnabledAction,
toggleCameraAction
]; ];
} }
@ -173,4 +176,8 @@ RCT_EXPORT_METHOD(sendEvent:(NSString *)name
[self sendEventWithName:setClosedCaptionsEnabledAction body:data]; [self sendEventWithName:setClosedCaptionsEnabledAction body:data];
} }
- (void)toggleCamera {
[self sendEventWithName:toggleCameraAction body:nil];
}
@end @end

View File

@ -46,5 +46,6 @@
- (void)sendChatMessage:(NSString * _Nonnull)message :(NSString * _Nullable)to; - (void)sendChatMessage:(NSString * _Nonnull)message :(NSString * _Nullable)to;
- (void)setVideoMuted:(BOOL)muted; - (void)setVideoMuted:(BOOL)muted;
- (void)setClosedCaptionsEnabled:(BOOL)enabled; - (void)setClosedCaptionsEnabled:(BOOL)enabled;
- (void)toggleCamera;
@end @end

View File

@ -138,6 +138,11 @@ static NSString *const PiPEnabledFeatureFlag = @"pip.enabled";
[externalAPI sendSetClosedCaptionsEnabled:enabled]; [externalAPI sendSetClosedCaptionsEnabled:enabled];
} }
- (void)toggleCamera {
ExternalAPI *externalAPI = [[JitsiMeet sharedInstance] getExternalAPI];
[externalAPI toggleCamera];
}
#pragma mark Private methods #pragma mark Private methods
- (void)registerObservers { - (void)registerObservers {

View File

@ -25,7 +25,7 @@ import {
} from '../../base/connection'; } from '../../base/connection';
import { import {
JitsiConferenceEvents } from '../../base/lib-jitsi-meet'; JitsiConferenceEvents } from '../../base/lib-jitsi-meet';
import { MEDIA_TYPE } from '../../base/media'; import { MEDIA_TYPE, toggleCameraFacingMode } from '../../base/media';
import { SET_AUDIO_MUTED, SET_VIDEO_MUTED } from '../../base/media/actionTypes'; import { SET_AUDIO_MUTED, SET_VIDEO_MUTED } from '../../base/media/actionTypes';
import { import {
PARTICIPANT_JOINED, PARTICIPANT_JOINED,
@ -370,6 +370,10 @@ function _registerForNativeEvents(store) {
eventEmitter.addListener(ExternalAPI.SET_CLOSED_CAPTIONS_ENABLED, ({ enabled }) => { eventEmitter.addListener(ExternalAPI.SET_CLOSED_CAPTIONS_ENABLED, ({ enabled }) => {
dispatch(setRequestingSubtitles(enabled)); dispatch(setRequestingSubtitles(enabled));
}); });
eventEmitter.addListener(ExternalAPI.TOGGLE_CAMERA, () => {
dispatch(toggleCameraFacingMode());
});
} }
/** /**
@ -389,6 +393,7 @@ function _unregisterForNativeEvents() {
eventEmitter.removeAllListeners(ExternalAPI.CLOSE_CHAT); eventEmitter.removeAllListeners(ExternalAPI.CLOSE_CHAT);
eventEmitter.removeAllListeners(ExternalAPI.SEND_CHAT_MESSAGE); eventEmitter.removeAllListeners(ExternalAPI.SEND_CHAT_MESSAGE);
eventEmitter.removeAllListeners(ExternalAPI.SET_CLOSED_CAPTIONS_ENABLED); eventEmitter.removeAllListeners(ExternalAPI.SET_CLOSED_CAPTIONS_ENABLED);
eventEmitter.removeAllListeners(ExternalAPI.TOGGLE_CAMERA);
} }
/** /**