mirror of
https://github.com/M66B/FairEmail.git
synced 2024-12-27 02:07:12 +00:00
Attempt to workaround Android 8 block index bug
This commit is contained in:
parent
617824ff3e
commit
388af6e7c5
1 changed files with 19 additions and 8 deletions
|
@ -25,6 +25,7 @@ import android.os.Build;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
import android.view.View;
|
||||||
import android.view.textclassifier.TextClassifier;
|
import android.view.textclassifier.TextClassifier;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
@ -123,14 +124,24 @@ public class FixedEditText extends AppCompatEditText {
|
||||||
super.onDraw(canvas);
|
super.onDraw(canvas);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.w(ex);
|
Log.w(ex);
|
||||||
/*
|
if (ex instanceof ArrayIndexOutOfBoundsException)
|
||||||
java.lang.ArrayIndexOutOfBoundsException: length=39; index=-3
|
try {
|
||||||
at android.text.DynamicLayout.getBlockIndex(DynamicLayout.java:648)
|
/*
|
||||||
at android.widget.Editor.drawHardwareAccelerated(Editor.java:1703)
|
java.lang.ArrayIndexOutOfBoundsException: length=39; index=-3
|
||||||
at android.widget.Editor.onDraw(Editor.java:1672)
|
at android.text.DynamicLayout.getBlockIndex(DynamicLayout.java:648)
|
||||||
at android.widget.TextView.onDraw(TextView.java:6914)
|
at android.widget.Editor.drawHardwareAccelerated(Editor.java:1703)
|
||||||
at android.view.View.draw(View.java:19200)
|
at android.widget.Editor.onDraw(Editor.java:1672)
|
||||||
*/
|
at android.widget.TextView.onDraw(TextView.java:6914)
|
||||||
|
at android.view.View.draw(View.java:19200)
|
||||||
|
|
||||||
|
Fixed in Android 9:
|
||||||
|
https://android-review.googlesource.com/c/platform/frameworks/base/+/634929
|
||||||
|
*/
|
||||||
|
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
||||||
|
super.onDraw(canvas);
|
||||||
|
} catch (Throwable exex) {
|
||||||
|
Log.w(exex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue