package com.myMinistry.dialogfragments;
import static com.myMinistry.util.LogUtils.makeLogTag;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import com.myMinistry.R;
import com.myMinistry.adapters.DialogItemAdapter;
import com.myMinistry.model.NavDrawerMenuItem;
import com.myMinistry.provider.MinistryContract.Publisher;
import com.myMinistry.provider.MinistryDatabase;
import com.myMinistry.provider.MinistryService;
public class PublisherDialogFragment extends DialogFragment {
public static final String TAG = makeLogTag(PublisherDialogFragment.class);
private PublisherDialogFragmentListener sListener;
public static int CREATE_ID = MinistryDatabase.CREATE_ID;
private DialogItemAdapter adapter;
public static PublisherDialogFragment newInstance() {
return new PublisherDialogFragment();
}
public interface PublisherDialogFragmentListener {
public void publisherDialogFragmentSet(int _ID, String _name);
}
public void setPublisherDialogFragmentListener(PublisherDialogFragmentListener listener) {
sListener = listener;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final MinistryService database = new MinistryService(getActivity());
adapter = new DialogItemAdapter(getActivity().getApplicationContext());
adapter.addItem(new NavDrawerMenuItem(getActivity().getApplicationContext().getString(R.string.menu_add_new_with_plus), R.drawable.ic_drawer_publisher, CREATE_ID));
database.openWritable();
final Cursor cursor = database.fetchActivePublishers();
while(cursor.moveToNext())
adapter.addItem(new NavDrawerMenuItem(cursor.getString(cursor.getColumnIndex(Publisher.NAME)), R.drawable.ic_drawer_publisher, cursor.getInt(cursor.getColumnIndex(Publisher._ID))));
cursor.close();
database.close();
return new AlertDialog.Builder(getActivity())
.setTitle(getActivity().getApplicationContext().getString(R.string.navdrawer_item_publishers))
.setAdapter(adapter, publisherSetListener)
.create();
}
private OnClickListener publisherSetListener = new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
sListener.publisherDialogFragmentSet(adapter.getItem(which).getID(), adapter.getItem(which).toString());
}
};
}