- jint length = (*env)->CallIntMethod(env, g_inputStream, jni_mid_read, jbuf, (jint) 0,
- MAX_PDU_BUFFER);
- ca_mutex_unlock(g_mutexInputStream);
+ jint available = (*env)->CallIntMethod(env, jni_obj_inputStream, jni_mid_available);
+
+ jbyteArray jbuf = NULL;
+ jint length = -1;
+ if (0 < available)
+ {
+ OIC_LOG_V(DEBUG, TAG, "[EDR][Native] btReadData: get InputStream..%d, %s", id, address);
+ jmethodID jni_mid_read = (*env)->GetMethodID(env, jni_cid_InputStream,
+ "read", "([BII)I");
+ if (!jni_mid_read) {
+ (*env)->DeleteLocalRef(env, jni_obj_inputStream);
+ (*env)->DeleteLocalRef(env, jni_cid_InputStream);
+ (*env)->DeleteLocalRef(env, jni_cid_BTsocket);
+ (*env)->DeleteLocalRef(env, jni_str_address);
+
+ OIC_LOG(ERROR, TAG, "[EDR][Native] btReadData: jni_mid_read is null");
+ return CA_STATUS_FAILED;
+ }