mirror of
				https://github.com/pierre42100/ComunicAndroid
				synced 2025-11-04 03:24:04 +00:00 
			
		
		
		
	Improved the way ready messages are sent.
This commit is contained in:
		@@ -293,12 +293,17 @@ public class CallActivity extends BaseActivity implements SignalExchangerCallbac
 | 
			
		||||
 | 
			
		||||
        if(mList.find(member) == null && member.getUserID() > AccountUtils.getID(this)) {
 | 
			
		||||
            createPeerConnection(member, false);
 | 
			
		||||
            mSignalExchangerClient.sendReadyMessage(member.getUserCallID());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        CallPeerConnection connection = mList.find(member);
 | 
			
		||||
 | 
			
		||||
        if(mList.find(member) != null)
 | 
			
		||||
            Objects.requireNonNull(mList.find(member)).setMember(member);
 | 
			
		||||
        if(connection != null) {
 | 
			
		||||
 | 
			
		||||
            if(!connection.isConnected())
 | 
			
		||||
                mSignalExchangerClient.sendReadyMessage(connection.getMember().getUserCallID());
 | 
			
		||||
 | 
			
		||||
            Objects.requireNonNull(connection).setMember(member);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -403,9 +408,11 @@ public class CallActivity extends BaseActivity implements SignalExchangerCallbac
 | 
			
		||||
        mHangUpButton.setVisibility(View.GONE);
 | 
			
		||||
        mStopped = true;
 | 
			
		||||
 | 
			
		||||
        mRefreshCallInformation.interrupt();
 | 
			
		||||
        if(mRefreshCallInformation != null)
 | 
			
		||||
            mRefreshCallInformation.interrupt();
 | 
			
		||||
 | 
			
		||||
        mSignalExchangerClient.close();
 | 
			
		||||
        if(mSignalExchangerClient != null)
 | 
			
		||||
            mSignalExchangerClient.close();
 | 
			
		||||
 | 
			
		||||
        for (CallPeerConnection client : mList)
 | 
			
		||||
            disconnectFromPeer(client.getMember());
 | 
			
		||||
@@ -592,24 +599,28 @@ public class CallActivity extends BaseActivity implements SignalExchangerCallbac
 | 
			
		||||
        public void onIceConnected() {
 | 
			
		||||
            Log.v(TAG, "Ice connected with peer  " +
 | 
			
		||||
                    connection.getMember().getUserID());
 | 
			
		||||
            connection.setConnected(true);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public void onIceDisconnected() {
 | 
			
		||||
            Log.v(TAG, "Ice disconnected from peer  " +
 | 
			
		||||
                    connection.getMember().getUserID());
 | 
			
		||||
            connection.setConnected(false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public void onConnected() {
 | 
			
		||||
            Log.v(TAG, "Connected to peer  " +
 | 
			
		||||
                    connection.getMember().getUserID());
 | 
			
		||||
            connection.setConnected(true);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public void onDisconnected() {
 | 
			
		||||
            Log.v(TAG, "Disconnected from peer  " +
 | 
			
		||||
                    connection.getMember().getUserID());
 | 
			
		||||
            connection.setConnected(false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
@@ -617,6 +628,7 @@ public class CallActivity extends BaseActivity implements SignalExchangerCallbac
 | 
			
		||||
            Log.v(TAG, "Connection close from user " +
 | 
			
		||||
                    connection.getMember().getUserID());
 | 
			
		||||
            runOnUiThread(() -> disconnectFromPeer(connection.getMember()));
 | 
			
		||||
            connection.setConnected(false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
@@ -629,6 +641,7 @@ public class CallActivity extends BaseActivity implements SignalExchangerCallbac
 | 
			
		||||
        public void onPeerConnectionError(String description) {
 | 
			
		||||
            Log.e(TAG, "Peer connection error with " +
 | 
			
		||||
                    connection.getMember().getUserID() + " " + description);
 | 
			
		||||
            connection.setConnected(false);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,7 @@ public class CallPeerConnection {
 | 
			
		||||
    //Private fields
 | 
			
		||||
    private CallMember member;
 | 
			
		||||
    private PeerConnectionClient peerConnectionClient;
 | 
			
		||||
    private boolean connected = false;
 | 
			
		||||
    private VideoSink localProxyVideoSink;
 | 
			
		||||
    private VideoSink remoteProxyRenderer;
 | 
			
		||||
    private ArrayList<VideoSink> remoteSinks = new ArrayList<>();
 | 
			
		||||
@@ -45,6 +46,14 @@ public class CallPeerConnection {
 | 
			
		||||
        this.peerConnectionClient = peerConnectionClient;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isConnected() {
 | 
			
		||||
        return connected;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setConnected(boolean connected) {
 | 
			
		||||
        this.connected = connected;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ArrayList<VideoSink> getRemoteSinks() {
 | 
			
		||||
        return remoteSinks;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user