Skip to content

Commit 5b17c33

Browse files
authored
Merge pull request #89 from jwdeveloper/develop-1.8.2
Develop 1.8.2
2 parents 16cd819 + b593732 commit 5b17c33

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+456
-250
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package io.github.jwdeveloper.tiktok.annotations;
2+
3+
/**
4+
* HIGHEST 1
5+
* HIGH 2
6+
* NORMAL 3
7+
* LOW 4
8+
* LOWEST 5
9+
*/
10+
public enum Priority {
11+
LOWEST(2), LOW(1), NORMAL(0), HIGH(-1), HIGHEST(-2);
12+
13+
public final int value;
14+
15+
Priority(int value) {
16+
this.value = value;
17+
}
18+
}

API/src/main/java/io/github/jwdeveloper/tiktok/annotations/TikTokEventObserver.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,14 @@
2828
@Retention(RetentionPolicy.RUNTIME)
2929
public @interface TikTokEventObserver
3030
{
31+
/**
32+
* When more than one method listen for certain Event, you can specify the method priority
33+
* @see Priority
34+
*/
35+
Priority priority() default Priority.NORMAL;
3136

37+
/**
38+
* When true, action is invoked on a thread, from the threads pool
39+
*/
40+
boolean async() default false;
3241
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokLinkMicBattleEvent.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ public class TikTokLinkMicBattleEvent extends TikTokHeaderEvent
4343
true if battle is finished otherwise false
4444
*/
4545
private final boolean finished;
46-
@Getter(AccessLevel.NONE)
47-
private final boolean oneVsOne;
4846
private final List<Team> teams;
4947

5048
public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
@@ -55,7 +53,6 @@ public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
5553
if (msg.getHostTeamCount() == 2) { // 1v1 battle
5654
teams.add(new Team1v1(msg.getHostTeam(0), msg));
5755
teams.add(new Team1v1(msg.getHostTeam(1), msg));
58-
oneVsOne = true;
5956
} else { // 2v2 battle
6057
if (isFinished()) {
6158
teams.add(new Team2v2(msg.getHostData2V2List().stream().filter(data -> data.getTeamNumber() == 1).findFirst().orElse(null), msg));
@@ -64,7 +61,6 @@ public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
6461
teams.add(new Team2v2(msg.getHostTeam(0), msg.getHostTeam(1), msg));
6562
teams.add(new Team2v2(msg.getHostTeam(2), msg.getHostTeam(3), msg));
6663
}
67-
oneVsOne = false;
6864
}
6965

7066
// Info:
@@ -74,10 +70,14 @@ public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
7470
}
7571

7672
public boolean is1v1() {
77-
return oneVsOne;
73+
return teams.get(0) instanceof Team1v1;
7874
}
7975

8076
public boolean is2v2() {
81-
return !oneVsOne;
77+
return teams.get(0) instanceof Team2v2;
78+
}
79+
80+
public boolean isTie() {
81+
return isFinished() && teams.get(0).getTotalPoints() == teams.get(1).getTotalPoints();
8282
}
8383
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/models/battles/Team.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@
2222
*/
2323
package io.github.jwdeveloper.tiktok.data.models.battles;
2424

25+
import lombok.Getter;
26+
2527
public abstract class Team {
28+
/** Value >= 0 when finished otherwise -1 */
29+
@Getter protected int totalPoints;
30+
2631
/**
2732
* Provides a check for verifying if this team represents a 1v1 Team.
2833
* @return true if this team is of type {@link Team1v1}, false otherwise.

API/src/main/java/io/github/jwdeveloper/tiktok/data/models/battles/Team1v1.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@
2929
import java.util.*;
3030

3131
@Getter
32-
public class Team1v1 extends Team
33-
{
34-
/** Value >= 0 when finished otherwise -1 */
35-
private final int totalPoints;
32+
public class Team1v1 extends Team {
3633
private final int winStreak;
3734
private final User host;
3835
private final List<Viewer> viewers;

API/src/main/java/io/github/jwdeveloper/tiktok/data/models/battles/Team2v2.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@
3030

3131
@Getter
3232
public class Team2v2 extends Team {
33-
/** Value >= 0 when finished otherwise -1 */
34-
private final int totalPoints;
35-
3633
private final List<User> hosts;
3734
private final List<Viewer> viewers;
3835

API/src/main/java/io/github/jwdeveloper/tiktok/listener/ListenersManager.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,13 @@
2525
import java.util.List;
2626

2727
/**
28-
* You can dynamically add or removing TikTokEventListener
29-
*
30-
* @see TikTokEventListener
31-
*
28+
* Manage events listeners objects
3229
*/
3330
public interface ListenersManager
3431
{
35-
List<TikTokEventListener> getListeners();
32+
List<Object> getListeners();
3633

37-
void addListener(TikTokEventListener listener);
34+
void addListener(Object listener);
3835

39-
void removeListener(TikTokEventListener listener);
36+
void removeListener(Object listener);
4037
}

API/src/main/java/io/github/jwdeveloper/tiktok/listener/TikTokEventListener.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
* {@code
4141
* public static class CustomListener implements TikTokEventListener
4242
* {
43-
* @TikTokEventObserver
43+
* @TikTokEventObserver
4444
* public void onError(LiveClient liveClient, TikTokErrorEvent event)
4545
* {
4646
* System.out.println(event.getException().getMessage());
@@ -67,7 +67,9 @@
6767
* }
6868
* </pre>
6969
*/
70-
public interface TikTokEventListener
71-
{
70+
//TODO I think this interface can be removed, since we are using,
71+
//annotation @TikTokEventHandler to check methods that are events
72+
@Deprecated(forRemoval = true, since = "1.8.1 (This interface is not longer needed, please remove it from your class)")
73+
public interface TikTokEventListener {
7274

7375
}

API/src/main/java/io/github/jwdeveloper/tiktok/live/builder/LiveClientBuilder.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import io.github.jwdeveloper.dependance.implementation.DependanceContainerBuilder;
2626
import io.github.jwdeveloper.tiktok.data.settings.LiveClientSettings;
27-
import io.github.jwdeveloper.tiktok.listener.TikTokEventListener;
2827
import io.github.jwdeveloper.tiktok.live.LiveClient;
2928
import io.github.jwdeveloper.tiktok.mappers.LiveMapper;
3029

@@ -33,59 +32,63 @@
3332

3433
public interface LiveClientBuilder extends EventsBuilder<LiveClientBuilder> {
3534

35+
3636
/**
3737
* This method is triggered after default mappings are registered
3838
* It could be used to OVERRIDE behaviour of mappings and implement custom behaviour
39-
*
39+
* <p>
4040
* Be aware if for example you override WebcastGiftEvent, onGiftEvent() will not be working
4141
*
4242
* @param onCustomMappings lambda method
4343
* @return
4444
*/
45-
LiveClientBuilder onMapping(Consumer<LiveMapper> onCustomMappings);
45+
LiveClientBuilder mappings(Consumer<LiveMapper> onCustomMappings);
4646

47+
@Deprecated(forRemoval = true, since = "1.8.2 use `mappings` method instead")
48+
LiveClientBuilder onMappings(Consumer<LiveMapper> onCustomMappings);
4749

4850
/**
4951
* Configuration of client settings
50-
* @see LiveClientSettings
52+
*
5153
* @param onConfigure
5254
* @return
55+
* @see LiveClientSettings
5356
*/
5457
LiveClientBuilder configure(Consumer<LiveClientSettings> onConfigure);
5558

5659
/**
57-
* @see TikTokEventListener
5860
* Adding events listener class, its fancy way to register events without using lamda method
5961
* but actual method in class that implements TikTokEventListener
62+
*
6063
* @return
6164
*/
62-
LiveClientBuilder addListener(TikTokEventListener listener);
65+
LiveClientBuilder addListener(Object listener);
6366

6467

6568
/**
6669
* Allows you to use own implementation of internal TikTokLive dependencies,
6770
* when the default implementation does not meet your needs
6871
*
69-
*
7072
* @param onCustomizeDependencies access to dependency container
7173
* @return
7274
*/
7375
LiveClientBuilder customize(Consumer<DependanceContainerBuilder> onCustomizeDependencies);
7476

7577
/**
7678
* Builds new instance of the LiveClient
79+
*
7780
* @return LiveClient object
7881
*/
7982
LiveClient build();
8083

8184
/**
8285
* Builds new instance of the LiveClient and connects to live
86+
*
8387
* @return LiveClient object
8488
*/
8589
LiveClient buildAndConnect();
8690

8791
/**
88-
*
8992
* @return LiveClient object and connects to TikTok live asynchronously
9093
*/
9194
CompletableFuture<LiveClient> buildAndConnectAsync();

API/src/main/java/io/github/jwdeveloper/tiktok/websocket/SocketClient.java renamed to API/src/main/java/io/github/jwdeveloper/tiktok/websocket/LiveSocketClient.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@
2424

2525
import io.github.jwdeveloper.tiktok.data.requests.LiveConnectionData;
2626
import io.github.jwdeveloper.tiktok.live.LiveClient;
27-
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastResponse;
2827

29-
public interface SocketClient {
28+
public interface LiveSocketClient {
3029
void start(LiveConnectionData.Response webcastResponse, LiveClient tikTokLiveClient);
3130
void stop();
3231
}

0 commit comments

Comments
 (0)