Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Unified Diff: webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java

Issue 1992213002: Replace LooperExecutor with built-in class in Android AppRTC Demo (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Changes according to magjed comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
index 996483ec1d73dc9057aa035a6b7871f4642362ef..7e09c9b3b3844a7d05021342de2d0b62d944761f 100644
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java
@@ -12,7 +12,7 @@ package org.appspot.apprtc;
import android.util.Log;
-import org.appspot.apprtc.util.LooperExecutor;
+import org.webrtc.ThreadUtils;
import java.io.BufferedReader;
import java.io.IOException;
@@ -22,6 +22,7 @@ import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
+import java.util.concurrent.ExecutorService;
/**
* Replacement for WebSocketChannelClient for direct communication between two IP addresses. Handles
@@ -34,7 +35,8 @@ import java.net.UnknownHostException;
public class TCPChannelClient {
private static final String TAG = "TCPChannelClient";
- private final LooperExecutor executor;
+ private final ExecutorService executor;
+ private final ThreadUtils.ThreadChecker executorThreadCheck;
private final TCPChannelEvents eventListener;
private TCPSocket socket;
@@ -58,8 +60,10 @@ public class TCPChannelClient {
* @param port Port to listen on or connect to.
*/
public TCPChannelClient(
- LooperExecutor executor, TCPChannelEvents eventListener, String ip, int port) {
+ ExecutorService executor, TCPChannelEvents eventListener, String ip, int port) {
this.executor = executor;
+ executorThreadCheck = new ThreadUtils.ThreadChecker();
+ executorThreadCheck.detachThread();
this.eventListener = eventListener;
InetAddress address;
@@ -83,7 +87,7 @@ public class TCPChannelClient {
* Disconnects the client if not already disconnected. This will fire the onTCPClose event.
*/
public void disconnect() {
- checkIfCalledOnValidThread();
+ executorThreadCheck.checkIsOnValidThread();
socket.disconnect();
}
@@ -94,7 +98,7 @@ public class TCPChannelClient {
* @param message Message to be sent.
*/
public void send(String message) {
- checkIfCalledOnValidThread();
+ executorThreadCheck.checkIsOnValidThread();
socket.send(message);
}
@@ -112,17 +116,6 @@ public class TCPChannelClient {
});
}
- /**
- * Helper method for debugging purposes.
- * Ensures that TCPChannelClient method is called on a looper thread.
- */
- private void checkIfCalledOnValidThread() {
- if (!executor.checkOnLooperThread()) {
- throw new IllegalStateException(
- "TCPChannelClient method is not called on valid thread");
- }
- }
-
/**
* Base class for server and client sockets. Contains a listening thread that will call

Powered by Google App Engine
This is Rietveld 408576698