فهرست منبع

try to fix #1978

i suspect that peerConnectionFactory could have been null because e.g. "hangup()" was already called which sets it to null. Because of some async task getOrCreatePeerConnectionWrapperForSessionIdAndType might still be called afterwards and it failed because peerConnectionFactory was already null.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 3 سال پیش
والد
کامیت
a43a51b931
1فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 9 0
      app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

+ 9 - 0
app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

@@ -49,6 +49,7 @@ import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 import android.view.ViewTreeObserver;
 import android.widget.FrameLayout;
 import android.widget.FrameLayout;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
+import android.widget.Toast;
 
 
 import com.bluelinelabs.logansquare.LoganSquare;
 import com.bluelinelabs.logansquare.LoganSquare;
 import com.nextcloud.talk.R;
 import com.nextcloud.talk.R;
@@ -1885,6 +1886,14 @@ public class CallActivity extends CallBaseActivity {
         if ((peerConnectionWrapper = getPeerConnectionWrapperForSessionIdAndType(sessionId, type)) != null) {
         if ((peerConnectionWrapper = getPeerConnectionWrapperForSessionIdAndType(sessionId, type)) != null) {
             return peerConnectionWrapper;
             return peerConnectionWrapper;
         } else {
         } else {
+            if (peerConnectionFactory == null) {
+                Log.e(TAG, "peerConnectionFactory was null in getOrCreatePeerConnectionWrapperForSessionIdAndType.");
+                Toast.makeText(context, context.getResources().getString(R.string.nc_common_error_sorry),
+                               Toast.LENGTH_LONG).show();
+                hangup(true);
+                return null;
+            }
+
             if (hasMCU && publisher) {
             if (hasMCU && publisher) {
                 peerConnectionWrapper = new PeerConnectionWrapper(peerConnectionFactory,
                 peerConnectionWrapper = new PeerConnectionWrapper(peerConnectionFactory,
                                                                   iceServers,
                                                                   iceServers,