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 9643a6325c3cdf6f5186398dff9a589a12fb0e5d..3153a9bdd97f898355c78605ce2eb712ce8e6dcc 100644 |
--- a/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
+++ b/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
@@ -4,6 +4,8 @@ |
package org.chromium.base; |
+import android.annotation.TargetApi; |
+import android.os.Build; |
import android.os.Handler; |
import android.os.HandlerThread; |
@@ -35,15 +37,18 @@ class JavaHandlerThread { |
}); |
} |
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) |
@CalledByNative |
private void stop(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() { |
nativeStopThread(nativeThread, nativeEvent); |
+ if (!quitSafely) mThread.quit(); |
} |
}); |
- mThread.quitSafely(); |
+ if (quitSafely) mThread.quitSafely(); |
} |
private native void nativeInitializeThread(long nativeJavaHandlerThread, long nativeEvent); |