mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01:00
Fix peer connection
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
d0e85c746b
commit
0ba40ce519
@ -171,7 +171,7 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
initViews();
|
initViews();
|
||||||
|
|
||||||
PermissionHelper permissionHelper = new PermissionHelper(this);
|
PermissionHelper permissionHelper = new PermissionHelper(this);
|
||||||
permissionHelper.check(android.Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO,
|
permissionHelper.check(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO,
|
||||||
Manifest.permission.MODIFY_AUDIO_SETTINGS, Manifest.permission.ACCESS_NETWORK_STATE,
|
Manifest.permission.MODIFY_AUDIO_SETTINGS, Manifest.permission.ACCESS_NETWORK_STATE,
|
||||||
Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.INTERNET)
|
Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.INTERNET)
|
||||||
.onSuccess(() -> {
|
.onSuccess(() -> {
|
||||||
@ -555,6 +555,7 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
endPeerConnection(magicPeerConnectionWrapperList.get(i).getSessionId());
|
endPeerConnection(magicPeerConnectionWrapperList.get(i).getSessionId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (MagicPeerConnectionWrapper magicPeerConnectionWrapper : magicPeerConnectionWrapperList) {
|
for (MagicPeerConnectionWrapper magicPeerConnectionWrapper : magicPeerConnectionWrapperList) {
|
||||||
endPeerConnection(magicPeerConnectionWrapper.getSessionId());
|
endPeerConnection(magicPeerConnectionWrapper.getSessionId());
|
||||||
}
|
}
|
||||||
@ -716,6 +717,9 @@ public class CallActivity extends AppCompatActivity {
|
|||||||
if (remoteRenderersLayout.getChildCount() > 0) {
|
if (remoteRenderersLayout.getChildCount() > 0) {
|
||||||
for (int i = 0; i < remoteRenderersLayout.getChildCount(); i++) {
|
for (int i = 0; i < remoteRenderersLayout.getChildCount(); i++) {
|
||||||
if (remoteRenderersLayout.getChildAt(i).getTag().equals(sessionId)) {
|
if (remoteRenderersLayout.getChildAt(i).getTag().equals(sessionId)) {
|
||||||
|
SurfaceViewRenderer surfaceViewRenderer = remoteRenderersLayout.getChildAt(i).findViewById(R.id
|
||||||
|
.surface_view);
|
||||||
|
surfaceViewRenderer.release();
|
||||||
remoteRenderersLayout.removeViewAt(i);
|
remoteRenderersLayout.removeViewAt(i);
|
||||||
remoteRenderersLayout.invalidate();
|
remoteRenderersLayout.invalidate();
|
||||||
break;
|
break;
|
||||||
|
@ -47,7 +47,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class MagicPeerConnectionWrapper {
|
public class MagicPeerConnectionWrapper {
|
||||||
private static String TAG = "MagicPeerConnectionWrapper";
|
private static String TAG = "MagicPeerConnectionWrapper";
|
||||||
private static PeerConnection peerConnection;
|
private PeerConnection peerConnection;
|
||||||
List<IceCandidate> iceCandidates = new ArrayList<>();
|
List<IceCandidate> iceCandidates = new ArrayList<>();
|
||||||
private List<PeerConnection.IceServer> iceServers;
|
private List<PeerConnection.IceServer> iceServers;
|
||||||
private String sessionId;
|
private String sessionId;
|
||||||
@ -120,15 +120,10 @@ public class MagicPeerConnectionWrapper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public PeerConnection getPeerConnection() {
|
public PeerConnection getPeerConnection() {
|
||||||
return peerConnection;
|
return peerConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setPeerConnection(PeerConnection peerConnection) {
|
|
||||||
MagicPeerConnectionWrapper.peerConnection = peerConnection;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSessionId() {
|
public String getSessionId() {
|
||||||
return sessionId;
|
return sessionId;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user