Index: base/android/java/src/org/chromium/base/JavaHandlerThread.java |
diff --git a/base/android/java/src/org/chromium/base/JavaHandlerThread.java b/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
index cd057282b88513b4cc48d3d70b16978b9ac58849..43ef6fbe03f69d4e2e0a0d00ebfacb8e1bb1540e 100644 |
--- a/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
+++ b/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
@@ -40,6 +40,18 @@ class JavaHandlerThread { |
}); |
} |
+ @CalledByNative |
+ private void startForTesting( |
+ final long nativeThread, final long nativeEvent, final long nativeTestDoneEvent) { |
+ mThread.start(); |
+ new Handler(mThread.getLooper()).post(new Runnable() { |
+ @Override |
+ public void run() { |
+ nativeInitializeThreadForTesting(nativeThread, nativeEvent, nativeTestDoneEvent); |
+ } |
+ }); |
+ } |
+ |
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) |
@CalledByNative |
private void stop(final long nativeThread, final long nativeEvent) { |
@@ -54,6 +66,23 @@ class JavaHandlerThread { |
if (quitSafely) mThread.quitSafely(); |
} |
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) |
+ @CalledByNative |
+ private void stopForTesting(final long nativeThread, final long nativeEvent) { |
+ final boolean quitSafely = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2; |
+ new Handler(mThread.getLooper()).post(new Runnable() { |
+ @Override |
+ public void run() { |
+ nativeStopThreadForTesting(nativeThread, nativeEvent); |
+ if (!quitSafely) mThread.quit(); |
+ } |
+ }); |
+ if (quitSafely) mThread.quitSafely(); |
+ } |
+ |
private native void nativeInitializeThread(long nativeJavaHandlerThread, long nativeEvent); |
+ private native void nativeInitializeThreadForTesting( |
+ long nativeJavaHandlerThread, long nativeEvent, long nativeTestDoneEvent); |
private native void nativeStopThread(long nativeJavaHandlerThread, long nativeEvent); |
+ private native void nativeStopThreadForTesting(long nativeJavaHandlerThread, long nativeEvent); |
} |