diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-15 17:08:28 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-15 17:08:28 -0400 |
commit | 8b734c28f65f18b5669acc8d9154bf13b3e948b7 (patch) | |
tree | 1c70762c8ed0de227132c1c2ee65d866053054e4 | |
parent | af9971590398a0fd693f22a14d1e0736f9a44570 (diff) | |
download | sdl_android-8b734c28f65f18b5669acc8d9154bf13b3e948b7.tar.gz |
Keep sending RPCs in sendRPCs if there is a notification or response in the list
-rw-r--r-- | android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java | 19 | ||||
-rw-r--r-- | javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java | 9 |
2 files changed, 27 insertions, 1 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java index b278671ea..1c21ba796 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java @@ -4381,6 +4381,18 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> } else {
// Notifications and Responses
sendRPCMessagePrivate(rpc);
+ if (listener != null && rpcs.size() > 0) {
+ listener.onUpdate(rpcs.size());
+ }
+ // recurse after sending a notification or response as there is no response.
+ try {
+ sendSequentialRequests(rpcs, listener);
+ } catch (SdlException e) {
+ e.printStackTrace();
+ if (listener != null) {
+ listener.onError(0, Result.GENERIC_ERROR, e.toString());
+ }
+ }
}
@@ -4459,6 +4471,13 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> }else {
// Notifications and Responses
sendRPCMessagePrivate(rpc);
+ if (listener != null){
+ if (rpcs.size() > 0){
+ listener.onUpdate(rpcs.size());
+ } else {
+ listener.onFinished();
+ }
+ }
}
}
}
diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java index 8f4a4da44..9bf947d3b 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java @@ -189,6 +189,13 @@ public class LifecycleManager extends BaseLifecycleManager { }else { // Notifications and Responses sendRPCMessagePrivate(message); + if (listener != null){ + if (messages.size() > 0){ + listener.onUpdate(messages.size()); + } else { + listener.onFinished(); + } + } } } } @@ -250,7 +257,7 @@ public class LifecycleManager extends BaseLifecycleManager { } else { // Notifications and Responses sendRPCMessagePrivate(rpc); - if (listener != null) { + if (listener != null && messages.size() > 0) { listener.onUpdate(messages.size()); } // recurse after sending a notification or response as there is no response. |