package github.madmarty.madsonic.util.compat;
import android.annotation.TargetApi;
import android.content.ComponentName;
import android.content.Context;
import android.media.RemoteControlClient;
@TargetApi(18)
public class RemoteControlClientJB extends RemoteControlClientICS {
@Override
public void register(final Context context, final ComponentName mediaButtonReceiverComponent) {
super.register(context, mediaButtonReceiverComponent);
mRemoteControl.setOnGetPlaybackPositionListener(new RemoteControlClient.OnGetPlaybackPositionListener() {
@Override
public long onGetPlaybackPosition() {
return downloadService.getPlayerPosition();
}
});
mRemoteControl.setPlaybackPositionUpdateListener(new RemoteControlClient.OnPlaybackPositionUpdateListener() {
@Override
public void onPlaybackPositionUpdate(long newPosition) {
downloadService.seekTo((int) newPosition);
}
});
}
@Override
public void setPlaybackState(final int state) {
long position = -1;
if(state == RemoteControlClient.PLAYSTATE_PLAYING || state == RemoteControlClient.PLAYSTATE_PAUSED) {
position = downloadService.getPlayerPosition();
}
mRemoteControl.setPlaybackState(state, position, 1.0f);
}
@Override
protected int getTransportFlags() {
return super.getTransportFlags() | RemoteControlClient.FLAG_KEY_MEDIA_POSITION_UPDATE;
}
}