mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-03-01 01:39:40 -05:00
TikTokLive client sevices customization
This commit is contained in:
@@ -11,12 +11,7 @@
|
||||
|
||||
<artifactId>Client</artifactId>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@@ -30,12 +25,7 @@
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.jwdeveloper.DepenDance</groupId>
|
||||
<artifactId>DepenDance-Full</artifactId>
|
||||
<version>0.0.18-Release</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.protobuf</groupId>
|
||||
<artifactId>protobuf-java</artifactId>
|
||||
|
||||
@@ -24,6 +24,7 @@ package io.github.jwdeveloper.tiktok;
|
||||
|
||||
import io.github.jwdeveloper.dependance.Dependance;
|
||||
import io.github.jwdeveloper.dependance.api.DependanceContainer;
|
||||
import io.github.jwdeveloper.dependance.implementation.DependanceContainerBuilder;
|
||||
import io.github.jwdeveloper.tiktok.mappers.MessagesMapperFactory;
|
||||
import io.github.jwdeveloper.tiktok.common.LoggerFactory;
|
||||
import io.github.jwdeveloper.tiktok.data.events.*;
|
||||
@@ -63,6 +64,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
protected final TikTokLiveEventHandler eventHandler;
|
||||
protected final List<TikTokEventListener> listeners;
|
||||
protected final List<Consumer<TikTokMapper>> onCustomMappings;
|
||||
protected final List<Consumer<DependanceContainerBuilder>> onCustomDependencies;
|
||||
|
||||
public TikTokLiveClientBuilder(String userName) {
|
||||
this.clientSettings = LiveClientSettings.createDefault();
|
||||
@@ -70,6 +72,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
this.eventHandler = new TikTokLiveEventHandler();
|
||||
this.listeners = new ArrayList<>();
|
||||
this.onCustomMappings = new ArrayList<>();
|
||||
this.onCustomDependencies = new ArrayList<>();
|
||||
}
|
||||
|
||||
public LiveClientBuilder onMapping(Consumer<TikTokMapper> consumer) {
|
||||
@@ -88,6 +91,12 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LiveClientBuilder customize(Consumer<DependanceContainerBuilder> onCustomizeDependencies) {
|
||||
this.onCustomDependencies.add(onCustomizeDependencies);
|
||||
return this;
|
||||
}
|
||||
|
||||
protected void validate() {
|
||||
if (clientSettings.getClientLanguage() == null || clientSettings.getClientLanguage().isEmpty())
|
||||
clientSettings.setClientLanguage("en");
|
||||
@@ -175,6 +184,8 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
//client
|
||||
dependance.registerSingleton(LiveClient.class, TikTokLiveClient.class);
|
||||
|
||||
onCustomDependencies.forEach(action -> action.accept(dependance));
|
||||
|
||||
var container = dependance.build();
|
||||
return container.find(LiveClient.class);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user