Remove EnvWrapper template.

Bug: b/36863239
Test: instrumentation
Change-Id: I21e3d86942fba37f6e0d6608b73a8a6863d8b27a
This commit is contained in:
Tomasz Wasilczyk
2017-06-16 10:29:27 -07:00
parent c23243a0e1
commit cc0b479479
5 changed files with 14 additions and 43 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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.");

View File

@@ -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());

View File

@@ -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) {