David Zhao

handle leave message, leave immediately

@@ -2,6 +2,6 @@ package io.livekit.android @@ -2,6 +2,6 @@ package io.livekit.android
2 2
3 class Version { 3 class Version {
4 companion object { 4 companion object {
5 - const val CLIENT_VERSION = "0.5.0" 5 + const val CLIENT_VERSION = "0.5.1"
6 } 6 }
7 } 7 }
@@ -275,6 +275,9 @@ constructor( @@ -275,6 +275,9 @@ constructor(
275 LivekitRtc.SignalResponse.MessageCase.JOIN -> { 275 LivekitRtc.SignalResponse.MessageCase.JOIN -> {
276 Timber.d { "received unexpected extra join message?" } 276 Timber.d { "received unexpected extra join message?" }
277 } 277 }
  278 + LivekitRtc.SignalResponse.MessageCase.LEAVE -> {
  279 + listener?.onLeave()
  280 + }
278 LivekitRtc.SignalResponse.MessageCase.MESSAGE_NOT_SET, 281 LivekitRtc.SignalResponse.MessageCase.MESSAGE_NOT_SET,
279 null -> { 282 null -> {
280 Timber.v { "empty messageCase!" } 283 Timber.v { "empty messageCase!" }
@@ -296,6 +299,7 @@ constructor( @@ -296,6 +299,7 @@ constructor(
296 fun onParticipantUpdate(updates: List<LivekitModels.ParticipantInfo>) 299 fun onParticipantUpdate(updates: List<LivekitModels.ParticipantInfo>)
297 fun onActiveSpeakersChanged(speakers: List<LivekitRtc.SpeakerInfo>) 300 fun onActiveSpeakersChanged(speakers: List<LivekitRtc.SpeakerInfo>)
298 fun onClose(reason: String, code: Int) 301 fun onClose(reason: String, code: Int)
  302 + fun onLeave()
299 fun onError(error: Exception) 303 fun onError(error: Exception)
300 } 304 }
301 305
@@ -289,10 +289,16 @@ constructor( @@ -289,10 +289,16 @@ constructor(
289 } 289 }
290 290
291 override fun onClose(reason: String, code: Int) { 291 override fun onClose(reason: String, code: Int) {
  292 + // TODO: reconnect logic
292 Timber.i { "received close event: $reason, code: $code" } 293 Timber.i { "received close event: $reason, code: $code" }
293 listener?.onDisconnect(reason) 294 listener?.onDisconnect(reason)
294 } 295 }
295 296
  297 + override fun onLeave() {
  298 + close()
  299 + listener?.onDisconnect("")
  300 + }
  301 +
296 override fun onError(error: Exception) { 302 override fun onError(error: Exception) {
297 listener?.onFailToConnect(error) 303 listener?.onFailToConnect(error)
298 } 304 }