mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-28 09:19:40 -05:00
Bugs:
Method for listeners was throwing exception TikTokListenersManager.removeListener() was not working
This commit is contained in:
@@ -44,4 +44,11 @@ public class TikTokEventObserver {
|
||||
public <T extends TikTokEvent> void unsubscribeAll(Class<?> clazz) {
|
||||
events.remove(clazz);
|
||||
}
|
||||
|
||||
public <T extends TikTokEvent> void unsubscribe(TikTokEventConsumer<T> consumer) {
|
||||
for(var entry : events.entrySet())
|
||||
{
|
||||
entry.getValue().remove(consumer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ package io.github.jwdeveloper.tiktok.listener;
|
||||
import io.github.jwdeveloper.tiktok.annotations.TikTokEventHandler;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEventConsumer;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.TikTokWebsocketMessageEvent;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokEventListenerMethodException;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
||||
import io.github.jwdeveloper.tiktok.handlers.TikTokEventObserver;
|
||||
@@ -45,6 +44,13 @@ public class TikTokListenersManager implements ListenersManager {
|
||||
if (optional.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var bindingModel =optional.get();
|
||||
|
||||
for(var consumer : bindingModel.getEvents())
|
||||
{
|
||||
eventObserver.unsubscribe(consumer);
|
||||
}
|
||||
bindingModels.remove(optional.get());
|
||||
}
|
||||
|
||||
@@ -61,9 +67,9 @@ public class TikTokListenersManager implements ListenersManager {
|
||||
for (var method : methods)
|
||||
{
|
||||
var eventClazz = method.getParameterTypes()[1];
|
||||
if(!eventClazz.isAssignableFrom(TikTokEvent.class))
|
||||
if(eventClazz.isAssignableFrom(TikTokEvent.class))
|
||||
{
|
||||
throw new TikTokEventListenerMethodException("Method "+method.getName()+" 2nd parameter must instance of "+TikTokEvent.class.getName());
|
||||
throw new TikTokEventListenerMethodException("Method "+method.getName()+"() 2nd parameter must instance of "+TikTokEvent.class.getName());
|
||||
}
|
||||
var tikTokEventConsumer = new TikTokEventConsumer() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user