mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 08:49:40 -05:00
Bugs:
Method for listeners was throwing exception TikTokListenersManager.removeListener() was not working
This commit is contained in:
@@ -7,11 +7,10 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Value
|
||||
@Getter
|
||||
public class Picture {
|
||||
|
||||
List<String> urls;
|
||||
|
||||
public Picture(io.github.jwdeveloper.tiktok.messages.Image profilePicture) {
|
||||
this.urls = profilePicture.getUrlListList();
|
||||
}
|
||||
@@ -24,15 +23,6 @@ public class Picture {
|
||||
this.urls = Arrays.stream(urls).toList();
|
||||
}
|
||||
|
||||
public void downlaod()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void downloadAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static Picture Map(io.github.jwdeveloper.tiktok.messages.Image profilePicture)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
10
README.md
10
README.md
@@ -37,7 +37,7 @@ Do you prefer other programming languages?
|
||||
<dependency>
|
||||
<groupId>com.github.jwdeveloper.TikTok-Live-Java</groupId>
|
||||
<artifactId>Client</artifactId>
|
||||
<version>0.0.14-Release</version>
|
||||
<version>0.0.17-Release</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -153,6 +153,13 @@ public class ListenerExample
|
||||
System.in.read();
|
||||
}
|
||||
|
||||
/*
|
||||
Method in TikTokEventListener should meet 4 requirements to be detected
|
||||
- must have @TikTokEventHandler annotation
|
||||
- must have 2 parameters
|
||||
- first parameter must be LiveClient
|
||||
- second must be class that extending TikTokEvent
|
||||
*/
|
||||
public static class CustomListener implements TikTokEventListener
|
||||
{
|
||||
|
||||
@@ -165,6 +172,7 @@ public class ListenerExample
|
||||
@TikTokEventHandler
|
||||
public void onCommentMessage(LiveClient liveClient, TikTokCommentEvent event)
|
||||
{
|
||||
event.getUser().getProfilePicture().downlaod();
|
||||
System.out.println(event.getText());
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,13 @@ public class ListenerExample
|
||||
System.in.read();
|
||||
}
|
||||
|
||||
/*
|
||||
Method in TikTokEventListener should meet 4 requirements to be detected
|
||||
- must have @TikTokEventHandler annotation
|
||||
- must have 2 parameters
|
||||
- first parameter must be LiveClient
|
||||
- second must be class that extending TikTokEvent
|
||||
*/
|
||||
public static class CustomListener implements TikTokEventListener
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user