Remove EnvWrapper template.
Bug: b/36863239 Test: instrumentation Change-Id: I21e3d86942fba37f6e0d6608b73a8a6863d8b27a
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
@@ -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.");
|
||||
|
||||
@@ -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");
|
||||
@@ -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());
|
||||
|
||||
@@ -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()));
|
||||
@@ -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);
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user