summaryrefslogtreecommitdiff
path: root/InCallUI/tests
diff options
context:
space:
mode:
Diffstat (limited to 'InCallUI/tests')
-rw-r--r--InCallUI/tests/src/com/android/incallui/async/SingleProdThreadExecutor.java11
-rw-r--r--InCallUI/tests/src/com/android/incallui/ringtone/InCallTonePlayerTest.java7
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() {