diff --git a/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java b/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java index e606fd104b..0d5d4e4437 100644 --- a/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java +++ b/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java @@ -156,8 +156,10 @@ public final class RobolectricUtil { @Override public boolean enqueueMessage(Message msg, long when) { ShadowLooper looper = shadowOf(ShadowLooper.getLooperForThread(looperThread)); - if (looper instanceof CustomLooper) { + if (looper instanceof CustomLooper && looper != ShadowLooper.getShadowMainLooper()) { ((CustomLooper) looper).addPendingMessage(msg, when); + } else { + super.enqueueMessage(msg, when); } return true; } @@ -165,7 +167,7 @@ public final class RobolectricUtil { @Implementation public void removeMessages(Handler handler, int what, Object object) { ShadowLooper looper = shadowOf(ShadowLooper.getLooperForThread(looperThread)); - if (looper instanceof CustomLooper) { + if (looper instanceof CustomLooper && looper != ShadowLooper.getShadowMainLooper()) { ((CustomLooper) looper).removeMessages(handler, what, object); } }