summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2016-11-01 16:22:07 -0400
committerGitHub <noreply@github.com>2016-11-01 16:22:07 -0400
commitc10983e203dd470460c3af18fb9e323a4b49f51b (patch)
tree3371f79bbb9da9bbb19800529d699dbf481b2d10
parentecacf239f8e2930be9f7a9640929327c8511bbd7 (diff)
parent6968008d188aaf483d8d1619aa8fc66f78070cdf (diff)
downloadsdl_android-c10983e203dd470460c3af18fb9e323a4b49f51b.tar.gz
Merge pull request #351 from smartdevicelink/bugfix/issue_350
Fixed binary frames being added to v1 packets
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java b/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java
index c17690b12..6652ab217 100644
--- a/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java
+++ b/sdl_android_lib/src/com/smartdevicelink/transport/SdlRouterService.java
@@ -1817,16 +1817,15 @@ public class SdlRouterService extends Service{
if (request.getBulkData() != null)
pm.setBulkData(request.getBulkData());
byte[] data = null;
- if (version > 1) {
+ if(version > 1) { //If greater than v1 we need to include a binary frame header in the data before all the JSON starts
data = new byte[12 + pm.getJsonSize()];
- } else {
+ BinaryFrameHeader binFrameHeader = new BinaryFrameHeader();
+ binFrameHeader = SdlPacketFactory.createBinaryFrameHeader(pm.getRPCType(), pm.getFunctionID(), pm.getCorrID(), pm.getJsonSize());
+ System.arraycopy(binFrameHeader.assembleHeaderBytes(), 0, data, 0, 12);
+ System.arraycopy(pm.getData(), 0, data, 12, pm.getJsonSize());
+ }else {
data = pm.getData();
}
- BinaryFrameHeader binFrameHeader = new BinaryFrameHeader();
- binFrameHeader = SdlPacketFactory.createBinaryFrameHeader(pm.getRPCType(), pm.getFunctionID(), pm.getCorrID(), pm.getJsonSize());
-
- System.arraycopy(binFrameHeader.assembleHeaderBytes(), 0, data, 0, 12);
- System.arraycopy(pm.getData(), 0, data, 12, pm.getJsonSize());
SdlPacket packet = new SdlPacket(version,false,SdlPacket.FRAME_TYPE_SINGLE,SdlPacket.SERVICE_TYPE_RPC,0,sessionId,data.length,data.length+100,data);
return packet.constructPacket();