diff options
Diffstat (limited to 'InCallUI/tests')
-rw-r--r-- | InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java | 11 | ||||
-rw-r--r-- | InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java | 7 |
2 files changed, 11 insertions, 7 deletions
diff --git a/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java b/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java index 839bb2e96..5717c9478 100644 --- a/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java +++ b/InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java @@ -30,12 +30,13 @@ public final class SingleProdThreadExecutor implements PausableExecutor { private int mMilestonesReached; private int mMilestonesAcked; + private boolean mHasAckedAllMilestones; @Override public synchronized void milestone() { ++mMilestonesReached; notify(); - while (mMilestonesReached > mMilestonesAcked) { + while (!mHasAckedAllMilestones && mMilestonesReached > mMilestonesAcked) { try { wait(); } catch (InterruptedException e) {} @@ -49,8 +50,14 @@ public final class SingleProdThreadExecutor implements PausableExecutor { } @Override + public synchronized void ackAllMilestonesForTesting() { + mHasAckedAllMilestones = true; + notify(); + } + + @Override public synchronized void awaitMilestoneForTesting() throws InterruptedException { - while (mMilestonesReached <= mMilestonesAcked) { + while (!mHasAckedAllMilestones && mMilestonesReached <= mMilestonesAcked) { wait(); } } diff --git a/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java b/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java index 096d21122..59611f701 100644 --- a/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java +++ b/InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java @@ -61,11 +61,8 @@ public class InCallTonePlayerTest extends AndroidTestCase { super.tearDown(); // Stop any playing so the InCallTonePlayer isn't stuck waiting for the tone to complete mInCallTonePlayer.stop(); - // 3 milestones in InCallTonePlayer, ack them to ensure that the prod thread doesn't block - // forever. It's fine to ack for more milestones than are hit - mExecutor.ackMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); - mExecutor.ackMilestoneForTesting(); + // Ack all milestones to ensure that the prod thread doesn't block forever + mExecutor.ackAllMilestonesForTesting(); } public void testIsPlayingTone_False() { |