2012-03-09 16:27:29 +01:00
|
|
|
package org.apg;
|
2010-09-11 23:21:53 +00:00
|
|
|
|
|
|
|
|
public class PausableThread extends Thread {
|
|
|
|
|
private boolean mPaused = false;
|
|
|
|
|
|
|
|
|
|
public PausableThread(Runnable runnable) {
|
|
|
|
|
super(runnable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void pause() {
|
|
|
|
|
synchronized (this) {
|
|
|
|
|
mPaused = true;
|
|
|
|
|
while (mPaused) {
|
|
|
|
|
try {
|
|
|
|
|
wait();
|
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
|
// ignore
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void unpause() {
|
|
|
|
|
synchronized (this) {
|
2012-03-09 16:27:29 +01:00
|
|
|
mPaused = false;
|
|
|
|
|
notify();
|
2010-09-11 23:21:53 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean isPaused() {
|
|
|
|
|
synchronized (this) {
|
|
|
|
|
return mPaused;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|