Skip to content

Commit

Permalink
Refactor SpinifyImpl to improve handling of server subscriptions in S…
Browse files Browse the repository at this point in the history
…pinifySubscriptionMixin
  • Loading branch information
PlugFox committed Jun 13, 2024
1 parent 55145ea commit 09401a6
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/src/spinify_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ base mixin SpinifySubscriptionMixin on SpinifyBase, SpinifyCommandMixin {
final event = reply.event;
_eventController.add(event);
if (event is SpinifySubscribe) {
// Add server subscription to the registry.
// Add server subscription to the registry on subscribe event.
_serverSubscriptionRegistry.putIfAbsent(
event.channel,
() => SpinifyServerSubscriptionImpl(
Expand All @@ -424,10 +424,11 @@ base mixin SpinifySubscriptionMixin on SpinifyBase, SpinifyCommandMixin {
..onEvent(event)
..setState(SpinifySubscriptionState.subscribed());
} else if (event is SpinifyUnsubscribe) {
// Remove server subscription from the registry.
// Remove server subscription from the registry on unsubscribe event.
_serverSubscriptionRegistry.remove(event.channel)
?..onEvent(event)
..setState(SpinifySubscriptionState.unsubscribed());
// Unsubscribe client subscription on unsubscribe event.
_clientSubscriptionRegistry[event.channel]
?..onEvent(event)
..setState(SpinifySubscriptionState.unsubscribed());
Expand Down

0 comments on commit 09401a6

Please sign in to comment.