// Path: tweakable/src/main/java/com/jackwink/tweakable/controls/ActionPreference.java
// public class ActionPreference extends DialogPreference {
//     private int mCalled;
// 
//     public ActionPreference(Context context) {
//         super(context, null);
//     }
// 
//     @Override
//     protected void onSetInitialValue(final boolean restoreValue, final Object defaultValue) {
//         mCalled = getPersistedInt(0);
//     }
// 
//     @Override
//     protected Object onGetDefaultValue(final TypedArray a, final int index) {
//         return a.getInteger(index, 0);
//     }
// 
//     @Override
//     protected void onPrepareDialogBuilder(final AlertDialog.Builder builder) {
//         super.onPrepareDialogBuilder(builder);
// 
//         builder.setTitle(getTitle());
//         builder.setMessage("Are you sure you want to " + getTitle().toString().toLowerCase() + "?");
//         builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
//             @Override
//             public void onClick(DialogInterface dialog, int which) {
//                 ++mCalled;
//                 // We just need to cause a value to change on this key for the method to be called
//                 // {@see com.jackwink.tweakable.Tweakable}
//                 persistInt(mCalled);
//             }
//         });
//     }
// }


import android.preference.Preference;
import com.jackwink.tweakable.controls.ActionPreference;
import java.lang.reflect.Method;
package com.jackwink.tweakable.builders;




/**
 *
 */
@SuppressWarnings({ "rawtypes" })
public class ActionPreferenceBuilder extends BasePreferenceBuilder<Preference> {

    @Override
    public Class[] getHandledTypes() {
        return new Class[] {Method.class };
    }

    @Override
    public Preference build() {
// Path: tweakable/src/main/java/com/jackwink/tweakable/controls/ActionPreference.java
// public class ActionPreference extends DialogPreference {
//     private int mCalled;
// 
//     public ActionPreference(Context context) {
//         super(context, null);
//     }
// 
//     @Override
//     protected void onSetInitialValue(final boolean restoreValue, final Object defaultValue) {
//         mCalled = getPersistedInt(0);
//     }
// 
//     @Override
//     protected Object onGetDefaultValue(final TypedArray a, final int index) {
//         return a.getInteger(index, 0);
//     }
// 
//     @Override
//     protected void onPrepareDialogBuilder(final AlertDialog.Builder builder) {
//         super.onPrepareDialogBuilder(builder);
// 
//         builder.setTitle(getTitle());
//         builder.setMessage("Are you sure you want to " + getTitle().toString().toLowerCase() + "?");
//         builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
//             @Override
//             public void onClick(DialogInterface dialog, int which) {
//                 ++mCalled;
//                 // We just need to cause a value to change on this key for the method to be called
//                 // {@see com.jackwink.tweakable.Tweakable}
//                 persistInt(mCalled);
//             }
//         });
//     }
// }


// Path: tweakable/src/main/java/com/jackwink/tweakable/builders/ActionPreferenceBuilder.java
import android.preference.Preference;
import com.jackwink.tweakable.controls.ActionPreference;
import java.lang.reflect.Method;

package com.jackwink.tweakable.builders;




/**
 *
 */
@SuppressWarnings({ "rawtypes" })
public class ActionPreferenceBuilder extends BasePreferenceBuilder<Preference> {

    @Override
    public Class[] getHandledTypes() {
        return new Class[] {Method.class };
    }

    @Override
    public Preference build() {
        return build(ActionPreference.class, true);