e2769b167ef2fa1aa8629799bd57c9971dc8c122
[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 String confirmationTarget = getArguments().getString(ARG_CONF_TARGET);
33 if (confirmationTarget == null)
34 confirmationTarget = "";
35
36 return new AlertDialog.Builder(getActivity())
37 .setIcon(android.R.drawable.ic_dialog_alert)
38 .setMessage(String.format(getString(R.string.confirmation_alert), confirmationTarget))
39 .setPositiveButton(R.string.common_ok,
40 new DialogInterface.OnClickListener() {
41 public void onClick(DialogInterface dialog, int whichButton) {
42 mListener.onConfirmation(true, getTag());
43 }
44 }
45 )
46 .setNegativeButton(R.string.common_cancel,
47 new DialogInterface.OnClickListener() {
48 public void onClick(DialogInterface dialog, int whichButton) {
49 mListener.onConfirmation(false, getTag());
50 }
51 }
52 )
53 .create();
54 }
55
56
57 public interface ConfirmationDialogFragmentListener {
58 public void onConfirmation(boolean confirmation, String callerTag);
59 }
60
61 }
62