static void cleanupNative(JNIEnv *env, jobject object) { const bt_interface_t* btInf; if ( (btInf = getBluetoothInterface()) == NULL) { ALOGE("Bluetooth module is not loaded"); return; } if (sBluetoothAvrcpInterface !=NULL) { sBluetoothAvrcpInterface->cleanup(); sBluetoothAvrcpInterface = NULL; } if (mCallbacksObj != NULL) { env->DeleteGlobalRef(mCallbacksObj); mCallbacksObj = NULL; } }
static bool initNative(JNIEnv* env, jobject obj) { ALOGV("%s:",__FUNCTION__); if((qcBluetoothInterface=getBluetoothInterface())==NULL){ ALOGE("Bluetooth module is not loaded"); return JNI_FALSE; } if (qcBluetoothInterface) { qcJniCallbacksObj = env->NewGlobalRef(env->GetObjectField(obj, qcJniCallbacksField)); int ret = qcBluetoothInterface->initq(&sQBluetoothCallbacks); if (ret != BT_STATUS_SUCCESS) { ALOGE("Error while setting the callbacks \n"); qcBluetoothInterface = NULL; return JNI_FALSE; } return JNI_TRUE; } return JNI_FALSE; }
static void android_wipower_wipowerJNI_initNative (JNIEnv* env, jobject obj) { ALOGE("%s:",__FUNCTION__); const bt_interface_t* btInf; if ( (btInf = getBluetoothInterface()) == NULL) { ALOGE("Bluetooth module is not loaded"); return; } //Get WiPower Interface sWipowerInterface = (const wipower_interface_t*)btInf->get_profile_interface(WIPOWER_PROFILE_ID); ALOGE("%s: Get wipower interface: %x",__FUNCTION__, (unsigned int)sWipowerInterface); //Initialize wipower interface int ret = sWipowerInterface->init(&sWipowerCallbacks); if (ret != 0) ALOGE("wipower init failed"); sCallbacksObj = env->NewGlobalRef(obj); }
static void initializeNative(JNIEnv *env, jobject object) { const bt_interface_t* btInf; bt_status_t status; if ( (btInf = getBluetoothInterface()) == NULL) { ALOGE("Bluetooth module is not loaded"); return; } if (sBluetoothHidInterface !=NULL) { ALOGW("Cleaning up Bluetooth HID Interface before initializing..."); sBluetoothHidInterface->cleanup(); sBluetoothHidInterface = NULL; } if (mCallbacksObj != NULL) { ALOGW("Cleaning up Bluetooth GID callback object"); env->DeleteGlobalRef(mCallbacksObj); mCallbacksObj = NULL; } if ( (sBluetoothHidInterface = (bthh_interface_t *) btInf->get_profile_interface(BT_PROFILE_HIDHOST_ID)) == NULL) { ALOGE("Failed to get Bluetooth HID Interface"); return; } if ( (status = sBluetoothHidInterface->init(&sBluetoothHidCallbacks)) != BT_STATUS_SUCCESS) { ALOGE("Failed to initialize Bluetooth HID, status: %d", status); sBluetoothHidInterface = NULL; return; } mCallbacksObj = env->NewGlobalRef(object); }
static void cleanupNative(JNIEnv *env, jobject object) { const bt_interface_t* btInf; bt_status_t status; if ( (btInf = getBluetoothInterface()) == NULL) { ALOGE("Bluetooth module is not loaded"); return; } if (sBluetoothHidInterface !=NULL) { ALOGW("Cleaning up Bluetooth HID Interface..."); sBluetoothHidInterface->cleanup(); sBluetoothHidInterface = NULL; } if (mCallbacksObj != NULL) { ALOGW("Cleaning up Bluetooth GID callback object"); env->DeleteGlobalRef(mCallbacksObj); mCallbacksObj = NULL; } env->DeleteGlobalRef(mCallbacksObj); }