summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2017-09-27 17:16:40 -0400
committerJoey Grover <joeygrover@gmail.com>2017-09-27 17:16:40 -0400
commit29dbfdb04d0faa0b8c08f006b480b0e1a350158b (patch)
tree495c963e40807cce3aa3d8f6ca2872bb74eb1d4e
parent4590e66fe0a63a42ae754a10c7a5f1d90cbb6c9e (diff)
downloadsdl_android-29dbfdb04d0faa0b8c08f006b480b0e1a350158b.tar.gz
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/protocol/WiProProtocol.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/protocol/WiProProtocol.java b/sdl_android/src/main/java/com/smartdevicelink/protocol/WiProProtocol.java
index c6fa078db..abda6ff97 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/protocol/WiProProtocol.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/protocol/WiProProtocol.java
@@ -150,10 +150,17 @@ public class WiProProtocol extends AbstractProtocol {
} // end-method
public void EndProtocolSession(SessionType sessionType, byte sessionID, int hashId) {
- SdlPacket header = SdlPacketFactory.createEndSession(sessionType, sessionID, hashID, getMajorVersionByte(), BitConverter.intToByteArray(hashId));
- if(sessionType.equals(SessionType.RPC)){ // check for RPC session
- header.putTag(ControlFrameTags.RPC.EndService.HASH_ID, hashID);
- }
+ SdlPacket header;
+ if (sessionType.equals(SessionType.RPC)) { // check for RPC session
+ if(_version < 5){
+ header = SdlPacketFactory.createEndSession(sessionType, sessionID, hashID, getMajorVersionByte(), BitConverter.intToByteArray(hashID));
+ }else{
+ header = SdlPacketFactory.createEndSession(sessionType, sessionID, hashID, getMajorVersionByte(), new byte[0]);
+ header.putTag(ControlFrameTags.RPC.EndService.HASH_ID, hashID);
+ }
+ }else{ //Any other service type we don't include the hash id
+ header = SdlPacketFactory.createEndSession(sessionType, sessionID, hashID, getMajorVersionByte(), new byte[0]);
+ }
handlePacketToSend(header);
} // end-method