summaryrefslogtreecommitdiffstats
path: root/jni/android_hardware_fm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'jni/android_hardware_fm.cpp')
-rw-r--r--jni/android_hardware_fm.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/jni/android_hardware_fm.cpp b/jni/android_hardware_fm.cpp
index 9e469ed..b5b0a5e 100644
--- a/jni/android_hardware_fm.cpp
+++ b/jni/android_hardware_fm.cpp
@@ -194,7 +194,16 @@ void fm_scan_next_cb()
void fm_srch_list_cb(uint16_t *scan_tbl)
{
ALOGI("SRCH_LIST");
- //mCallbackEnv->CallVoidMethod(javaObjectRef, method_srchListCallback);
+ jbyteArray srch_buffer = NULL;
+
+ srch_buffer = mCallbackEnv->NewByteArray(STD_BUF_SIZE);
+ if (srch_buffer == NULL) {
+ ALOGE(" af list allocate failed :");
+ return;
+ }
+ mCallbackEnv->SetByteArrayRegion(srch_buffer, 0, STD_BUF_SIZE, (jbyte *)scan_tbl);
+ mCallbackEnv->CallVoidMethod(mCallbacksObj, method_srchListCallback, srch_buffer);
+ mCallbackEnv->DeleteLocalRef(srch_buffer);
}
void fm_stereo_status_cb(bool stereo)
@@ -1519,7 +1528,7 @@ static void classInitNative(JNIEnv* env, jclass clazz) {
method_tuneCallback = env->GetMethodID(javaClassRef, "tuneCallback", "(I)V");
method_seekCmplCallback = env->GetMethodID(javaClassRef, "seekCmplCallback", "(I)V");
method_scanNxtCallback = env->GetMethodID(javaClassRef, "scanNxtCallback", "()V");
- //method_srchListCallback = env->GetMethodID(javaClassRef, "srchListCallback", "([B)V");
+ method_srchListCallback = env->GetMethodID(javaClassRef, "srchListCallback", "([B)V");
method_stereostsCallback = env->GetMethodID(javaClassRef, "stereostsCallback", "(Z)V");
method_rdsAvlStsCallback = env->GetMethodID(javaClassRef, "rdsAvlStsCallback", "(Z)V");
method_disableCallback = env->GetMethodID(javaClassRef, "disableCallback", "()V");