mirror of https://github.com/M66B/FairEmail.git
Workaround word iterator bug Android <= M (EditText)
This commit is contained in:
parent
8a988634b0
commit
62614e4d9d
|
@ -21,6 +21,7 @@ package eu.faircode.email;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
import android.os.Build;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
|
||||||
|
@ -97,6 +98,20 @@ public class FixedEditText extends AppCompatEditText {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||||
|
// https://issuetracker.google.com/issues/37068143
|
||||||
|
if ((BuildConfig.DEBUG || Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) &&
|
||||||
|
hasSelection() &&
|
||||||
|
event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
||||||
|
CharSequence text = getText();
|
||||||
|
setText(null);
|
||||||
|
setText(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.dispatchTouchEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean performLongClick() {
|
public boolean performLongClick() {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -111,7 +111,7 @@ public class FixedTextView extends AppCompatTextView {
|
||||||
@Override
|
@Override
|
||||||
public boolean dispatchTouchEvent(MotionEvent event) {
|
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||||
// https://issuetracker.google.com/issues/37068143
|
// https://issuetracker.google.com/issues/37068143
|
||||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M &&
|
if ((BuildConfig.DEBUG || Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) &&
|
||||||
hasSelection() &&
|
hasSelection() &&
|
||||||
event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
||||||
CharSequence text = getText();
|
CharSequence text = getText();
|
||||||
|
|
Loading…
Reference in New Issue