package com.battlelancer.seriesguide.extensions;
import android.text.TextUtils;
import com.battlelancer.seriesguide.R;
import com.battlelancer.seriesguide.api.Action;
import com.battlelancer.seriesguide.api.Episode;
import com.battlelancer.seriesguide.api.Movie;
import com.battlelancer.seriesguide.api.SeriesGuideExtension;
import com.battlelancer.seriesguide.util.ServiceUtils;
/**
* Searches YouTube for an episode or movie title. Useful for web shows and trailers!
*/
public class YouTubeExtension extends SeriesGuideExtension {
public YouTubeExtension() {
super("YouTubeExtension");
}
@Override
protected void onRequest(int episodeIdentifier, Episode episode) {
// we need at least a show or an episode title
if (TextUtils.isEmpty(episode.getShowTitle()) || TextUtils.isEmpty(episode.getTitle())) {
return;
}
publishYoutubeAction(episodeIdentifier,
String.format("%s %s", episode.getShowTitle(), episode.getTitle()));
}
@Override
protected void onRequest(int movieIdentifier, Movie movie) {
// we need a title to search for
if (TextUtils.isEmpty(movie.getTitle())) {
return;
}
publishYoutubeAction(movieIdentifier, movie.getTitle());
}
private void publishYoutubeAction(int identifier, String searchTerm) {
publishAction(new Action.Builder(getString(R.string.extension_youtube), identifier)
.viewIntent(ServiceUtils.buildYouTubeIntent(getApplicationContext(), searchTerm))
.build());
}
}