package org.wordpress.android.ui.notifications;
import android.content.Context;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import com.justsystems.hpb.pad.R;
public class ReplyField extends LinearLayout {
interface OnReplyListener {
public void onReply(ReplyField field, Editable replyText);
}
EditText mTextField;
ImageButton mReplyButton;
OnReplyListener mOnReplyListener;
public ReplyField(Context context) {
super(context);
}
public ReplyField(Context context, AttributeSet attributes) {
super(context, attributes);
}
public ReplyField(Context context, AttributeSet attributes, int defStyle) {
super(context, attributes, defStyle);
}
public void clearFocus() {
getTextField().clearFocus();
}
public void setOnReplyListener(OnReplyListener l) {
mOnReplyListener = l;
}
public ImageButton getReplyButton() {
return mReplyButton;
}
public EditText getTextField() {
return mTextField;
}
public Editable getText() {
return mTextField.getText();
}
public void setText(CharSequence text) {
mTextField.setText(text);
}
public boolean isEmpty() {
return TextUtils.isEmpty(getText());
}
protected void onFinishInflate() {
mTextField = (EditText) findViewById(R.id.note_reply_field);
mReplyButton = (ImageButton) findViewById(R.id.note_reply_button);
mReplyButton.setEnabled(!isEmpty());
mReplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!isEmpty()) {
mOnReplyListener.onReply(ReplyField.this, getText());
}
}
});
mTextField.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable text) {
mReplyButton.setEnabled(!isEmpty());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// noop
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// noop
}
});
}
}