Преглед изворни кода

Better removal of media stream

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic пре 7 година
родитељ
комит
38285cdea2
1 измењених фајлова са 6 додато и 9 уклоњено
  1. 6 9
      app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

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

@@ -737,15 +737,12 @@ public class CallActivity extends AppCompatActivity {
 
     private void removeMediaStream(String sessionId) {
         if (remoteRenderersLayout.getChildCount() > 0) {
-            for (int i = 0; i < remoteRenderersLayout.getChildCount(); i++) {
-                if (remoteRenderersLayout.getChildAt(i).getTag().equals(sessionId)) {
-                    SurfaceViewRenderer surfaceViewRenderer = remoteRenderersLayout.getChildAt(i).findViewById(R.id
-                            .surface_view);
-                    surfaceViewRenderer.release();
-                    remoteRenderersLayout.removeViewAt(i);
-                    remoteRenderersLayout.invalidate();
-                    break;
-                }
+            RelativeLayout relativeLayout = remoteRenderersLayout.findViewWithTag(sessionId);
+            if (relativeLayout != null) {
+                SurfaceViewRenderer surfaceViewRenderer = relativeLayout.findViewById(R.id.surface_view);
+                surfaceViewRenderer.release();
+                remoteRenderersLayout.removeView(relativeLayout);
+                remoteRenderersLayout.invalidate();
             }
         }
     }