From 21d084db254cbc9c712ad3d8f5759460dbf2833f Mon Sep 17 00:00:00 2001 From: Haroldo Shigueaki Teruya Date: Thu, 15 Feb 2018 09:32:42 -0200 Subject: [PATCH] Update RNOpenTokSubscriberView.java --- .../com/rnopentok/RNOpenTokSubscriberView.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/android/src/main/java/com/rnopentok/RNOpenTokSubscriberView.java b/android/src/main/java/com/rnopentok/RNOpenTokSubscriberView.java index f814770..8e4d045 100644 --- a/android/src/main/java/com/rnopentok/RNOpenTokSubscriberView.java +++ b/android/src/main/java/com/rnopentok/RNOpenTokSubscriberView.java @@ -68,8 +68,11 @@ private void attachSubscriberView() { } private void cleanUpSubscriber() { - removeView(mSubscriber.getView()); - mSubscriber = null; + if ( mSubscriber != null ) { + removeView(mSubscriber.getView()); + mSubscriber.destroy(); + mSubscriber = null; + } } public void onStreamReceived(Session session, Stream stream) { @@ -89,14 +92,18 @@ public void onStreamDropped(Session session, Stream stream) { public void onConnected(SubscriberKit subscriberKit) {} @Override - public void onDisconnected(SubscriberKit subscriberKit) {} + public void onDisconnected(SubscriberKit subscriberKit) { + cleanUpSubscriber(); + } @Override public void onError(SubscriberKit subscriberKit, OpentokError opentokError) { WritableMap payload = Arguments.createMap(); payload.putString("connectionId", opentokError.toString()); - + sendEvent(Events.EVENT_SUBSCRIBE_ERROR, payload); + + cleanUpSubscriber(); } }