summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Kirk <askirk@umich.edu>2018-03-26 14:41:28 -0400
committerAustin Kirk <askirk@umich.edu>2018-03-26 14:41:28 -0400
commitc91535824bac9f658366683609bb45f64934f9ce (patch)
tree4d35842c1a55d351c9d6d75cc6658991f36f662e
parent0bf0067c0e8b0f15a211705f7bc35ed20463c76e (diff)
downloadsdl_android-bugfix/tcp_transport_disconnect.tar.gz
Catch NetworkOnMainThreadException when writing to TCPbugfix/tcp_transport_disconnect
This will catch a previously unresolved case
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/transport/TCPTransport.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/transport/TCPTransport.java b/sdl_android/src/main/java/com/smartdevicelink/transport/TCPTransport.java
index e9fb0efcf..c858c7790 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/transport/TCPTransport.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/transport/TCPTransport.java
@@ -1,11 +1,14 @@
package com.smartdevicelink.transport;
-
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.os.NetworkOnMainThreadException;
import android.util.Log;
import com.smartdevicelink.exception.SdlException;
@@ -107,6 +110,7 @@ public class TCPTransport extends SdlTransport {
* @param length Number of bytes to send
* @return True if data was sent successfully, False otherwise
*/
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protected boolean sendBytesOverTransport(SdlPacket packet) {
TCPTransportState currentState = getCurrentState();
@@ -123,7 +127,7 @@ public class TCPTransport extends SdlTransport {
mOutputStream.write(msgBytes, 0, msgBytes.length);
bResult = true;
logInfo("TCPTransport.sendBytesOverTransport: successfully send data");
- } catch (IOException e) {
+ } catch (IOException | NetworkOnMainThreadException e) {
logError("TCPTransport.sendBytesOverTransport: error during sending data: " + e.getMessage());
bResult = false;
}