1 package eu
.alefzero
.owncloud
.ui
.fragment
;
3 import android
.app
.AlertDialog
;
4 import android
.app
.Dialog
;
5 import android
.content
.DialogInterface
;
6 import android
.os
.Bundle
;
7 import android
.util
.Log
;
9 import com
.actionbarsherlock
.app
.SherlockDialogFragment
;
11 import eu
.alefzero
.owncloud
.R
;
13 public class ConfirmationDialogFragment
extends SherlockDialogFragment
{
15 public final static String ARG_CONF_RESOURCE_ID
= "resource_id";
16 public final static String ARG_CONF_ARGUMENTS
= "string_array";
18 ConfirmationDialogFragmentListener mListener
;
20 public static ConfirmationDialogFragment
newInstance(int string_id
, String
[] arguments
) {
21 ConfirmationDialogFragment frag
= new ConfirmationDialogFragment();
22 Bundle args
= new Bundle();
23 args
.putInt(ARG_CONF_RESOURCE_ID
, string_id
);
24 args
.putStringArray(ARG_CONF_ARGUMENTS
, arguments
);
25 frag
.setArguments(args
);
29 public void setOnConfirmationListener(ConfirmationDialogFragmentListener listener
) {
34 public Dialog
onCreateDialog(Bundle savedInstanceState
) {
35 Object
[] confirmationTarget
= getArguments().getStringArray(ARG_CONF_ARGUMENTS
);
36 int resourceId
= getArguments().getInt(ARG_CONF_RESOURCE_ID
, -1);
37 if (confirmationTarget
== null
|| resourceId
== -1) {
38 Log
.wtf(getTag(), "Calling confirmation dialog without resource or arguments");
42 return new AlertDialog
.Builder(getActivity())
43 .setIcon(android
.R
.drawable
.ic_dialog_alert
)
44 .setMessage(String
.format(getString(resourceId
), confirmationTarget
))
45 .setPositiveButton(R
.string
.common_ok
,
46 new DialogInterface
.OnClickListener() {
47 public void onClick(DialogInterface dialog
, int whichButton
) {
48 mListener
.onConfirmation(true
, getTag());
52 .setNegativeButton(R
.string
.common_cancel
,
53 new DialogInterface
.OnClickListener() {
54 public void onClick(DialogInterface dialog
, int whichButton
) {
55 mListener
.onConfirmation(false
, getTag());
63 public interface ConfirmationDialogFragmentListener
{
64 public void onConfirmation(boolean confirmation
, String callerTag
);