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

This commit is contained in:
Richard Newman 2014-05-22 17:34:04 -07:00
Родитель 5cac017587
Коммит df8f83dafb
1 изменённых файлов: 13 добавлений и 1 удалений

Просмотреть файл

@ -120,6 +120,10 @@ public final class ThreadUtils {
assertOnThread(getUiThread(), AssertBehavior.THROW); assertOnThread(getUiThread(), AssertBehavior.THROW);
} }
public static void assertNotOnUiThread() {
assertNotOnThread(getUiThread(), AssertBehavior.THROW);
}
@RobocopTarget @RobocopTarget
public static void assertOnGeckoThread() { public static void assertOnGeckoThread() {
assertOnThread(sGeckoThread, AssertBehavior.THROW); assertOnThread(sGeckoThread, AssertBehavior.THROW);
@ -134,11 +138,19 @@ public final class ThreadUtils {
} }
public static void assertOnThread(final Thread expectedThread, AssertBehavior behavior) { 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 Thread currentThread = Thread.currentThread();
final long currentThreadId = currentThread.getId(); final long currentThreadId = currentThread.getId();
final long expectedThreadId = expectedThread.getId(); final long expectedThreadId = expectedThread.getId();
if (currentThreadId == expectedThreadId) { if ((currentThreadId == expectedThreadId) == expected) {
return; return;
} }