package com.mercandalli.android.apps.files.file.audio.cast;
import android.annotation.TargetApi;
import android.app.Presentation;
import android.os.Build;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
import com.google.android.gms.cast.CastRemoteDisplayLocalService;
import com.mercandalli.android.apps.files.file.audio.FileAudioModel;
import java.util.List;
/**
* A simple {@link CastRemoteDisplayLocalService} to display
* {@link com.mercandalli.android.apps.files.file.audio.FileAudioModel}.
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public class FileAudioPresentationService extends CastRemoteDisplayLocalService {
private static final String TAG = "FileAudioPresentSer";
/**
* A {@link Presentation}
*/
private FileAudioPresentation mPresentation;
@Override
public void onCreatePresentation(Display display) {
createPresentation(display);
}
@Override
public void onDismissPresentation() {
dismissPresentation();
}
private void dismissPresentation() {
if (mPresentation != null) {
mPresentation.dismiss();
mPresentation = null;
}
}
private void createPresentation(Display display) {
dismissPresentation();
mPresentation = new FileAudioPresentation(this, display);
try {
mPresentation.show();
} catch (WindowManager.InvalidDisplayException ex) {
Log.e(TAG, "Unable to show presentation, display was removed.", ex);
dismissPresentation();
}
}
public void startMusic(int currentMusicIndex, List<FileAudioModel> fileAudioModelList) {
mPresentation.startMusic(currentMusicIndex, fileAudioModelList);
}
}