summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2019-04-04 13:24:18 -0400
committerGitHub <noreply@github.com>2019-04-04 13:24:18 -0400
commit4178790de2f092c8208da8f05e2cccf6782967d1 (patch)
tree774f90ac1c65c61739aa9b8f5bfe3d3a4e7cef02
parent7eff21bab6624f739ed43ccffb089b1c0b146847 (diff)
parent9252c785b745b677cdf0a69bd376b3fc88313e8c (diff)
downloadsdl_android-4178790de2f092c8208da8f05e2cccf6782967d1.tar.gz
Merge pull request #1030 from smartdevicelink/bugfix/copy_messageRC3-4.8.0
Fix issue in RS when removing Parcel objects for notifying all cliets
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
index 05fa8353f..efc1fbe2e 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java
@@ -939,8 +939,8 @@ public class SdlRouterService extends Service{
return super.onUnbind(intent);
}
-
- private void notifyClients(Message message){
+
+ private void notifyClients(final Message message){
if(message==null){
Log.w(TAG, "Can't notify clients, message was null");
return;
@@ -950,11 +950,13 @@ public class SdlRouterService extends Service{
synchronized(REGISTERED_APPS_LOCK){
Collection<RegisteredApp> apps = registeredApps.values();
Iterator<RegisteredApp> it = apps.iterator();
+ Message formattedMessage = new Message();
while(it.hasNext()){
RegisteredApp app = it.next();
+ formattedMessage.copyFrom(message);
//Format the message for the receiving app and appropriate messaging version
- if(formatMessage(app, message)) {
- result = app.sendMessage(message);
+ if(formatMessage(app, formattedMessage)) {
+ result = app.sendMessage(formattedMessage);
if (result == RegisteredApp.SEND_MESSAGE_ERROR_MESSENGER_DEAD_OBJECT) {
app.close();
it.remove();