added a few synchronizing points

This commit is contained in:
Harrison Deng 2018-08-22 19:58:22 -05:00
parent dc4db57281
commit 211e37866e
2 changed files with 8 additions and 5 deletions

View File

@ -153,6 +153,7 @@ public class MusicController extends Observable implements OnCompletionListener,
musicHeader = null; musicHeader = null;
if (music != null) { if (music != null) {
music.dispose(); music.dispose();
music = null;
} }
if (currentlyPlayingIndex < 0) { if (currentlyPlayingIndex < 0) {
currentlyPlayingIndex = musicList.getTotal()-1; currentlyPlayingIndex = musicList.getTotal()-1;

View File

@ -175,7 +175,7 @@ public class MusicSelectionPage extends Page implements Observer {
super.act(delta); super.act(delta);
} }
private void updateList(float delta) { private synchronized void updateList(float delta) {
if (mc.getMusicList().isSearched()) { if (mc.getMusicList().isSearched()) {
if (mc.getMusicList().getTotal() != 0) { if (mc.getMusicList().getTotal() != 0) {
if (selectables.size() != mmc.size()) { if (selectables.size() != mmc.size()) {
@ -231,10 +231,12 @@ public class MusicSelectionPage extends Page implements Observer {
selectables.setChecked(mc.getCurrentMusicFileHandle()); selectables.setChecked(mc.getCurrentMusicFileHandle());
} }
} else if (o == mc.getMusicList()) { } else if (o == mc.getMusicList()) {
if (arg == mc.getMusicList().states.LOADING) { synchronized (this) {
vGroup.clear(); if (arg == mc.getMusicList().states.LOADING) {
selectables.clear(); vGroup.clear();
musicInfoTable.setToDefault(); selectables.clear();
musicInfoTable.setToDefault();
}
} }
} }
} }