package com.sabdroidex.fragments.dialogs.sickbeard;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.DialogFragment;
import com.sabdroidex.R;
import com.sabdroidex.controllers.sickbeard.SickBeardController;
import com.sabdroidex.data.sickbeard.Episode;
import java.util.ArrayList;
import java.util.List;
public class ShowEpisodeDialog extends DialogFragment {
/**
* Enumeration defining the different statuses an episode can be given by
* SickBeard
*
* @author Marc
*
*/
private static enum STATUS {
WANTED(R.string.episode_status_wanted), SKIPPED(R.string.episode_status_skipped), ARCHIEVED(
R.string.episode_status_archieved), IGNORED(R.string.episode_status_ignored);
private int string;
STATUS(int string) {
this.string = string;
}
public int getString() {
return string;
}
}
private Episode episode;
private Handler messageHandler;
public ShowEpisodeDialog(Handler messageHandler, Episode episode) {
this.episode = episode;
this.messageHandler = messageHandler;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
OnClickListener onClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.episode_status_set);
builder.setNegativeButton(android.R.string.cancel, onClickListener);
List<CharSequence> options = new ArrayList<CharSequence>();
for (STATUS status : STATUS.values()) {
options.add(getResources().getString(status.getString()));
}
builder.setItems(options.toArray(new CharSequence[options.size()]), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
SickBeardController.setEpisodeStatus(messageHandler, episode.getShowId().toString(), episode
.getSeasonNr().toString(), episode.getEpisode().toString(), STATUS.values()[which].toString()
.toLowerCase());
}
});
return builder.create();
}
}