// 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); }