mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-28 09:19:40 -05:00
Update gifts manager
This commit is contained in:
@@ -93,6 +93,7 @@ public class TikTokLive {
|
||||
}
|
||||
|
||||
|
||||
//I don't like it, but it is reasonable for now
|
||||
private static GiftsManager giftsManager;
|
||||
|
||||
/**
|
||||
@@ -100,21 +101,18 @@ public class TikTokLive {
|
||||
*
|
||||
* @return GiftsManager
|
||||
*/
|
||||
public static GiftsManager gifts()
|
||||
{
|
||||
if(giftsManager != null)
|
||||
{
|
||||
public static GiftsManager gifts() {
|
||||
if (giftsManager != null) {
|
||||
return giftsManager;
|
||||
}
|
||||
|
||||
try
|
||||
synchronized (GiftsManager.class)
|
||||
{
|
||||
giftsManager = new TikTokGiftsManager(requests().fetchGiftsData().getGifts());
|
||||
return giftsManager;
|
||||
} catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
if (giftsManager == null)
|
||||
{
|
||||
return new TikTokGiftsManager(requests().fetchGiftsData().getGifts());
|
||||
}
|
||||
}
|
||||
return giftsManager;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
protected final List<TikTokEventListener> listeners;
|
||||
protected Consumer<TikTokMapper> onCustomMappings;
|
||||
protected Logger logger;
|
||||
protected GiftsManager giftsManager;
|
||||
|
||||
public TikTokLiveClientBuilder(String userName) {
|
||||
this.clientSettings = LiveClientSettings.createDefault();
|
||||
@@ -99,6 +100,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
httpSettings.getParams().put("webcast_language", clientSettings.getClientLanguage());
|
||||
|
||||
this.logger = LoggerFactory.create(clientSettings.getHostName(), clientSettings);
|
||||
this.giftsManager = clientSettings.isFetchGifts() ? TikTokLive.gifts() : new TikTokGiftsManager(List.of());
|
||||
}
|
||||
|
||||
public LiveClient build() {
|
||||
@@ -112,8 +114,6 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder {
|
||||
var httpClientFactory = new HttpClientFactory(clientSettings);
|
||||
var tikTokLiveHttpClient = new TikTokLiveHttpClient(httpClientFactory, clientSettings);
|
||||
|
||||
var gifts = tikTokLiveHttpClient.getGiftsData().getGifts();
|
||||
var giftsManager = new TikTokGiftsManager(gifts);
|
||||
|
||||
var eventsMapper = createMapper(giftsManager, tiktokRoomInfo);
|
||||
var messageHandler = new TikTokLiveMessageHandler(tikTokEventHandler, eventsMapper);
|
||||
|
||||
@@ -14,7 +14,8 @@ import java.util.stream.Collectors;
|
||||
public class TikTokGiftsManager implements GiftsManager {
|
||||
private final Map<Integer, Gift> giftsByIdIndex;
|
||||
|
||||
public TikTokGiftsManager(List<Gift> giftList) {
|
||||
public TikTokGiftsManager(List<Gift> giftList)
|
||||
{
|
||||
giftsByIdIndex = giftList.stream().collect(Collectors.toConcurrentMap(Gift::getId, e -> e));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user