package com.xiaomi.xms.sales.widget;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.xiaomi.xms.sales.R;
public class BaseAlertDialog extends Dialog {
public static final int BUTTON_POSITIVE = R.id.positive;
public static final int BUTTON_NEGATIVE = R.id.negative;
private TextView mTitle;
private ImageView mIcon;
private TextView mMessage;
private Button mPositiveBtn;
private Button mNegativeBtn;
private View mButtonPadding;
public BaseAlertDialog(Context context) {
super(context, R.style.Widget_Dialog);
setContentView(R.layout.base_dialog);
mTitle = (TextView) findViewById(R.id.title);
mIcon = (ImageView) findViewById(R.id.icon);
mMessage = (TextView) findViewById(R.id.message);
mPositiveBtn = (Button) findViewById(R.id.positive);
mNegativeBtn = (Button) findViewById(R.id.negative);
mButtonPadding = findViewById(R.id.button_padding);
}
public void setTitle(int resId) {
mTitle.setVisibility(View.VISIBLE);
mTitle.setText(resId);
}
@Override
public void setTitle(CharSequence title) {
mTitle.setVisibility(View.VISIBLE);
mTitle.setText(title);
}
public void setIcon(int resId) {
mIcon.setVisibility(View.VISIBLE);
mIcon.setImageResource(resId);
}
public void setMessage(int resId) {
setMessage(getContext().getString(resId));
}
public void setMessage(CharSequence msg) {
mMessage.setVisibility(View.VISIBLE);
mMessage.setText(msg);
}
public void setView(View view) {
ViewGroup content = (ViewGroup) findViewById(R.id.content);
content.removeAllViews();
content.addView(view);
}
public void setPositiveButton(int resId, View.OnClickListener listener) {
mPositiveBtn.setVisibility(View.VISIBLE);
if (mNegativeBtn.getVisibility() == View.VISIBLE) {
mButtonPadding.setVisibility(View.VISIBLE);
}
if (resId > 0) {
mPositiveBtn.setText(resId);
}
if (listener != null) {
mPositiveBtn.setOnClickListener(new OnClickListenerWrapper(listener));
} else {
mPositiveBtn.setOnClickListener(mCloseListener);
}
}
public void setPositiveButton(int resId, View.OnClickListener listener, boolean autoDismiss) {
mPositiveBtn.setVisibility(View.VISIBLE);
if (mNegativeBtn.getVisibility() == View.VISIBLE) {
mButtonPadding.setVisibility(View.VISIBLE);
}
if (resId > 0) {
mPositiveBtn.setText(resId);
}
if (listener != null) {
if (autoDismiss) {
mPositiveBtn.setOnClickListener(new OnClickListenerWrapper(listener));
} else {
mPositiveBtn.setOnClickListener(listener);
}
} else {
mPositiveBtn.setOnClickListener(mCloseListener);
}
}
public void setNegativeButton(int resId, View.OnClickListener listener) {
mNegativeBtn.setVisibility(View.VISIBLE);
if (mPositiveBtn.getVisibility() == View.VISIBLE) {
mButtonPadding.setVisibility(View.VISIBLE);
}
if (resId > 0) {
mNegativeBtn.setText(resId);
}
if (listener != null) {
mNegativeBtn.setOnClickListener(new OnClickListenerWrapper(listener));
} else {
mNegativeBtn.setOnClickListener(mCloseListener);
}
}
private View.OnClickListener mCloseListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
};
private class OnClickListenerWrapper implements View.OnClickListener {
private View.OnClickListener mListener;
public OnClickListenerWrapper(View.OnClickListener l) {
mListener = l;
}
@Override
public void onClick(View v) {
dismiss();
if (mListener != null) {
mListener.onClick(v);
}
}
}
}