Bug 1014338 - Pre: add ThreadUtils.assertNotOnUiThread. r=margaret

This commit is contained in:
Richard Newman 2014-05-22 17:34:04 -07:00
parent f3daf0be4d
commit 4a57534a4b

View File

@ -120,6 +120,10 @@ public final class ThreadUtils {
assertOnThread(getUiThread(), AssertBehavior.THROW);
}
public static void assertNotOnUiThread() {
assertNotOnThread(getUiThread(), AssertBehavior.THROW);
}
@RobocopTarget
public static void assertOnGeckoThread() {
assertOnThread(sGeckoThread, AssertBehavior.THROW);
@ -134,11 +138,19 @@ public final class ThreadUtils {
}
public static void assertOnThread(final Thread expectedThread, AssertBehavior behavior) {
assertOnThreadComparison(expectedThread, behavior, true);
}
public static void assertNotOnThread(final Thread expectedThread, AssertBehavior behavior) {
assertOnThreadComparison(expectedThread, behavior, false);
}
private static void assertOnThreadComparison(final Thread expectedThread, AssertBehavior behavior, boolean expected) {
final Thread currentThread = Thread.currentThread();
final long currentThreadId = currentThread.getId();
final long expectedThreadId = expectedThread.getId();
if (currentThreadId == expectedThreadId) {
if ((currentThreadId == expectedThreadId) == expected) {
return;
}