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.HouseholderForTime; import com.myMinistry.model.NavDrawerMenuItem; import com.myMinistry.provider.MinistryContract.Householder; import com.myMinistry.provider.MinistryDatabase; import com.myMinistry.provider.MinistryService; public class HouseholderDialogFragment extends DialogFragment { public static final String TAG = makeLogTag(HouseholderDialogFragment.class); private HouseholderDialogFragmentListener sListener; public static int CREATE_ID = MinistryDatabase.CREATE_ID; HouseholderForTime selectedEntry; private DialogItemAdapter adapter; public static HouseholderDialogFragment newInstance() { return new HouseholderDialogFragment(); } public interface HouseholderDialogFragmentListener { public void householderDialogFragmentSet(int _ID, String _name); } public void setHouseholderFragmentListener(HouseholderDialogFragmentListener listener) { sListener = listener; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 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_householder, CREATE_ID)); database.openWritable(); final Cursor cursor = database.fetchActiveHouseholders(); while(cursor.moveToNext()) adapter.addItem(new NavDrawerMenuItem(cursor.getString(cursor.getColumnIndex(Householder.NAME)), R.drawable.ic_drawer_householder, cursor.getInt(cursor.getColumnIndex(Householder._ID)))); cursor.close(); database.close(); builder.setTitle(getActivity().getApplicationContext().getString(R.string.navdrawer_item_householders)); builder.setAdapter(adapter, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sListener.householderDialogFragmentSet(adapter.getItem(which).getID(), adapter.getItem(which).toString()); } }); builder.setNeutralButton(R.string.menu_no_householder, new OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int which) { sListener.householderDialogFragmentSet(MinistryDatabase.NO_HOUSEHOLDER_ID, ""); } }); return builder.create(); } }