c323a6946ebe89ce0bb6ccf7b2a80943cddf098f
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / fragment / ConfirmationDialogFragment.java
1 package eu.alefzero.owncloud.ui.fragment;
2
3 import android.app.AlertDialog;
4 import android.app.Dialog;
5 import android.content.DialogInterface;
6 import android.os.Bundle;
7
8 import com.actionbarsherlock.app.SherlockDialogFragment;
9
10 import eu.alefzero.owncloud.R;
11
12 public class ConfirmationDialogFragment extends SherlockDialogFragment {
13
14 public final static String ARG_CONF_TARGET = "target";
15
16 ConfirmationDialogFragmentListener mListener;
17
18 public static ConfirmationDialogFragment newInstance(String confirmationTarget) {
19 ConfirmationDialogFragment frag = new ConfirmationDialogFragment();
20 Bundle args = new Bundle();
21 args.putString(ARG_CONF_TARGET, confirmationTarget);
22 frag.setArguments(args);
23 return frag;
24 }
25
26 public void setOnConfirmationListener(ConfirmationDialogFragmentListener listener) {
27 mListener = listener;
28 }
29
30 @Override
31 public Dialog onCreateDialog(Bundle savedInstanceState) {
32 int confirmationTarget = getArguments().getInt(ARG_CONF_TARGET);
33
34 return new AlertDialog.Builder(getActivity())
35 .setIcon(android.R.drawable.ic_dialog_alert)
36 .setMessage(R.string.confirmation_alert_prefix + confirmationTarget + R.string.confirmation_alert_suffix )
37 .setPositiveButton(R.string.common_ok,
38 new DialogInterface.OnClickListener() {
39 public void onClick(DialogInterface dialog, int whichButton) {
40 mListener.onConfirmation(true, getTag());
41 }
42 }
43 )
44 .setNegativeButton(R.string.common_cancel,
45 new DialogInterface.OnClickListener() {
46 public void onClick(DialogInterface dialog, int whichButton) {
47 mListener.onConfirmation(false, getTag());
48 }
49 }
50 )
51 .create();
52 }
53
54
55 public interface ConfirmationDialogFragmentListener {
56 public void onConfirmation(boolean confirmation, String callerTag);
57 }
58
59 }
60