Revert of https://codereview.webrtc.org/2889183002/
And also revert https://codereview.webrtc.org/2888093005/ (Chromium roll) which has a dependency on 2889183002
BUG=webrtc:7707
Review-Url: https://codereview.webrtc.org/2897423002
Cr-Commit-Position: refs/heads/master@{#18263}
diff --git a/webrtc/modules/utility/source/jvm_android.cc b/webrtc/modules/utility/source/jvm_android.cc
index 2228d3a..9d08688 100644
--- a/webrtc/modules/utility/source/jvm_android.cc
+++ b/webrtc/modules/utility/source/jvm_android.cc
@@ -217,10 +217,10 @@
}
// static
-void JVM::Initialize(JavaVM* jvm) {
+void JVM::Initialize(JavaVM* jvm, jobject context) {
ALOGD("JVM::Initialize%s", GetThreadInfo().c_str());
RTC_CHECK(!g_jvm);
- g_jvm = new JVM(jvm);
+ g_jvm = new JVM(jvm, context);
}
// static
@@ -237,9 +237,11 @@
return g_jvm;
}
-JVM::JVM(JavaVM* jvm) : jvm_(jvm) {
+JVM::JVM(JavaVM* jvm, jobject context)
+ : jvm_(jvm) {
ALOGD("JVM::JVM%s", GetThreadInfo().c_str());
RTC_CHECK(jni()) << "AttachCurrentThread() must be called on this thread.";
+ context_ = NewGlobalRef(jni(), context);
LoadClasses(jni());
}
@@ -247,6 +249,7 @@
ALOGD("JVM::~JVM%s", GetThreadInfo().c_str());
RTC_DCHECK(thread_checker_.CalledOnValidThread());
FreeClassReferences(jni());
+ DeleteGlobalRef(jni(), context_);
}
std::unique_ptr<JNIEnvironment> JVM::environment() {