[IOT-1335] Add check connectivityType when cancelObserve.
authorJaehong Jo <jaehong.jo@samsung.com>
Tue, 20 Sep 2016 07:48:35 +0000 (16:48 +0900)
committerAshok Babu Channa <ashok.channa@samsung.com>
Wed, 28 Sep 2016 09:15:42 +0000 (09:15 +0000)
If adapter is IP and QoS is Low, delete observe list.

Change-Id: I232321d82ec2991da791587e0275c20fcc91c912
Signed-off-by: Jaehong Jo <jaehong.jo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/12037
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jaewook Jung <jw0213.jung@samsung.com>
Reviewed-by: Ashok Babu Channa <ashok.channa@samsung.com>
android/android_api/base/jni/JniOcResource.cpp

index a90446a17840612e0917fdd6ca881b79bef85b3f..44f1eb3c5789bc467e460f6ed5a87ea7dd6f8af5 100644 (file)
@@ -297,7 +297,9 @@ OCStackResult JniOcResource::observe(JNIEnv* env, ObserveType observeType,
 
 OCStackResult JniOcResource::cancelObserve(JNIEnv* env, QualityOfService qos)
 {
-    if (QualityOfService::HighQos != qos)
+    // In Low case, after delete the callback and send empty message when client receive the notify.
+    // But TCP does not support EMPTY message.
+    if ((CT_ADAPTER_IP & connectivityType()) && QualityOfService::HighQos != qos)
     {
         this->m_onObserveManager.removeAllListeners(env);
     }