Skip to content

Commit 5d84e28

Browse files
authored
Merge pull request #114 from jwdeveloper/develop-1.8.12
Develop 1.8.12
2 parents 96872e2 + a9003f4 commit 5d84e28

File tree

6 files changed

+40
-25
lines changed

6 files changed

+40
-25
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public TikTokDisconnectedEvent(String reason) {
3636
this.reason = reason.isBlank() ? "None" : reason;
3737
}
3838

39-
public TikTokDisconnectedEvent() {
40-
this("None");
41-
}
42-
43-
4439
public static TikTokDisconnectedEvent of(String reason)
4540
{
4641
return new TikTokDisconnectedEvent(reason);

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

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
import io.github.jwdeveloper.tiktok.annotations.*;
2626
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
2727
import io.github.jwdeveloper.tiktok.data.models.battles.*;
28+
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
2829
import io.github.jwdeveloper.tiktok.messages.enums.LinkMicBattleStatus;
2930
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastLinkMicBattle;
30-
import lombok.*;
31-
32-
import java.util.*;
31+
import lombok.Getter;
3332

3433
/**
3534
* Triggered every time a battle starts & ends
@@ -43,23 +42,22 @@ public class TikTokLinkMicBattleEvent extends TikTokHeaderEvent
4342
true if battle is finished otherwise false
4443
*/
4544
private final boolean finished;
46-
private final List<Team> teams;
45+
private final Team team1, team2;
4746

4847
public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
4948
super(msg.getCommon());
5049
battleId = msg.getId();
5150
finished = msg.getBattleStatus() == LinkMicBattleStatus.BATTLE_FINISHED;
52-
teams = new ArrayList<>();
5351
if (msg.getHostTeamCount() == 2) { // 1v1 battle
54-
teams.add(new Team1v1(msg.getHostTeam(0), msg));
55-
teams.add(new Team1v1(msg.getHostTeam(1), msg));
52+
team1 = new Team1v1(msg.getHostTeam(0), msg);
53+
team2 = new Team1v1(msg.getHostTeam(1), msg);
5654
} else { // 2v2 battle
5755
if (isFinished()) {
58-
teams.add(new Team2v2(msg.getHostData2V2List().stream().filter(data -> data.getTeamNumber() == 1).findFirst().orElse(null), msg));
59-
teams.add(new Team2v2(msg.getHostData2V2List().stream().filter(data -> data.getTeamNumber() == 2).findFirst().orElse(null), msg));
56+
team1 = new Team2v2(msg.getHostData2V2List().stream().filter(data -> data.getTeamNumber() == 1).findFirst().orElse(null), msg);
57+
team2 = new Team2v2(msg.getHostData2V2List().stream().filter(data -> data.getTeamNumber() == 2).findFirst().orElse(null), msg);
6058
} else {
61-
teams.add(new Team2v2(msg.getHostTeam(0), msg.getHostTeam(1), msg));
62-
teams.add(new Team2v2(msg.getHostTeam(2), msg.getHostTeam(3), msg));
59+
team1 = new Team2v2(msg.getHostTeam(0), msg.getHostTeam(1), msg);
60+
team2 = new Team2v2(msg.getHostTeam(2), msg.getHostTeam(3), msg);
6361
}
6462
}
6563

@@ -69,15 +67,38 @@ public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
6967
// - msg.getHostTeamCount() always is 2 for 1v1 or 4 for 2v2
7068
}
7169

70+
/**
71+
* @param battleHostName name of host to search
72+
* @return Team1v1 instance containing name of host or null if no team found */
73+
public Team1v1 get1v1Team(String battleHostName) {
74+
if (!is1v1())
75+
throw new TikTokLiveException("Teams are not instance of 1v1 battle!");
76+
if (team1.getAs1v1Team().getHost().getName().equals(battleHostName))
77+
return team1.getAs1v1Team();
78+
if (team2.getAs1v1Team().getHost().getName().equals(battleHostName))
79+
return team2.getAs1v1Team();
80+
return null;
81+
}
82+
83+
public Team2v2 get2v2Team(String battleHostName) {
84+
if (!is2v2())
85+
throw new TikTokLiveException("Teams are not instance of 2v2 battle!");
86+
if (team1.getAs2v2Team().getHosts().stream().anyMatch(user -> user.getName().equals(battleHostName)))
87+
return team1.getAs2v2Team();
88+
if (team2.getAs2v2Team().getHosts().stream().anyMatch(user -> user.getName().equals(battleHostName)))
89+
return team2.getAs2v2Team();
90+
return null;
91+
}
92+
7293
public boolean is1v1() {
73-
return teams.get(0) instanceof Team1v1;
94+
return team1.is1v1Team() || team2.is1v1Team();
7495
}
7596

7697
public boolean is2v2() {
77-
return teams.get(0) instanceof Team2v2;
98+
return team1.is2v2Team() || team2.is2v2Team();
7899
}
79100

80101
public boolean isTie() {
81-
return isFinished() && teams.get(0).getTotalPoints() == teams.get(1).getTotalPoints();
102+
return isFinished() && team1.getTotalPoints() == team2.getTotalPoints();
82103
}
83104
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ public class TikTokUnhandledMemberEvent extends TikTokUnhandledEvent<WebcastMemb
3535
public TikTokUnhandledMemberEvent(WebcastMemberMessage data) {
3636
super(data);
3737
}
38-
}
38+
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import io.github.jwdeveloper.tiktok.annotations.EventType;
2727
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
2828
import io.github.jwdeveloper.tiktok.data.models.users.User;
29-
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastLikeMessage;
3029
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastMemberMessage;
3130
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage;
3231
import lombok.Getter;
@@ -58,4 +57,4 @@ public static TikTokJoinEvent of(String userName)
5857
.build())
5958
.build());
6059
}
61-
}
60+
}

Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public void connect() {
8383
} catch (TikTokLiveException e) {
8484
setState(ConnectionState.DISCONNECTED);
8585
tikTokEventHandler.publish(this, new TikTokErrorEvent(e));
86-
tikTokEventHandler.publish(this, new TikTokDisconnectedEvent());
86+
tikTokEventHandler.publish(this, new TikTokDisconnectedEvent("Exception: "+e.getMessage()));
8787

8888
if (e instanceof TikTokLiveOfflineHostException && clientSettings.isRetryOnConnectionFailure()) {
8989
try {

Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketOfflineClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ public void stop() {
4848
if (liveClient == null) {
4949
return;
5050
}
51-
handler.publish(liveClient, new TikTokDisconnectedEvent());
51+
handler.publish(liveClient, new TikTokDisconnectedEvent("Stopping"));
5252
}
53-
}
53+
}

0 commit comments

Comments
 (0)