}
if (DEBUG) Log.v(TAG, "scheduleNotification " + type + " in " + delayUs);
- mStopped = type == NOTIFY_STOP;
- mSeeking = type == NOTIFY_SEEK;
mEventHandler.removeMessages(NOTIFY);
Message msg = mEventHandler.obtainMessage(NOTIFY, type, 0);
mEventHandler.sendMessageDelayed(msg, (int) (delayUs / 1000));
synchronized(this) {
if (DEBUG) Log.d(TAG, "onPaused: " + paused);
if (mStopped) { // handle as seek if we were stopped
+ mStopped = false;
+ mSeeking = true;
scheduleNotification(NOTIFY_SEEK, 0 /* delay */);
} else {
mPausing = paused; // special handling if player disappeared
+ mSeeking = false;
scheduleNotification(REFRESH_AND_NOTIFY_TIME, 0 /* delay */);
}
}
synchronized(this) {
if (DEBUG) Log.d(TAG, "onStopped");
mPaused = true;
+ mStopped = true;
+ mSeeking = false;
scheduleNotification(NOTIFY_STOP, 0 /* delay */);
}
}
@Override
public void onSeekComplete(MediaPlayer mp) {
synchronized(this) {
+ mStopped = false;
+ mSeeking = true;
scheduleNotification(NOTIFY_SEEK, 0 /* delay */);
}
}
public void onNewPlayer() {
if (mRefresh) {
synchronized(this) {
+ mStopped = false;
+ mSeeking = true;
scheduleNotification(NOTIFY_SEEK, 0 /* delay */);
}
}
if (mTimeAdjustment > 1000000) {
// schedule seeked event if time jumped significantly
// TODO: do this properly by introducing an exception
+ mStopped = false;
+ mSeeking = true;
scheduleNotification(NOTIFY_SEEK, 0 /* delay */);
}
} else {