Lines Matching defs:env

140 static sp<Radio> getRadio(JNIEnv* env, jobject thiz)
143 Radio* const radio = (Radio*)env->GetLongField(thiz, gModuleFields.mNativeContext);
147 static sp<Radio> setRadio(JNIEnv* env, jobject thiz, const sp<Radio>& module)
150 sp<Radio> old = (Radio*)env->GetLongField(thiz, gModuleFields.mNativeContext);
157 env->SetLongField(thiz, gModuleFields.mNativeContext, (jlong)module.get());
161 static jint convertBandDescriptorFromNative(JNIEnv *env,
169 *jBandDescriptor = env->NewObject(gRadioFmBandDescriptorClass, gRadioFmBandDescriptorCstor,
179 *jBandDescriptor = env->NewObject(gRadioAmBandDescriptorClass, gRadioAmBandDescriptorCstor,
196 static jint convertBandConfigFromNative(JNIEnv *env,
204 *jBandConfig = env->NewObject(gRadioFmBandConfigClass, gRadioFmBandConfigCstor,
214 *jBandConfig = env->NewObject(gRadioAmBandConfigClass, gRadioAmBandConfigCstor,
231 static jint convertMetadataFromNative(JNIEnv *env,
240 *jMetadata = env->NewObject(gRadioMetadataClass, gRadioMetadataCstor);
255 jStatus = env->CallIntMethod(*jMetadata,
264 jstring jText = env->NewStringUTF((char *)value);
265 jStatus = env->CallIntMethod(*jMetadata,
271 env->DeleteLocalRef(jText);
278 jbyteArray jData = env->NewByteArray(size);
282 env->SetByteArrayRegion(jData, 0, size, (jbyte *)value);
283 jStatus = env->CallIntMethod(*jMetadata,
289 env->DeleteLocalRef(jData);
295 env->CallIntMethod(*jMetadata,
308 static jint convertProgramInfoFromNative(JNIEnv *env,
317 jStatus = convertMetadataFromNative(env, &jMetadata, nProgramInfo->metadata);
325 *jProgramInfo = env->NewObject(gRadioProgramInfoClass, gRadioProgramInfoCstor,
331 env->DeleteLocalRef(jMetadata);
336 static jint convertBandConfigToNative(JNIEnv *env,
342 jobject jDescriptor = env->GetObjectField(jBandConfig, gRadioBandConfigFields.mDescriptor);
349 (radio_region_t)env->GetIntField(jDescriptor, gRadioBandDescriptorFields.mRegion);
351 (radio_band_t)env->GetIntField(jDescriptor, gRadioBandDescriptorFields.mType);
353 env->GetIntField(jDescriptor, gRadioBandDescriptorFields.mLowerLimit);
355 env->GetIntField(jDescriptor, gRadioBandDescriptorFields.mUpperLimit);
358 env->GetIntField(jDescriptor, gRadioBandDescriptorFields.mSpacing);
360 if (env->IsInstanceOf(jBandConfig, gRadioFmBandConfigClass)) {
363 env->GetBooleanField(jBandConfig, gRadioFmBandConfigFields.mStereo);
365 radio_rds_for_region(env->GetBooleanField(jBandConfig,
368 nBandconfig->band.fm.ta = env->GetBooleanField(jBandConfig, gRadioFmBandConfigFields.mTa);
369 nBandconfig->band.fm.af = env->GetBooleanField(jBandConfig, gRadioFmBandConfigFields.mAf);
370 nBandconfig->band.fm.ea = env->GetBooleanField(jBandConfig, gRadioFmBandConfigFields.mEa);
371 } else if (env->IsInstanceOf(jBandConfig, gRadioAmBandConfigClass)) {
373 env->GetBooleanField(jBandConfig, gRadioAmBandConfigFields.mStereo);
382 android_hardware_Radio_listModules(JNIEnv *env, jobject clazz,
391 if (!env->IsInstanceOf(jModules, gArrayListClass)) {
422 jobjectArray jBands = env->NewObjectArray(nModules[i].num_bands,
428 convertBandDescriptorFromNative(env, &jBandDescriptor, &nModules[i].bands[j]);
432 env->SetObjectArrayElement(jBands, j, jBandDescriptor);
433 env->DeleteLocalRef(jBandDescriptor);
436 if (env->GetArrayLength(jBands) == 0) {
439 jstring jImplementor = env->NewStringUTF(nModules[i].implementor);
440 jstring jProduct = env->NewStringUTF(nModules[i].product);
441 jstring jVersion = env->NewStringUTF(nModules[i].version);
442 jstring jSerial = env->NewStringUTF(nModules[i].serial);
443 jobject jModule = env->NewObject(gModulePropertiesClass, gModulePropertiesCstor,
451 env->DeleteLocalRef(jImplementor);
452 env->DeleteLocalRef(jProduct);
453 env->DeleteLocalRef(jVersion);
454 env->DeleteLocalRef(jSerial);
455 env->DeleteLocalRef(jBands);
459 env->CallBooleanMethod(jModules, gArrayListMethods.add, jModule);
471 JNIRadioCallback(JNIEnv* env, jobject thiz, jobject weak_thiz);
481 JNIRadioCallback::JNIRadioCallback(JNIEnv* env, jobject thiz, jobject weak_thiz)
486 jclass clazz = env->GetObjectClass(thiz);
491 mClass = (jclass)env->NewGlobalRef(clazz);
495 mObject = env->NewGlobalRef(weak_thiz);
501 JNIEnv *env = AndroidRuntime::getJNIEnv();
502 if (env == NULL) {
505 env->DeleteGlobalRef(mObject);
506 env->DeleteGlobalRef(mClass);
511 JNIEnv *env = AndroidRuntime::getJNIEnv();
512 if (env == NULL) {
523 jStatus = convertBandConfigFromNative(env, &jObj, &event->config);
528 jStatus = convertProgramInfoFromNative(env, &jObj, &event->info);
531 jStatus = convertMetadataFromNative(env, &jObj, event->metadata);
547 env->CallStaticVoidMethod(mClass, gPostEventFromNative, mObject,
550 env->DeleteLocalRef(jObj);
551 if (env->ExceptionCheck()) {
553 env->ExceptionClear();
560 android_hardware_Radio_setup(JNIEnv *env, jobject thiz,
565 setRadio(env, thiz, 0);
567 sp<JNIRadioCallback> callback = new JNIRadioCallback(env, thiz, weak_this);
569 radio_handle_t handle = (radio_handle_t)env->GetIntField(thiz, gModuleFields.mId);
574 jint jStatus = convertBandConfigToNative(env, &nConfig, jConfig);
585 setRadio(env, thiz, module);
589 android_hardware_Radio_close(JNIEnv *env, jobject thiz)
592 sp<Radio> module = setRadio(env, thiz, 0);
601 android_hardware_Radio_finalize(JNIEnv *env, jobject thiz)
604 sp<Radio> module = getRadio(env, thiz);
608 android_hardware_Radio_close(env, thiz);
612 android_hardware_Radio_setConfiguration(JNIEnv *env, jobject thiz, jobject jConfig)
615 sp<Radio> module = getRadio(env, thiz);
620 if (!env->IsInstanceOf(jConfig, gRadioFmBandConfigClass) &&
621 !env->IsInstanceOf(jConfig, gRadioAmBandConfigClass)) {
626 jint jStatus = convertBandConfigToNative(env, &nConfig, jConfig);
636 android_hardware_Radio_getConfiguration(JNIEnv *env, jobject thiz, jobjectArray jConfigs)
639 sp<Radio> module = getRadio(env, thiz);
643 if (env->GetArrayLength(jConfigs) != 1) {
654 int jStatus = convertBandConfigFromNative(env, &jConfig, &nConfig);
658 env->SetObjectArrayElement(jConfigs, 0, jConfig);
659 env->DeleteLocalRef(jConfig);
664 android_hardware_Radio_setMute(JNIEnv *env, jobject thiz, jboolean mute)
667 sp<Radio> module = getRadio(env, thiz);
676 android_hardware_Radio_getMute(JNIEnv *env, jobject thiz)
679 sp<Radio> module = getRadio(env, thiz);
692 android_hardware_Radio_step(JNIEnv *env, jobject thiz, jint direction, jboolean skipSubChannel)
695 sp<Radio> module = getRadio(env, thiz);
704 android_hardware_Radio_scan(JNIEnv *env, jobject thiz, jint direction, jboolean skipSubChannel)
707 sp<Radio> module = getRadio(env, thiz);
716 android_hardware_Radio_tune(JNIEnv *env, jobject thiz, jint channel, jint subChannel)
719 sp<Radio> module = getRadio(env, thiz);
728 android_hardware_Radio_cancel(JNIEnv *env, jobject thiz)
731 sp<Radio> module = getRadio(env, thiz);
740 android_hardware_Radio_getProgramInformation(JNIEnv *env, jobject thiz, jobjectArray jInfos)
743 sp<Radio> module = getRadio(env, thiz);
747 if (env->GetArrayLength(jInfos) != 1) {
760 jStatus = convertProgramInfoFromNative(env, &jInfo, &nInfo);
764 env->SetObjectArrayElement(jInfos, 0, jInfo);
768 env->DeleteLocalRef(jInfo);
775 android_hardware_Radio_isAntennaConnected(JNIEnv *env, jobject thiz)
778 sp<Radio> module = getRadio(env, thiz);
795 android_hardware_Radio_hasControl(JNIEnv *env, jobject thiz)
798 sp<Radio> module = getRadio(env, thiz);
864 int register_android_hardware_Radio(JNIEnv *env)
866 jclass arrayListClass = FindClassOrDie(env, "java/util/ArrayList");
867 gArrayListClass = MakeGlobalRefOrDie(env, arrayListClass);
868 gArrayListMethods.add = GetMethodIDOrDie(env, arrayListClass, "add", "(Ljava/lang/Object;)Z");
870 jclass lClass = FindClassOrDie(env, kRadioManagerClassPathName);
871 gRadioManagerClass = MakeGlobalRefOrDie(env, lClass);
873 jclass moduleClass = FindClassOrDie(env, kRadioModuleClassPathName);
874 gRadioModuleClass = MakeGlobalRefOrDie(env, moduleClass);
875 gPostEventFromNative = GetStaticMethodIDOrDie(env, moduleClass, "postEventFromNative",
877 gModuleFields.mNativeContext = GetFieldIDOrDie(env, moduleClass, "mNativeContext", "J");
878 gModuleFields.mId = GetFieldIDOrDie(env, moduleClass, "mId", "I");
880 jclass modulePropertiesClass = FindClassOrDie(env, kModulePropertiesClassPathName);
881 gModulePropertiesClass = MakeGlobalRefOrDie(env, modulePropertiesClass);
882 gModulePropertiesCstor = GetMethodIDOrDie(env, modulePropertiesClass, "<init>",
885 jclass bandDescriptorClass = FindClassOrDie(env, kRadioBandDescriptorClassPathName);
886 gRadioBandDescriptorClass = MakeGlobalRefOrDie(env, bandDescriptorClass);
887 gRadioBandDescriptorFields.mRegion = GetFieldIDOrDie(env, bandDescriptorClass, "mRegion", "I");
888 gRadioBandDescriptorFields.mType = GetFieldIDOrDie(env, bandDescriptorClass, "mType", "I");
890 GetFieldIDOrDie(env, bandDescriptorClass, "mLowerLimit", "I");
892 GetFieldIDOrDie(env, bandDescriptorClass, "mUpperLimit", "I");
894 GetFieldIDOrDie(env, bandDescriptorClass, "mSpacing", "I");
896 jclass fmBandDescriptorClass = FindClassOrDie(env, kRadioFmBandDescriptorClassPathName);
897 gRadioFmBandDescriptorClass = MakeGlobalRefOrDie(env, fmBandDescriptorClass);
898 gRadioFmBandDescriptorCstor = GetMethodIDOrDie(env, fmBandDescriptorClass, "<init>",
901 jclass amBandDescriptorClass = FindClassOrDie(env, kRadioAmBandDescriptorClassPathName);
902 gRadioAmBandDescriptorClass = MakeGlobalRefOrDie(env, amBandDescriptorClass);
903 gRadioAmBandDescriptorCstor = GetMethodIDOrDie(env, amBandDescriptorClass, "<init>",
906 jclass bandConfigClass = FindClassOrDie(env, kRadioBandConfigClassPathName);
907 gRadioBandConfigClass = MakeGlobalRefOrDie(env, bandConfigClass);
909 GetFieldIDOrDie(env, bandConfigClass, "mDescriptor",
912 jclass fmBandConfigClass = FindClassOrDie(env, kRadioFmBandConfigClassPathName);
913 gRadioFmBandConfigClass = MakeGlobalRefOrDie(env, fmBandConfigClass);
914 gRadioFmBandConfigCstor = GetMethodIDOrDie(env, fmBandConfigClass, "<init>",
916 gRadioFmBandConfigFields.mStereo = GetFieldIDOrDie(env, fmBandConfigClass, "mStereo", "Z");
917 gRadioFmBandConfigFields.mRds = GetFieldIDOrDie(env, fmBandConfigClass, "mRds", "Z");
918 gRadioFmBandConfigFields.mTa = GetFieldIDOrDie(env, fmBandConfigClass, "mTa", "Z");
919 gRadioFmBandConfigFields.mAf = GetFieldIDOrDie(env, fmBandConfigClass, "mAf", "Z");
921 GetFieldIDOrDie(env, fmBandConfigClass, "mEa", "Z");
924 jclass amBandConfigClass = FindClassOrDie(env, kRadioAmBandConfigClassPathName);
925 gRadioAmBandConfigClass = MakeGlobalRefOrDie(env, amBandConfigClass);
926 gRadioAmBandConfigCstor = GetMethodIDOrDie(env, amBandConfigClass, "<init>",
928 gRadioAmBandConfigFields.mStereo = GetFieldIDOrDie(env, amBandConfigClass, "mStereo", "Z");
930 jclass programInfoClass = FindClassOrDie(env, kRadioProgramInfoClassPathName);
931 gRadioProgramInfoClass = MakeGlobalRefOrDie(env, programInfoClass);
932 gRadioProgramInfoCstor = GetMethodIDOrDie(env, programInfoClass, "<init>",
935 jclass metadataClass = FindClassOrDie(env, kRadioMetadataClassPathName);
936 gRadioMetadataClass = MakeGlobalRefOrDie(env, metadataClass);
937 gRadioMetadataCstor = GetMethodIDOrDie(env, metadataClass, "<init>", "()V");
938 gRadioMetadataMethods.putIntFromNative = GetMethodIDOrDie(env, metadataClass,
941 gRadioMetadataMethods.putStringFromNative = GetMethodIDOrDie(env, metadataClass,
944 gRadioMetadataMethods.putBitmapFromNative = GetMethodIDOrDie(env, metadataClass,
947 gRadioMetadataMethods.putClockFromNative = GetMethodIDOrDie(env, metadataClass,
952 RegisterMethodsOrDie(env, kRadioManagerClassPathName, gMethods, NELEM(gMethods));
954 int ret = RegisterMethodsOrDie(env, kRadioModuleClassPathName, gModuleMethods, NELEM(gModuleMethods));