From b2bda67497d9da69221c5814d2b815086c04e0ca Mon Sep 17 00:00:00 2001 From: "glaznev@webrtc.org" Date: Tue, 30 Dec 2014 18:15:43 +0000 Subject: [PATCH] Removing old channel code from a few more places. Plus adding peer connection close event. R=jiayl@webrtc.org Review URL: https://webrtc-codereview.appspot.com/37509004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7982 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../src/org/appspot/apprtc/AppRTCClient.java | 16 +-- .../appspot/apprtc/AppRTCDemoActivity.java | 12 +- .../org/appspot/apprtc/ConnectActivity.java | 1 - .../appspot/apprtc/PeerConnectionClient.java | 8 ++ .../appspot/apprtc/RoomParametersFetcher.java | 107 ++++++------------ .../apprtc/WebSocketChannelClient.java | 1 - .../appspot/apprtc/WebSocketRTCClient.java | 3 +- 7 files changed, 51 insertions(+), 97 deletions(-) diff --git a/talk/examples/android/src/org/appspot/apprtc/AppRTCClient.java b/talk/examples/android/src/org/appspot/apprtc/AppRTCClient.java index 9fbdb3b19..021b939f5 100644 --- a/talk/examples/android/src/org/appspot/apprtc/AppRTCClient.java +++ b/talk/examples/android/src/org/appspot/apprtc/AppRTCClient.java @@ -65,7 +65,6 @@ public interface AppRTCClient { * Struct holding the signaling parameters of an AppRTC room. */ public class SignalingParameters { - public final boolean websocketSignaling; public final List iceServers; public final boolean initiator; public final MediaConstraints pcConstraints; @@ -74,7 +73,6 @@ public interface AppRTCClient { public final String roomUrl; public final String roomId; public final String clientId; - public final String channelToken; public final String wssUrl; public final String wssPostUrl; public final SessionDescription offerSdp; @@ -85,7 +83,7 @@ public interface AppRTCClient { boolean initiator, MediaConstraints pcConstraints, MediaConstraints videoConstraints, MediaConstraints audioConstraints, String roomUrl, String roomId, String clientId, - String wssUrl, String wssPostUrl, String channelToken, + String wssUrl, String wssPostUrl, SessionDescription offerSdp, List iceCandidates) { this.iceServers = iceServers; this.initiator = initiator; @@ -97,14 +95,8 @@ public interface AppRTCClient { this.clientId = clientId; this.wssUrl = wssUrl; this.wssPostUrl = wssPostUrl; - this.channelToken = channelToken; this.offerSdp = offerSdp; this.iceCandidates = iceCandidates; - if (channelToken == null || channelToken.length() == 0) { - this.websocketSignaling = true; - } else { - this.websocketSignaling = false; - } } } @@ -120,12 +112,6 @@ public interface AppRTCClient { */ public void onConnectedToRoom(final SignalingParameters params); - /** - * Callback fired once channel for signaling messages is opened and - * ready to receive messages. - */ - public void onChannelOpen(); - /** * Callback fired once remote SDP is received. */ diff --git a/talk/examples/android/src/org/appspot/apprtc/AppRTCDemoActivity.java b/talk/examples/android/src/org/appspot/apprtc/AppRTCDemoActivity.java index bc8c62938..ca80cd382 100644 --- a/talk/examples/android/src/org/appspot/apprtc/AppRTCDemoActivity.java +++ b/talk/examples/android/src/org/appspot/apprtc/AppRTCDemoActivity.java @@ -513,14 +513,6 @@ public class AppRTCDemoActivity extends Activity }; videoView.postDelayed(repeatedStatsLogger, 1000); - logAndToast("Waiting for remote connection..."); - } - - @Override - public void onChannelOpen() { - if (pc == null) { - return; - } if (signalingParameters.initiator) { logAndToast("Creating OFFER..."); // Create offer. Offer SDP will be sent to answering client in @@ -600,6 +592,10 @@ public class AppRTCDemoActivity extends Activity disconnect(); } + @Override + public void onPeerConnectionClosed() { + } + @Override public void onPeerConnectionError(String description) { if (!isError) { diff --git a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java b/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java index 15ca9087e..12e147c5b 100644 --- a/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java +++ b/talk/examples/android/src/org/appspot/apprtc/ConnectActivity.java @@ -69,7 +69,6 @@ public class ConnectActivity extends Activity { public static final String EXTRA_RUNTIME = "org.appspot.apprtc.RUNTIME"; public static final String EXTRA_BITRATE = "org.appspot.apprtc.BITRATE"; public static final String EXTRA_HWCODEC = "org.appspot.apprtc.HWCODEC"; - public static final String EXTRA_WEBSOCKET = "org.appspot.apprtc.WEBSOCKET"; private static final String TAG = "ConnectRTCClient"; private final int CONNECTION_REQUEST = 1; private static boolean commandLineRun = false; diff --git a/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java b/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java index 64343f49a..ea15389f6 100644 --- a/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java +++ b/talk/examples/android/src/org/appspot/apprtc/PeerConnectionClient.java @@ -246,6 +246,8 @@ public class PeerConnectionClient { factory.dispose(); factory = null; } + Log.d(TAG, "Closing peer connection done."); + events.onPeerConnectionClosed(); } }); } @@ -276,10 +278,16 @@ public class PeerConnectionClient { */ public void onIceDisconnected(); + /** + * Callback fired once peer connection is closed. + */ + public void onPeerConnectionClosed(); + /** * Callback fired once peer connection error happened. */ public void onPeerConnectionError(String description); + } private void reportError(final String errorMessage) { diff --git a/talk/examples/android/src/org/appspot/apprtc/RoomParametersFetcher.java b/talk/examples/android/src/org/appspot/apprtc/RoomParametersFetcher.java index bdeb9fbcd..7ff18ca02 100644 --- a/talk/examples/android/src/org/appspot/apprtc/RoomParametersFetcher.java +++ b/talk/examples/android/src/org/appspot/apprtc/RoomParametersFetcher.java @@ -53,7 +53,6 @@ public class RoomParametersFetcher private static final String TAG = "RoomRTCClient"; private Exception exception = null; private RoomParametersFetcherEvents events = null; - private boolean useNewSignaling; private boolean loopback; /** @@ -73,10 +72,9 @@ public class RoomParametersFetcher } public RoomParametersFetcher(RoomParametersFetcherEvents events, - boolean useNewSignaling, boolean loopback) { + boolean loopback) { super(); this.events = events; - this.useNewSignaling = useNewSignaling; this.loopback = loopback; } @@ -119,22 +117,11 @@ public class RoomParametersFetcher // Fetches |url| and fishes the signaling parameters out of the JSON. private SignalingParameters getParametersForRoomUrl(String url) throws IOException, JSONException { - if (!useNewSignaling) { - if (url.contains("?")) { - url += "&t=json"; - } else { - url += "?t=json"; - } - } Log.d(TAG, "Connecting to room: " + url); HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); - if (useNewSignaling) { - connection.setDoOutput(true); - connection.setRequestMethod("POST"); - } else { - connection.setRequestMethod("GET"); - } + connection.setDoOutput(true); + connection.setRequestMethod("POST"); connection.setDoInput(true); InputStream responseStream = connection.getInputStream(); @@ -142,64 +129,44 @@ public class RoomParametersFetcher responseStream.close(); Log.d(TAG, "Room response: " + response); JSONObject roomJson = new JSONObject(response); - - String roomId; - String clientId; - String roomUrl; - String channelToken = ""; - String wssUrl = ""; - String wssPostUrl = ""; - boolean initiator; LinkedList iceCandidates = null; SessionDescription offerSdp = null; - if (useNewSignaling) { - String result = roomJson.getString("result"); - if (!result.equals("SUCCESS")) { - throw new JSONException(result); - } - response = roomJson.getString("params"); - roomJson = new JSONObject(response); - roomId = roomJson.getString("room_id"); - clientId = roomJson.getString("client_id"); - wssUrl = roomJson.getString("wss_url"); - wssPostUrl = roomJson.getString("wss_post_url"); - initiator = (roomJson.getBoolean("is_initiator")); - roomUrl = url.substring(0, url.indexOf("/register")); - if (!initiator) { - iceCandidates = new LinkedList(); - String messagesString = roomJson.getString("messages"); - JSONArray messages = new JSONArray(messagesString); - for (int i = 0; i < messages.length(); ++i) { - String messageString = messages.getString(i); - JSONObject message = new JSONObject(messageString); - String messageType = message.getString("type"); - Log.d(TAG, "GAE->C #" + i + " : " + messageString); - if (messageType.equals("offer")) { - offerSdp = new SessionDescription( - SessionDescription.Type.fromCanonicalForm(messageType), - message.getString("sdp")); - } else if (messageType.equals("candidate")) { - IceCandidate candidate = new IceCandidate( - message.getString("id"), - message.getInt("label"), - message.getString("candidate")); - iceCandidates.add(candidate); - } else { - Log.e(TAG, "Unknown message: " + messageString); - } + String result = roomJson.getString("result"); + if (!result.equals("SUCCESS")) { + throw new JSONException(result); + } + response = roomJson.getString("params"); + roomJson = new JSONObject(response); + String roomId = roomJson.getString("room_id"); + String clientId = roomJson.getString("client_id"); + String wssUrl = roomJson.getString("wss_url"); + String wssPostUrl = roomJson.getString("wss_post_url"); + boolean initiator = (roomJson.getBoolean("is_initiator")); + String roomUrl = url.substring(0, url.indexOf("/register")); + if (!initiator) { + iceCandidates = new LinkedList(); + String messagesString = roomJson.getString("messages"); + JSONArray messages = new JSONArray(messagesString); + for (int i = 0; i < messages.length(); ++i) { + String messageString = messages.getString(i); + JSONObject message = new JSONObject(messageString); + String messageType = message.getString("type"); + Log.d(TAG, "GAE->C #" + i + " : " + messageString); + if (messageType.equals("offer")) { + offerSdp = new SessionDescription( + SessionDescription.Type.fromCanonicalForm(messageType), + message.getString("sdp")); + } else if (messageType.equals("candidate")) { + IceCandidate candidate = new IceCandidate( + message.getString("id"), + message.getInt("label"), + message.getString("candidate")); + iceCandidates.add(candidate); + } else { + Log.e(TAG, "Unknown message: " + messageString); } } - } else { - if (roomJson.has("error")) { - JSONArray errors = roomJson.getJSONArray("error_messages"); - throw new IOException(errors.toString()); - } - roomId = roomJson.getString("room_key"); - clientId = roomJson.getString("me"); - channelToken = roomJson.optString("token"); - initiator = (roomJson.getInt("initiator") == 1); - roomUrl = url.substring(0, url.indexOf('?')); } Log.d(TAG, "RoomId: " + roomId + ". ClientId: " + clientId); @@ -242,7 +209,7 @@ public class RoomParametersFetcher iceServers, initiator, pcConstraints, videoConstraints, audioConstraints, roomUrl, roomId, clientId, - wssUrl, wssPostUrl, channelToken, + wssUrl, wssPostUrl, offerSdp, iceCandidates); } diff --git a/talk/examples/android/src/org/appspot/apprtc/WebSocketChannelClient.java b/talk/examples/android/src/org/appspot/apprtc/WebSocketChannelClient.java index e30f0db82..8eabd0222 100644 --- a/talk/examples/android/src/org/appspot/apprtc/WebSocketChannelClient.java +++ b/talk/examples/android/src/org/appspot/apprtc/WebSocketChannelClient.java @@ -26,7 +26,6 @@ */ package org.appspot.apprtc; -import android.os.AsyncTask; import android.os.Handler; import android.os.Looper; import android.util.Log; diff --git a/talk/examples/android/src/org/appspot/apprtc/WebSocketRTCClient.java b/talk/examples/android/src/org/appspot/apprtc/WebSocketRTCClient.java index 58e3932b1..dc7140267 100644 --- a/talk/examples/android/src/org/appspot/apprtc/WebSocketRTCClient.java +++ b/talk/examples/android/src/org/appspot/apprtc/WebSocketRTCClient.java @@ -106,7 +106,6 @@ public class WebSocketRTCClient implements AppRTCClient, // Fire connection and signaling parameters events. events.onConnectedToRoom(params); - events.onChannelOpen(); if (!params.initiator) { // For call receiver get sdp offer and ice candidates // from room parameters. @@ -212,7 +211,7 @@ public class WebSocketRTCClient implements AppRTCClient, wsClient = new WebSocketChannelClient(this); // Get room parameters. roomState = ConnectionState.NEW; - fetcher = new RoomParametersFetcher(this, true, loopback); + fetcher = new RoomParametersFetcher(this, loopback); fetcher.execute(url); }