package org.wordpress.android.util;
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.EditText;
public class WPEditText extends EditText {
private EditTextImeBackListener mOnImeBack;
private OnSelectionChangedListener onSelectionChangedListener;
public WPEditText(Context context) {
super(context);
}
public WPEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public WPEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
if (onSelectionChangedListener != null)
onSelectionChangedListener.onSelectionChanged();
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_UP) {
clearFocus();
if (mOnImeBack != null)
mOnImeBack.onImeBack(this, this.getText().toString());
}
return super.onKeyPreIme(keyCode, event);
}
public void setOnEditTextImeBackListener(EditTextImeBackListener listener) {
mOnImeBack = listener;
}
public interface EditTextImeBackListener {
public abstract void onImeBack(WPEditText ctrl, String text);
}
public void setOnSelectionChangedListener(
OnSelectionChangedListener listener) {
onSelectionChangedListener = listener;
}
public interface OnSelectionChangedListener {
public abstract void onSelectionChanged();
}
}