diff options
author | Austin Kirk <askirk@umich.edu> | 2018-03-26 14:41:28 -0400 |
---|---|---|
committer | Austin Kirk <askirk@umich.edu> | 2018-03-26 14:41:28 -0400 |
commit | c91535824bac9f658366683609bb45f64934f9ce (patch) | |
tree | 4d35842c1a55d351c9d6d75cc6658991f36f662e | |
parent | 0bf0067c0e8b0f15a211705f7bc35ed20463c76e (diff) | |
download | sdl_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.java | 8 |
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;
}
|