package com.chickenkiller.upods2.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.webkit.URLUtil; import android.widget.EditText; import android.widget.Toast; import com.chickenkiller.upods2.R; import com.chickenkiller.upods2.controllers.app.ProfileManager; import com.chickenkiller.upods2.models.Podcast; import com.chickenkiller.upods2.models.RadioItem; import com.chickenkiller.upods2.models.StreamUrl; import com.chickenkiller.upods2.utils.enums.MediaItemType; /** * Created by Alon Zilberman on 8/8/15. */ public class DialogFragmentAddMediaItem extends DialogFragment { public static final String TAG = "add_media_item"; private static final int MIN_TITLE_LENGTH = 3; private MediaItemType mediaItemType; private EditText etMediaName; private EditText etMediaUrl; public Dialog onCreateDialog(Bundle savedInstanceState) { LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View mainView = inflater.inflate(R.layout.dialog_fragment_add_media, null); etMediaName = (EditText) mainView.findViewById(R.id.etMediaName); etMediaUrl = (EditText) mainView.findViewById(R.id.etMediaUrl); String title = "LOL123"; if (mediaItemType == MediaItemType.RADIO) { title = getString(R.string.add_radio_station); } else if (mediaItemType == MediaItemType.PODCAST) { title = getString(R.string.add_podcast); } AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(title) .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { if (saveMediaItem()) { dialog.dismiss(); } } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); } }).setView(mainView); return builder.create(); } public void setMediaItemType(MediaItemType mediaItemType) { this.mediaItemType = mediaItemType; } private boolean saveMediaItem() { if (etMediaName.getText().toString().length() < MIN_TITLE_LENGTH) { Toast.makeText(getActivity(), getString(R.string.title_too_short), Toast.LENGTH_SHORT).show(); return false; } else if (!URLUtil.isValidUrl(etMediaUrl.getText().toString())) { Toast.makeText(getActivity(), getString(R.string.url_not_correct), Toast.LENGTH_SHORT).show(); return false; } if (mediaItemType == MediaItemType.RADIO) { StreamUrl streamUrl = new StreamUrl(etMediaUrl.getText().toString()); RadioItem radioItem = new RadioItem(etMediaName.getText().toString(), streamUrl, ""); ProfileManager.getInstance().addSubscribedMediaItem(radioItem); Toast.makeText(getActivity(), getString(R.string.radio_added), Toast.LENGTH_SHORT).show(); } else if (mediaItemType == MediaItemType.PODCAST) { Podcast podcast = new Podcast(etMediaName.getText().toString(), etMediaUrl.getText().toString()); ProfileManager.getInstance().addSubscribedMediaItem(podcast); Toast.makeText(getActivity(), getString(R.string.podcast_added), Toast.LENGTH_SHORT).show(); } return true; } }