40 lines
1.1 KiB
Java
Executable File
40 lines
1.1 KiB
Java
Executable File
// Copyright 2013 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package org.chromium.base;
|
|
|
|
import android.os.Handler;
|
|
import android.os.HandlerThread;
|
|
|
|
/**
|
|
* This class is an internal detail of the native counterpart.
|
|
* It is instantiated and owned by the native object.
|
|
*/
|
|
@JNINamespace("base::android")
|
|
class JavaHandlerThread {
|
|
final HandlerThread mThread;
|
|
|
|
private JavaHandlerThread(String name) {
|
|
mThread = new HandlerThread(name);
|
|
}
|
|
|
|
@CalledByNative
|
|
private static JavaHandlerThread create(String name) {
|
|
return new JavaHandlerThread(name);
|
|
}
|
|
|
|
@CalledByNative
|
|
private void start(final long nativeThread, final long nativeEvent) {
|
|
mThread.start();
|
|
new Handler(mThread.getLooper()).post(new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
nativeInitializeThread(nativeThread, nativeEvent);
|
|
}
|
|
});
|
|
}
|
|
|
|
private native void nativeInitializeThread(long nativeJavaHandlerThread, long nativeEvent);
|
|
}
|