@@ -32,14 +32,14 @@ public class StreamStartEndHandler extends PubSubMessageHandlerAdapter{
3232 public void onStreamUp (@ NotNull Topic topic , @ NotNull StreamUp message ){
3333 var streamerId = topic .getTarget ();
3434 var streamer = miner .getStreamerById (streamerId );
35- streamUp (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), message .getServerTime ());
35+ streamUp (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), message .getServerTime (), true );
3636 }
3737
3838 @ Override
3939 public void onStreamDown (@ NotNull Topic topic , @ NotNull StreamDown message ){
4040 var streamerId = topic .getTarget ();
4141 var streamer = miner .getStreamerById (streamerId );
42- streamDown (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), message .getServerTime ());
42+ streamDown (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), message .getServerTime (), true );
4343 }
4444
4545 @ Override
@@ -48,28 +48,32 @@ public void onBroadcastSettingsUpdate(@NotNull Topic topic, @NotNull BroadcastSe
4848 var streamer = miner .getStreamerById (streamerId );
4949
5050 if (streamer .map (Streamer ::isStreaming ).orElse (true )){
51- streamDown (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), TimeFactory .now ());
51+ streamDown (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), TimeFactory .now (), false );
5252 }
5353 else {
54- streamUp (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), TimeFactory .now ());
54+ streamUp (streamerId , streamer .orElse (null ), streamer .map (Streamer ::getUsername ).orElse (null ), TimeFactory .now (), false );
5555 }
5656 }
5757
58- private void streamUp (@ NotNull String streamerId , @ Nullable Streamer streamer , @ Nullable String username , @ NotNull Instant serverTime ){
58+ private void streamUp (@ NotNull String streamerId , @ Nullable Streamer streamer , @ Nullable String username , @ NotNull Instant serverTime , boolean fireEvent ){
5959 updateStream (streamerId , streamer );
6060 Optional .ofNullable (streamer )
6161 .filter (s -> s .getSettings ().isJoinIrc ())
6262 .map (Streamer ::getUsername )
6363 .ifPresent (miner .getChatClient ()::join );
64- eventManager .onEvent (new StreamUpEvent (streamerId , username , streamer , serverTime ));
64+ if (fireEvent ){
65+ eventManager .onEvent (new StreamUpEvent (streamerId , username , streamer , serverTime ));
66+ }
6567 }
6668
67- private void streamDown (@ NotNull String streamerId , @ Nullable Streamer streamer , @ Nullable String username , @ NotNull Instant serverTime ){
69+ private void streamDown (@ NotNull String streamerId , @ Nullable Streamer streamer , @ Nullable String username , @ NotNull Instant serverTime , boolean fireEvent ){
6870 updateStream (streamerId , streamer );
6971 Optional .ofNullable (streamer )
7072 .map (Streamer ::getUsername )
7173 .ifPresent (miner .getChatClient ()::leave );
72- eventManager .onEvent (new StreamDownEvent (streamerId , username , streamer , serverTime ));
74+ if (fireEvent ){
75+ eventManager .onEvent (new StreamDownEvent (streamerId , username , streamer , serverTime ));
76+ }
7377 }
7478
7579 private void updateStream (@ Nullable String streamerId , @ Nullable Streamer streamer ){
0 commit comments