Loading services/core/jni/JavaRef.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -14,13 +14,9 @@ * limitations under the License. */ #define LOG_TAG "JavaRef" //#define LOG_NDEBUG 0 #include "JavaRef.h" #include <string> #include <utils/Log.h> namespace android { Loading @@ -28,8 +24,4 @@ JavaRef<jstring> make_javastr(JNIEnv *env, const std::string &str) { return make_javaref(env, env->NewStringUTF(str.c_str())); } EnvWrapper::EnvWrapper(JNIEnv *env) : mEnv(env) { ALOGE_IF(env == nullptr, "Environment is a nullptr"); } } // namespace android services/core/jni/JavaRef.h +0 −15 Original line number Diff line number Diff line Loading @@ -39,21 +39,6 @@ JavaRef<T> make_javaref(JNIEnv *env, T ref) { JavaRef<jstring> make_javastr(JNIEnv *env, const std::string &str); class EnvWrapper { public: EnvWrapper(JNIEnv *env); template <typename T> JavaRef<T> operator() (T ref) const { return make_javaref(mEnv, ref); } private: JNIEnv *mEnv; DISALLOW_COPY_AND_ASSIGN(EnvWrapper); }; } // namespace android #endif // _ANDROID_JAVA_REF_H services/core/jni/com_android_server_radio_RadioService.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -185,7 +185,6 @@ static jobject nativeOpenTuner(JNIEnv *env, jobject obj, long nativeContext, jin ALOGV("nativeOpenTuner()"); AutoMutex _l(gContextMutex); auto& ctx = getNativeContext(nativeContext); EnvWrapper wrap(env); if (callback == nullptr) { ALOGE("Callback is empty"); Loading @@ -210,7 +209,7 @@ static jobject nativeOpenTuner(JNIEnv *env, jobject obj, long nativeContext, jin Region region; BandConfig bandConfigHal = convert::BandConfigToHal(env, bandConfig, region); auto tuner = wrap(env->NewObject(gjni.Tuner.clazz, gjni.Tuner.cstor, auto tuner = make_javaref(env, env->NewObject(gjni.Tuner.clazz, gjni.Tuner.cstor, callback, halRev, region, withAudio)); if (tuner == nullptr) { ALOGE("Unable to create new tuner object."); Loading services/core/jni/com_android_server_radio_Tuner.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -258,7 +258,6 @@ static bool nativeStartBackgroundScan(JNIEnv *env, jobject obj, jlong nativeCont static jobject nativeGetProgramList(JNIEnv *env, jobject obj, jlong nativeContext, jstring jFilter) { ALOGV("nativeGetProgramList()"); EnvWrapper wrap(env); auto halTuner = getHalTuner11(nativeContext); if (halTuner == nullptr) { ALOGI("Program list is not supported with HAL < 1.1"); Loading @@ -273,7 +272,7 @@ static jobject nativeGetProgramList(JNIEnv *env, jobject obj, jlong nativeContex halResult = result; if (halResult != ProgramListResult::OK) return; jList = wrap(env->NewObject(gjni.ArrayList.clazz, gjni.ArrayList.cstor)); jList = make_javaref(env, env->NewObject(gjni.ArrayList.clazz, gjni.ArrayList.cstor)); for (auto& program : programList) { auto jProgram = convert::ProgramInfoFromHal(env, program); env->CallBooleanMethod(jList.get(), gjni.ArrayList.add, jProgram.get()); Loading services/core/jni/com_android_server_radio_convert.cpp +12 −16 Original line number Diff line number Diff line Loading @@ -156,12 +156,10 @@ bool __ThrowIfFailed(JNIEnv *env, const ProgramListResult halResult) { } void ThrowParcelableRuntimeException(JNIEnv *env, const std::string& msg) { EnvWrapper wrap(env); auto jMsg = wrap(env->NewStringUTF(msg.c_str())); auto runtimeExc = wrap(env->NewObject(gjni.RuntimeException.clazz, auto jMsg = make_javastr(env, msg); auto runtimeExc = make_javaref(env, env->NewObject(gjni.RuntimeException.clazz, gjni.RuntimeException.cstor, jMsg.get())); auto parcelableExc = wrap(env->NewObject(gjni.ParcelableException.clazz, auto parcelableExc = make_javaref(env, env->NewObject(gjni.ParcelableException.clazz, gjni.ParcelableException.cstor, runtimeExc.get())); auto res = env->Throw(static_cast<jthrowable>(parcelableExc.get())); Loading Loading @@ -334,11 +332,10 @@ Direction DirectionToHal(bool directionDown) { JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &metadata) { ALOGV("MetadataFromHal()"); EnvWrapper wrap(env); if (metadata.size() == 0) return nullptr; auto jMetadata = wrap(env->NewObject(gjni.RadioMetadata.clazz, gjni.RadioMetadata.cstor)); auto jMetadata = make_javaref(env, env->NewObject( gjni.RadioMetadata.clazz, gjni.RadioMetadata.cstor)); for (auto& item : metadata) { jint key = static_cast<jint>(item.key); Loading @@ -351,7 +348,7 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me break; case MetadataType::TEXT: { ALOGV("metadata TEXT %d", key); auto value = wrap(env->NewStringUTF(item.stringValue.c_str())); auto value = make_javastr(env, item.stringValue); status = env->CallIntMethod(jMetadata.get(), gjni.RadioMetadata.putStringFromNative, key, value.get()); break; Loading @@ -360,7 +357,7 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me ALOGV("metadata RAW %d", key); auto len = item.rawValue.size(); if (len == 0) break; auto value = wrap(env->NewByteArray(len)); auto value = make_javaref(env, env->NewByteArray(len)); if (value == nullptr) { ALOGE("Failed to allocate byte array of len %zu", len); break; Loading Loading @@ -389,15 +386,14 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me static JavaRef<jobject> ProgramInfoFromHal(JNIEnv *env, const V1_0::ProgramInfo &info10, const V1_1::ProgramInfo *info11) { ALOGV("ProgramInfoFromHal()"); EnvWrapper wrap(env); auto jMetadata = MetadataFromHal(env, info10.metadata); auto jVendorExtension = info11 ? wrap(env->NewStringUTF(info11->vendorExension.c_str())) : nullptr; auto jVendorExtension = info11 ? make_javastr(env, info11->vendorExension) : nullptr; return wrap(env->NewObject(gjni.ProgramInfo.clazz, gjni.ProgramInfo.cstor, info10.channel, info10.subChannel, info10.tuned, info10.stereo, info10.digital, info10.signalStrength, jMetadata.get(), info11 ? info11->flags : 0, jVendorExtension.get())); return make_javaref(env, env->NewObject(gjni.ProgramInfo.clazz, gjni.ProgramInfo.cstor, info10.channel, info10.subChannel, info10.tuned, info10.stereo, info10.digital, info10.signalStrength, jMetadata.get(), info11 ? info11->flags : 0, jVendorExtension.get())); } JavaRef<jobject> ProgramInfoFromHal(JNIEnv *env, const V1_0::ProgramInfo &info) { Loading Loading
services/core/jni/JavaRef.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -14,13 +14,9 @@ * limitations under the License. */ #define LOG_TAG "JavaRef" //#define LOG_NDEBUG 0 #include "JavaRef.h" #include <string> #include <utils/Log.h> namespace android { Loading @@ -28,8 +24,4 @@ JavaRef<jstring> make_javastr(JNIEnv *env, const std::string &str) { return make_javaref(env, env->NewStringUTF(str.c_str())); } EnvWrapper::EnvWrapper(JNIEnv *env) : mEnv(env) { ALOGE_IF(env == nullptr, "Environment is a nullptr"); } } // namespace android
services/core/jni/JavaRef.h +0 −15 Original line number Diff line number Diff line Loading @@ -39,21 +39,6 @@ JavaRef<T> make_javaref(JNIEnv *env, T ref) { JavaRef<jstring> make_javastr(JNIEnv *env, const std::string &str); class EnvWrapper { public: EnvWrapper(JNIEnv *env); template <typename T> JavaRef<T> operator() (T ref) const { return make_javaref(mEnv, ref); } private: JNIEnv *mEnv; DISALLOW_COPY_AND_ASSIGN(EnvWrapper); }; } // namespace android #endif // _ANDROID_JAVA_REF_H
services/core/jni/com_android_server_radio_RadioService.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -185,7 +185,6 @@ static jobject nativeOpenTuner(JNIEnv *env, jobject obj, long nativeContext, jin ALOGV("nativeOpenTuner()"); AutoMutex _l(gContextMutex); auto& ctx = getNativeContext(nativeContext); EnvWrapper wrap(env); if (callback == nullptr) { ALOGE("Callback is empty"); Loading @@ -210,7 +209,7 @@ static jobject nativeOpenTuner(JNIEnv *env, jobject obj, long nativeContext, jin Region region; BandConfig bandConfigHal = convert::BandConfigToHal(env, bandConfig, region); auto tuner = wrap(env->NewObject(gjni.Tuner.clazz, gjni.Tuner.cstor, auto tuner = make_javaref(env, env->NewObject(gjni.Tuner.clazz, gjni.Tuner.cstor, callback, halRev, region, withAudio)); if (tuner == nullptr) { ALOGE("Unable to create new tuner object."); Loading
services/core/jni/com_android_server_radio_Tuner.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -258,7 +258,6 @@ static bool nativeStartBackgroundScan(JNIEnv *env, jobject obj, jlong nativeCont static jobject nativeGetProgramList(JNIEnv *env, jobject obj, jlong nativeContext, jstring jFilter) { ALOGV("nativeGetProgramList()"); EnvWrapper wrap(env); auto halTuner = getHalTuner11(nativeContext); if (halTuner == nullptr) { ALOGI("Program list is not supported with HAL < 1.1"); Loading @@ -273,7 +272,7 @@ static jobject nativeGetProgramList(JNIEnv *env, jobject obj, jlong nativeContex halResult = result; if (halResult != ProgramListResult::OK) return; jList = wrap(env->NewObject(gjni.ArrayList.clazz, gjni.ArrayList.cstor)); jList = make_javaref(env, env->NewObject(gjni.ArrayList.clazz, gjni.ArrayList.cstor)); for (auto& program : programList) { auto jProgram = convert::ProgramInfoFromHal(env, program); env->CallBooleanMethod(jList.get(), gjni.ArrayList.add, jProgram.get()); Loading
services/core/jni/com_android_server_radio_convert.cpp +12 −16 Original line number Diff line number Diff line Loading @@ -156,12 +156,10 @@ bool __ThrowIfFailed(JNIEnv *env, const ProgramListResult halResult) { } void ThrowParcelableRuntimeException(JNIEnv *env, const std::string& msg) { EnvWrapper wrap(env); auto jMsg = wrap(env->NewStringUTF(msg.c_str())); auto runtimeExc = wrap(env->NewObject(gjni.RuntimeException.clazz, auto jMsg = make_javastr(env, msg); auto runtimeExc = make_javaref(env, env->NewObject(gjni.RuntimeException.clazz, gjni.RuntimeException.cstor, jMsg.get())); auto parcelableExc = wrap(env->NewObject(gjni.ParcelableException.clazz, auto parcelableExc = make_javaref(env, env->NewObject(gjni.ParcelableException.clazz, gjni.ParcelableException.cstor, runtimeExc.get())); auto res = env->Throw(static_cast<jthrowable>(parcelableExc.get())); Loading Loading @@ -334,11 +332,10 @@ Direction DirectionToHal(bool directionDown) { JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &metadata) { ALOGV("MetadataFromHal()"); EnvWrapper wrap(env); if (metadata.size() == 0) return nullptr; auto jMetadata = wrap(env->NewObject(gjni.RadioMetadata.clazz, gjni.RadioMetadata.cstor)); auto jMetadata = make_javaref(env, env->NewObject( gjni.RadioMetadata.clazz, gjni.RadioMetadata.cstor)); for (auto& item : metadata) { jint key = static_cast<jint>(item.key); Loading @@ -351,7 +348,7 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me break; case MetadataType::TEXT: { ALOGV("metadata TEXT %d", key); auto value = wrap(env->NewStringUTF(item.stringValue.c_str())); auto value = make_javastr(env, item.stringValue); status = env->CallIntMethod(jMetadata.get(), gjni.RadioMetadata.putStringFromNative, key, value.get()); break; Loading @@ -360,7 +357,7 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me ALOGV("metadata RAW %d", key); auto len = item.rawValue.size(); if (len == 0) break; auto value = wrap(env->NewByteArray(len)); auto value = make_javaref(env, env->NewByteArray(len)); if (value == nullptr) { ALOGE("Failed to allocate byte array of len %zu", len); break; Loading Loading @@ -389,15 +386,14 @@ JavaRef<jobject> MetadataFromHal(JNIEnv *env, const hidl_vec<V1_0::MetaData> &me static JavaRef<jobject> ProgramInfoFromHal(JNIEnv *env, const V1_0::ProgramInfo &info10, const V1_1::ProgramInfo *info11) { ALOGV("ProgramInfoFromHal()"); EnvWrapper wrap(env); auto jMetadata = MetadataFromHal(env, info10.metadata); auto jVendorExtension = info11 ? wrap(env->NewStringUTF(info11->vendorExension.c_str())) : nullptr; auto jVendorExtension = info11 ? make_javastr(env, info11->vendorExension) : nullptr; return wrap(env->NewObject(gjni.ProgramInfo.clazz, gjni.ProgramInfo.cstor, info10.channel, info10.subChannel, info10.tuned, info10.stereo, info10.digital, info10.signalStrength, jMetadata.get(), info11 ? info11->flags : 0, jVendorExtension.get())); return make_javaref(env, env->NewObject(gjni.ProgramInfo.clazz, gjni.ProgramInfo.cstor, info10.channel, info10.subChannel, info10.tuned, info10.stereo, info10.digital, info10.signalStrength, jMetadata.get(), info11 ? info11->flags : 0, jVendorExtension.get())); } JavaRef<jobject> ProgramInfoFromHal(JNIEnv *env, const V1_0::ProgramInfo &info) { Loading