diff options
author | BrettyWhite <brett@livio.io> | 2017-04-04 16:37:57 -0400 |
---|---|---|
committer | BrettyWhite <brett@livio.io> | 2017-04-04 16:37:57 -0400 |
commit | 4c7524d3a8e27e922af250a70cfa377cc09b09e3 (patch) | |
tree | 0ff5d51af4bdb50736309539373f874e4714387b | |
parent | a3b07da006b9a35f9e21c1973011af5b43397865 (diff) | |
download | sdl_android-4c7524d3a8e27e922af250a70cfa377cc09b09e3.tar.gz |
added unit test and fix for issue 443
-rw-r--r-- | sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java | 38 | ||||
-rw-r--r-- | sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java | 23 |
2 files changed, 50 insertions, 11 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java new file mode 100644 index 000000000..583983c28 --- /dev/null +++ b/sdl_android/src/androidTest/java/com/smartdevicelink/transport/RegisteredAppTests.java @@ -0,0 +1,38 @@ +package com.smartdevicelink.transport; + +import android.os.Handler; +import android.os.Looper; +import android.os.Messenger; +import android.test.AndroidTestCase; + + +/** + * Created by brett on 4/4/17. + */ + +public class RegisteredAppTests extends AndroidTestCase { + + private static final String APP_ID = "123451123"; + + + public void testHandleMessage() { + + + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + + SdlRouterService router = new SdlRouterService(); + + Messenger messenger = null; + + SdlRouterService.RegisteredApp app = router.new RegisteredApp(APP_ID, messenger); + + byte[] bytes = new byte[1]; + app.handleMessage(TransportConstants.BYTES_TO_SEND_FLAG_LARGE_PACKET_START,bytes); + assertNotNull(app.buffer); + } + }); + } +} + diff --git a/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java index 37d11deb5..38ad6dfb2 100644 --- a/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java +++ b/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java @@ -2265,19 +2265,20 @@ public class SdlRouterService extends Service{ } if(buffer == null){ Log.e(TAG, "Unable to assemble message as buffer was null/not started"); - } - if(!buffer.handleMessage(flags, packet)){ //If this returns false - Log.e(TAG, "Error handling bytes"); - } - if(buffer.isFinished()){ //We are finished building the buffer so we should write the bytes out - byte[] bytes = buffer.getBytes(); - if(queue!=null){ - queue.add(new PacketWriteTask(bytes, 0, bytes.length,this.prioirtyForBuffingMessage)); - if(packetWriteTaskMaster!=null){ - packetWriteTaskMaster.alert(); + }else { + if (!buffer.handleMessage(flags, packet)) { //If this returns false + Log.e(TAG, "Error handling bytes"); + } + if (buffer.isFinished()) { //We are finished building the buffer so we should write the bytes out + byte[] bytes = buffer.getBytes(); + if (queue != null) { + queue.add(new PacketWriteTask(bytes, 0, bytes.length, this.prioirtyForBuffingMessage)); + if (packetWriteTaskMaster != null) { + packetWriteTaskMaster.alert(); + } } + buffer.close(); } - buffer.close(); } } |