summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Rapitis <mrapitis@ford.com>2015-04-20 14:12:35 -0400
committerDahiya, Anil (A.) <adahiya@ford.com>2015-04-24 13:05:22 -0400
commit92035d9c8c08aead1df1ab5b0784c15a8971a883 (patch)
tree0542f259ae1ec5c65b7df091bef88aa2cc13409a
parentd6369b0554da22f3144a5d9be587068de22a4a28 (diff)
downloadsdl_android-92035d9c8c08aead1df1ab5b0784c15a8971a883.tar.gz
Added OnServiceNACKed to base proxy.
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java17
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/InternalProxyMessage.java1
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/OnServiceNACKed.java21
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java5
4 files changed, 43 insertions, 1 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
index b17319113..8ea0b3b0e 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -53,6 +53,7 @@ import com.smartdevicelink.proxy.callbacks.InternalProxyMessage;
import com.smartdevicelink.proxy.callbacks.OnError;
import com.smartdevicelink.proxy.callbacks.OnProxyClosed;
import com.smartdevicelink.proxy.callbacks.OnServiceEnded;
+import com.smartdevicelink.proxy.callbacks.OnServiceNACKed;
import com.smartdevicelink.proxy.interfaces.IProxyListenerALM;
import com.smartdevicelink.proxy.interfaces.IProxyListenerBase;
import com.smartdevicelink.proxy.rpc.*;
@@ -285,6 +286,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
@Override
public void onProtocolSessionStartedNACKed(SessionType sessionType,
byte sessionID, byte version, String correlationID) {
+ OnServiceNACKed message = new OnServiceNACKed(sessionType);
+ queueInternalMessage(message);
+
if (sessionType.eq(SessionType.NAV)) {
Intent sendIntent = createBroadcastIntent();
@@ -1431,6 +1435,19 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
} else {
_proxyListener.onServiceEnded(msg);
}
+ } else if (message.getFunctionName().equals(InternalProxyMessage.OnServiceNACKed)) {
+ final OnServiceNACKed msg = (OnServiceNACKed)message;
+ if (_callbackToUIThread) {
+ // Run in UI thread
+ _mainUIHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ _proxyListener.onServiceNACKed(msg);
+ }
+ });
+ } else {
+ _proxyListener.onServiceNACKed(msg);
+ }
/**************Start Legacy Specific Call-backs************/
} else if (message.getFunctionName().equals(InternalProxyMessage.OnProxyOpened)) {
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/InternalProxyMessage.java b/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/InternalProxyMessage.java
index c23679e09..dc03f5c72 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/InternalProxyMessage.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/InternalProxyMessage.java
@@ -6,6 +6,7 @@ public class InternalProxyMessage {
public static final String OnProxyOpened = "OnProxyOpened";
public static final String OnProxyClosed = "OnProxyClosed";
public static final String OnServiceEnded = "OnServiceEnded";
+ public static final String OnServiceNACKed = "OnServiceNACKed";
public InternalProxyMessage(String functionName) {
//this(functionName, null, null);
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/OnServiceNACKed.java b/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/OnServiceNACKed.java
new file mode 100644
index 000000000..9eae5e4c4
--- /dev/null
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/callbacks/OnServiceNACKed.java
@@ -0,0 +1,21 @@
+package com.smartdevicelink.proxy.callbacks;
+
+import com.smartdevicelink.protocol.enums.SessionType;
+
+public class OnServiceNACKed extends InternalProxyMessage {
+ private SessionType sessionType;
+
+ public OnServiceNACKed() {
+ super(InternalProxyMessage.OnServiceNACKed);
+ }
+
+ public OnServiceNACKed(SessionType sessionType) {
+ super(InternalProxyMessage.OnServiceNACKed);
+ this.sessionType = sessionType;
+ }
+
+ public SessionType getSessionType() {
+ return this.sessionType;
+ }
+
+}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java b/sdl_android_lib/src/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
index 2eb751abf..8be8d6f6b 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
@@ -1,6 +1,7 @@
package com.smartdevicelink.proxy.interfaces;
import com.smartdevicelink.proxy.callbacks.OnServiceEnded;
+import com.smartdevicelink.proxy.callbacks.OnServiceNACKed;
import com.smartdevicelink.proxy.rpc.AddCommandResponse;
import com.smartdevicelink.proxy.rpc.AddSubMenuResponse;
import com.smartdevicelink.proxy.rpc.AlertResponse;
@@ -76,7 +77,9 @@ public interface IProxyListenerBase {
*/
public void onProxyClosed(String info, Exception e, SdlDisconnectedReason reason);
- public void onServiceEnded(OnServiceEnded serviceEnded);
+ public void onServiceEnded(OnServiceEnded serviceEnded);
+
+ public void onServiceNACKed(OnServiceNACKed serviceNACKed);
/**
* onProxyError() being called indicates that the SDL Proxy experenced an error.