davidliu
Committed by GitHub

handle room multiple disconnect (#32)

@@ -288,8 +288,17 @@ constructor( @@ -288,8 +288,17 @@ constructor(
288 } 288 }
289 289
290 private fun handleDisconnect() { 290 private fun handleDisconnect() {
291 - val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager  
292 - cm.unregisterNetworkCallback(this) 291 + if(state == State.DISCONNECTED) {
  292 + return
  293 + }
  294 +
  295 + try {
  296 + val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
  297 + cm.unregisterNetworkCallback(this)
  298 + } catch (e : IllegalArgumentException) {
  299 + // do nothing, may happen on older versions if attempting to unregister twice.
  300 + }
  301 +
293 for (pub in localParticipant.tracks.values) { 302 for (pub in localParticipant.tracks.values) {
294 pub.track?.stop() 303 pub.track?.stop()
295 } 304 }