/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.galaxy.meetup.client.android.R;
/**
*
* @author sihai
*
*/
public class EditFragmentDialog extends AlertFragmentDialog implements
TextWatcher {
private EditText mInputTextView;
public EditFragmentDialog()
{
}
private void checkPositiveButtonEnabled()
{
AlertDialog alertdialog = (AlertDialog)getDialog();
if(alertdialog != null && !getArguments().getBoolean("allow_empty"))
{
Button button = alertdialog.getButton(-1);
boolean flag;
if(!TextUtils.isEmpty(mInputTextView.getText().toString().trim()))
flag = true;
else
flag = false;
button.setEnabled(flag);
}
return;
}
public static EditFragmentDialog newInstance(String s, String s1, String s2, String s3, String s4, boolean flag)
{
Bundle bundle = new Bundle();
if(s != null)
bundle.putString("title", s);
bundle.putString("message", null);
bundle.putString("hint", s2);
if(s3 != null)
bundle.putString("positive", s3);
if(s4 != null)
bundle.putString("negative", s4);
bundle.putBoolean("allow_empty", false);
EditFragmentDialog editfragmentdialog = new EditFragmentDialog();
editfragmentdialog.setArguments(bundle);
return editfragmentdialog;
}
public void afterTextChanged(Editable editable)
{
}
public void beforeTextChanged(CharSequence charsequence, int i, int j, int k)
{
}
public void onClick(DialogInterface dialoginterface, int i)
{
getArguments().putString("message", mInputTextView.getText().toString().trim());
super.onClick(dialoginterface, i);
}
public final Dialog onCreateDialog(Bundle bundle)
{
Bundle bundle1 = getArguments();
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(getActivity());
View view = ((LayoutInflater)getActivity().getSystemService("layout_inflater")).inflate(R.layout.text_input_dialog, null);
mInputTextView = (EditText)view.findViewById(R.id.text_input);
if(!bundle1.getBoolean("allow_empty"))
mInputTextView.addTextChangedListener(this);
if(bundle != null)
mInputTextView.setText(bundle.getString("message"));
else
mInputTextView.setText(bundle1.getString("message"));
mInputTextView.setHint(bundle1.getString("hint"));
builder.setView(view);
if(bundle1.containsKey("title"))
builder.setTitle(bundle1.getString("title"));
if(bundle1.containsKey("positive"))
builder.setPositiveButton(bundle1.getString("positive"), this);
if(bundle1.containsKey("negative"))
builder.setNegativeButton(bundle1.getString("negative"), this);
return builder.create();
}
public final void onSaveInstanceState(Bundle bundle)
{
bundle.putString("message", mInputTextView.getText().toString());
}
public final void onStart()
{
super.onStart();
checkPositiveButtonEnabled();
}
public void onTextChanged(CharSequence charsequence, int i, int j, int k)
{
checkPositiveButtonEnabled();
}
}