}
private void updateCursor(final String selection, final String[] selectionArgs) {
- closeCursor();
+ synchronized (this) {
+ closeCursor();
- mCursor = openCursorAndGoToFirst(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
- PROJECTION, selection, selectionArgs);
+ mCursor = openCursorAndGoToFirst(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
+ PROJECTION, selection, selectionArgs);
+ }
long albumId = getAlbumId();
if (albumId >= 0) {
SystemClock.sleep(3000);
updateCursor(mPlayList[mPlayPos]);
}
- closeCursor();
- mOpenFailedCounter = 20;
- openCurrentAndNext();
+ synchronized (this) {
+ closeCursor();
+ mOpenFailedCounter = 20;
+ openCurrentAndNext();
+ }
if (!mPlayer.isInitialized()) {
mPlayListLen = 0;
return;