package xmpp.client.ui.dialogs;
import xmpp.client.R;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnDismissListener;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
public class AddUserDialog implements OnClickListener, OnDismissListener,
ResultProducer {
private final Context mContext;
private EditText mEditText;
private final AlertDialog mAlertDialog;
private ResultListener mResultListener;
private String mResult;
public AddUserDialog(Context context) {
mContext = context;
mAlertDialog = buildDialog();
}
private AlertDialog buildDialog() {
final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
final LayoutInflater layoutInflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View view = layoutInflater.inflate(R.layout.add_user, null);
mEditText = (EditText) view.findViewById(R.id.uid_edit);
builder.setView(view);
builder.setPositiveButton(mContext.getText(R.string.ok), this);
builder.setNegativeButton(mContext.getText(R.string.cancel), this);
builder.setTitle(R.string.add_contact);
final AlertDialog alertDialog = builder.create();
alertDialog.setOnDismissListener(this);
return alertDialog;
}
public AlertDialog getAlertDialog() {
return mAlertDialog;
}
@Override
public String getResult() {
return mResult;
}
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
mResult = mEditText.getText().toString();
break;
}
}
@Override
public void onDismiss(DialogInterface dialog) {
sendResult();
}
private void sendResult() {
if (mResultListener != null) {
mResultListener.onResultAvailable(this);
}
}
@Override
public void setResultListener(ResultListener resultListener) {
mResultListener = resultListener;
}
}