setUnmuteTimer method

void setUnmuteTimer(
  1. int remainingDuration
)
inherited

Implementation

void setUnmuteTimer(int remainingDuration) {
  _cancelUnmuteTimer();

  if (remainingDuration > 0) {
    sbLog.d(StackTrace.current, 'remainingDuration: $remainingDuration');

    final ms = remainingDuration + 1000; // Referred by JS SDK
    unmuteTimer = Timer(Duration(milliseconds: ms), () {
      runZonedGuarded(() async {
        if (SendbirdChat.currentUser != null) {
          final myMuteInfo = await _channel.getMyMuteInfo();
          if (!myMuteInfo.isMuted) {
            // My mute info has been already unmuted in server.
            _setMyMuteInfo(isMuted: false);
          }
        }
      }, (error, stack) {});
    });
  }
}