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 31aa23154d..dc7781fd90 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 @@ -61,9 +61,9 @@ public final class RobolectricUtil { @Implementation public static void loop() { - ShadowLooper looper = shadowOf(Looper.myLooper()); - if (looper instanceof CustomLooper) { - ((CustomLooper) looper).doLoop(); + Looper looper = Looper.myLooper(); + if (shadowOf(looper) instanceof CustomLooper) { + ((CustomLooper) shadowOf(looper)).doLoop(); } } @@ -161,9 +161,10 @@ public final class RobolectricUtil { @Implementation @Override public boolean enqueueMessage(Message msg, long when) { - ShadowLooper looper = shadowOf(ShadowLooper.getLooperForThread(looperThread)); - if (looper instanceof CustomLooper && looper != ShadowLooper.getShadowMainLooper()) { - ((CustomLooper) looper).addPendingMessage(msg, when); + Looper looper = ShadowLooper.getLooperForThread(looperThread); + if (shadowOf(looper) instanceof CustomLooper + && shadowOf(looper) != ShadowLooper.getShadowMainLooper()) { + ((CustomLooper) shadowOf(looper)).addPendingMessage(msg, when); } else { super.enqueueMessage(msg, when); } @@ -172,9 +173,10 @@ public final class RobolectricUtil { @Implementation public void removeMessages(Handler handler, int what, Object object) { - ShadowLooper looper = shadowOf(ShadowLooper.getLooperForThread(looperThread)); - if (looper instanceof CustomLooper && looper != ShadowLooper.getShadowMainLooper()) { - ((CustomLooper) looper).removeMessages(handler, what, object); + Looper looper = ShadowLooper.getLooperForThread(looperThread); + if (shadowOf(looper) instanceof CustomLooper + && shadowOf(looper) != ShadowLooper.getShadowMainLooper()) { + ((CustomLooper) shadowOf(looper)).removeMessages(handler, what, object); } } }