package com.foxykeep.datadroidpoc.dialogs;
import com.foxykeep.datadroidpoc.R;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
public class SampleDescriptionDialogFragment extends DialogFragment {
public interface OnCancelListener {
public void onCancel();
}
private static final String FRAGMENT_TAG =
"com.foxykeep.datadroidpoc.dialogs.sampleDescription";
private static final String BUNDLE_TITLE_RES_ID = "titleResId";
private static final String BUNDLE_DESCRIPTION_RES_ID = "descriptionResId";
private static SampleDescriptionDialogFragment newInstance(int titleResId,
int descriptionResId) {
SampleDescriptionDialogFragment dialogFragment = new SampleDescriptionDialogFragment();
Bundle args = new Bundle();
args.putInt(BUNDLE_TITLE_RES_ID, titleResId);
args.putInt(BUNDLE_DESCRIPTION_RES_ID, descriptionResId);
dialogFragment.setArguments(args);
return dialogFragment;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = getArguments();
Builder b = new Builder(getActivity());
b.setTitle(args.getInt(BUNDLE_TITLE_RES_ID));
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.home_dialog_sample_description, null);
TextView textView = (TextView) view.findViewById(android.R.id.message);
textView.setText(args.getInt(BUNDLE_DESCRIPTION_RES_ID));
b.setView(view);
b.setNeutralButton(android.R.string.ok, null);
return b.create();
}
public static void show(FragmentActivity activity, int titleResId, int descriptionResId) {
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment prev = fragmentManager.findFragmentByTag(FRAGMENT_TAG);
if (prev != null) {
fragmentTransaction.remove(prev);
}
fragmentTransaction.addToBackStack(null);
SampleDescriptionDialogFragment.newInstance(titleResId, descriptionResId)
.show(fragmentManager, FRAGMENT_TAG);
}
public static void dismiss(FragmentActivity activity) {
FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment prev = fragmentManager.findFragmentByTag(FRAGMENT_TAG);
if (prev != null) {
fragmentTransaction.remove(prev);
}
fragmentTransaction.commit();
}
}