Don't preview links if your cursor is touching them.

This commit is contained in:
Greyson Parrelli
2019-02-14 13:55:48 -08:00
parent 1c23603c25
commit fe4068afce
6 changed files with 77 additions and 19 deletions

View File

@@ -11,6 +11,7 @@ import android.support.v13.view.inputmethod.EditorInfoCompat;
import android.support.v13.view.inputmethod.InputConnectionCompat;
import android.support.v13.view.inputmethod.InputContentInfoCompat;
import android.support.v4.os.BuildCompat;
import android.text.Editable;
import android.text.InputType;
import android.text.Spannable;
import android.text.SpannableString;
@@ -33,7 +34,8 @@ public class ComposeText extends EmojiEditText {
private CharSequence hint;
private SpannableString subHint;
@Nullable private InputPanel.MediaListener mediaListener;
@Nullable private InputPanel.MediaListener mediaListener;
@Nullable private CursorPositionChangedListener cursorPositionChangedListener;
public ComposeText(Context context) {
super(context);
@@ -69,6 +71,15 @@ public class ComposeText extends EmojiEditText {
}
}
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
super.onSelectionChanged(selStart, selEnd);
if (cursorPositionChangedListener != null) {
cursorPositionChangedListener.onCursorPositionChanged(selStart, selEnd);
}
}
private CharSequence ellipsizeToWidth(CharSequence text) {
return TextUtils.ellipsize(text,
getPaint(),
@@ -104,6 +115,10 @@ public class ComposeText extends EmojiEditText {
setSelection(getText().length());
}
public void setCursorPositionChangedListener(@Nullable CursorPositionChangedListener listener) {
this.cursorPositionChangedListener = listener;
}
private boolean isLandscape() {
return getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
}
@@ -189,4 +204,7 @@ public class ComposeText extends EmojiEditText {
}
}
public interface CursorPositionChangedListener {
void onCursorPositionChanged(int start, int end);
}
}