| Index: base/android/java_handler_thread.cc
|
| diff --git a/base/android/java_handler_thread.cc b/base/android/java_handler_thread.cc
|
| index 75270348e6ee15756daa12faf09303d53b5b903a..ed5cb95f21babe8da0c9e33e98d6f70d377960b5 100644
|
| --- a/base/android/java_handler_thread.cc
|
| +++ b/base/android/java_handler_thread.cc
|
| @@ -35,8 +35,7 @@ void JavaHandlerThread::Start() {
|
| base::WaitableEvent initialize_event(
|
| WaitableEvent::ResetPolicy::AUTOMATIC,
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| - Java_JavaHandlerThread_start(env,
|
| - java_thread_.obj(),
|
| + Java_JavaHandlerThread_start(env, java_thread_.obj(),
|
| reinterpret_cast<intptr_t>(this),
|
| reinterpret_cast<intptr_t>(&initialize_event));
|
| // Wait for thread to be initialized so it is ready to be used when Start
|
| @@ -63,17 +62,25 @@ void JavaHandlerThread::InitializeThread(JNIEnv* env,
|
| jlong event) {
|
| // TYPE_JAVA to get the Android java style message loop.
|
| message_loop_.reset(new base::MessageLoop(base::MessageLoop::TYPE_JAVA));
|
| - static_cast<MessageLoopForUI*>(message_loop_.get())->Start();
|
| + StartMessageLoop();
|
| reinterpret_cast<base::WaitableEvent*>(event)->Signal();
|
| }
|
|
|
| void JavaHandlerThread::StopThread(JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
| jlong event) {
|
| - static_cast<MessageLoopForUI*>(message_loop_.get())->QuitWhenIdle();
|
| + StopMessageLoop();
|
| reinterpret_cast<base::WaitableEvent*>(event)->Signal();
|
| }
|
|
|
| +void JavaHandlerThread::StartMessageLoop() {
|
| + static_cast<MessageLoopForUI*>(message_loop_.get())->Start();
|
| +}
|
| +
|
| +void JavaHandlerThread::StopMessageLoop() {
|
| + static_cast<MessageLoopForUI*>(message_loop_.get())->QuitWhenIdle();
|
| +}
|
| +
|
| // static
|
| bool JavaHandlerThread::RegisterBindings(JNIEnv* env) {
|
| return RegisterNativesImpl(env);
|
|
|