package com.adamnickle.deck;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import com.adamnickle.deck.Game.CardHolder;
import java.util.Collection;
import de.keyboardsurfer.android.widget.crouton.Crouton;
import de.keyboardsurfer.android.widget.crouton.Style;
public class DialogHelper
{
public static abstract class OnEditTextDialogClickListener
{
public void onPositiveButtonClick( DialogInterface dialogInterface, String text ) { }
public void onNegativeButtonClick( DialogInterface dialogInterface ) { }
}
public static AlertDialog.Builder createEditTextDialog( Context context, String title, String positiveButtonText, String negativeButtonText, final OnEditTextDialogClickListener onClickListener )
{
final EditText editText = (EditText) LayoutInflater.from( context ).inflate( R.layout.dialog_edit_text, null );
return DialogHelper
.createBlankAlertDialog( context, title )
.setPositiveButton( positiveButtonText, new DialogInterface.OnClickListener()
{
@Override
public void onClick( DialogInterface dialogInterface, int i )
{
onClickListener.onPositiveButtonClick( dialogInterface, editText.getText().toString() );
}
} )
.setNegativeButton( negativeButtonText, new DialogInterface.OnClickListener()
{
@Override
public void onClick( DialogInterface dialogInterface, int i )
{
onClickListener.onNegativeButtonClick( dialogInterface );
}
} )
.setView( editText );
}
public static AlertDialog.Builder createBlankAlertDialog( Context context, String title )
{
return new AlertDialog.Builder( context )
.setTitle( title );
}
public static AlertDialog.Builder createSelectItemDialog( Context context, String title, Object[] items, DialogInterface.OnClickListener listener )
{
return DialogHelper
.createBlankAlertDialog( context, title )
.setAdapter( new ArrayAdapter<Object>( context, android.R.layout.simple_list_item_1, items ), listener );
}
public static void showPopup( Context context, String title, String message, String buttonText )
{
DialogHelper
.createBlankAlertDialog( context, title )
.setMessage( message )
.setPositiveButton( buttonText, null )
.show();
}
public static void displayNotification( final Activity activity, final String notification, final Style style )
{
if( activity != null )
{
activity.runOnUiThread( new Runnable()
{
@Override
public void run()
{
Crouton.makeText( activity, notification, style ).show();
}
} );
}
}
public static AlertDialog.Builder displayCardHolderList( Context context, String title, Collection< CardHolder > cardHolders, final CardHolderOnClickListener onClickListener )
{
final CardHolderAdapter adapter = new CardHolderAdapter( context, cardHolders );
return DialogHelper
.createBlankAlertDialog( context, title )
.setAdapter( adapter, new DialogInterface.OnClickListener()
{
@Override
public void onClick( DialogInterface dialog, int which )
{
if( onClickListener != null )
{
onClickListener.onClick( dialog, adapter.getItem( which ) );
}
}
} );
}
public static interface CardHolderOnClickListener
{
public void onClick( DialogInterface dialog, CardHolder cardHolder );
}
}