зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1014338
- Pre: add ThreadUtils.assertNotOnUiThread. r=margaret
This commit is contained in:
Родитель
5cac017587
Коммит
df8f83dafb
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче