Skip to content
Snippets Groups Projects
Commit 23bf14aa authored by Thomas Guillem's avatar Thomas Guillem
Browse files

AudioPlayer: fix ConcurrentModificationException

showAudioPlayer() can modify the service callbacks and was called from a
service callback.

As addCallback() triggers a updateProgress() event, we can also init the
AudioPlayer from the onConnected() callback.
parent f483b4e7
No related branches found
No related tags found
No related merge requests found
......@@ -48,7 +48,6 @@ import android.widget.TextView;
import org.videolan.libvlc.Media;
import org.videolan.libvlc.MediaPlayer;
import org.videolan.medialibrary.Medialibrary;
import org.videolan.vlc.BuildConfig;
import org.videolan.vlc.MediaParsingService;
import org.videolan.vlc.PlaybackService;
......@@ -58,14 +57,13 @@ import org.videolan.vlc.gui.audio.AudioPlayer;
import org.videolan.vlc.gui.browser.StorageBrowserFragment;
import org.videolan.vlc.interfaces.IRefreshable;
import org.videolan.vlc.media.MediaUtils;
import org.videolan.vlc.util.FileUtils;
import org.videolan.vlc.util.Strings;
import org.videolan.vlc.util.WeakHandler;
import static org.videolan.vlc.MediaParsingService.EXTRA_PATH;
import static org.videolan.vlc.MediaParsingService.EXTRA_UUID;
public class AudioPlayerContainerActivity extends BaseActivity implements PlaybackService.Client.Callback, PlaybackService.Callback {
public class AudioPlayerContainerActivity extends BaseActivity implements PlaybackService.Client.Callback {
public static final String TAG = "VLC/AudioPlayerContainerActivity";
public static final String ACTION_SHOW_PLAYER = Strings.buildPkgString("gui.ShowPlayer");
......@@ -318,21 +316,6 @@ public class AudioPlayerContainerActivity extends BaseActivity implements Playba
private static final int ACTION_MEDIA_MOUNTED = 1337;
private static final int ACTION_MEDIA_UNMOUNTED = 1338;
@Override
public void update() {}
@Override
public void updateProgress() {
if (!isAudioPlayerReady())
showAudioPlayer();
}
@Override
public void onMediaEvent(Media.Event event) {}
@Override
public void onMediaPlayerEvent(MediaPlayer.Event event) {}
public boolean isAudioPlayerReady() {
return mAudioPlayer != null;
}
......@@ -403,14 +386,14 @@ public class AudioPlayerContainerActivity extends BaseActivity implements Playba
@Override
public void onConnected(PlaybackService service) {
service.addCallback(this);
mService = service;
if (!isAudioPlayerReady())
showAudioPlayer();
}
@Override
public void onDisconnected() {
if (mService != null)
mService.removeCallback(this);
mService = null;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment