diff --git a/jni-wrappers/privmx-endpoint/src/cpp/parsers/parser.cpp b/jni-wrappers/privmx-endpoint/src/cpp/parsers/parser.cpp index 80685fbc..7cffc7b4 100644 --- a/jni-wrappers/privmx-endpoint/src/cpp/parsers/parser.cpp +++ b/jni-wrappers/privmx-endpoint/src/cpp/parsers/parser.cpp @@ -749,9 +749,10 @@ parseEvent(JniContextUtils &ctx, std::shared_ptr event_cast.timestamp, privmx::wrapper::streamEventData2Java(ctx, event_cast.data) ); - } else if (stream::Events::isStreamNewStreamsEvent(event)) { - privmx::endpoint::stream::StreamNewStreamsEvent event_cast = - stream::Events::extractStreamNewStreamsEvent(event); + } + else if (stream::Events::isRemoteStreamsChangedEvent(event)) { + privmx::endpoint::stream::RemoteStreamsChangedEvent event_cast = + stream::Events::extractRemoteStreamsChangedEvent(event); return initEvent( ctx, diff --git a/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventDispatcher.java b/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventDispatcher.java index 57042f74..63f2248f 100644 --- a/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventDispatcher.java +++ b/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventDispatcher.java @@ -71,7 +71,7 @@ public EventRegistrationInfo registerCallback(CallbackRegistration callbackRe * @param event event data to emit */ public void emit(Event event) { - List callbacks = EventType.isLibEvent(event) ? getCallbacksByType(event.type) : getCallbacks(event.subscriptions); + List callbacks = EventType.isLibEvent(event) ? getCallbacksByType(event.type) : getCallbacks(event.subscriptions,event.type); for (Pair p : callbacks) { try { EventCallback e = (EventCallback) p.callback; @@ -154,12 +154,13 @@ private List getCallbackList(EventRegistrationInfo eventRegistrationInfo) /** * Get list of all callbacks identified by this subscriptionIds. */ - private List getCallbacks(List subscriptionIds) { + private List getCallbacks(List subscriptionIds, String eventType) { synchronized (callbackMap) { return callbackMap.entrySet() .stream() .filter(it -> - it.getKey().subscriptionID != null && subscriptionIds.contains(it.getKey().subscriptionID) + it.getKey().subscriptionID != null && subscriptionIds.contains(it.getKey().subscriptionID) && + it.getKey().eventType.eventName.equals(eventType) ) .flatMap(it -> it.getValue().stream()) .collect(Collectors.toList()); diff --git a/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventType.java b/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventType.java index 87a26d18..07aa5653 100644 --- a/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventType.java +++ b/privmx-endpoint-extra/src/main/java/com/simplito/java/privmx_endpoint_extra/events/EventType.java @@ -799,9 +799,9 @@ public static EventType StreamLeftEvent(StreamEventSelector ); } - public static EventType StreamNewStreamsEvent(StreamEventSelectorType selectorType, String selectorId) { + public static EventType RemoteStreamsChangedEvent(StreamEventSelectorType selectorType, String selectorId) { return new EventType<>( - "StreamNewStreams", + "remoteStreamsChanged", StreamEventType.STREAMROOM_UPDATE, selectorType, selectorId,