diff --git a/app/src/main/java/net/gsantner/markor/ui/hleditor/HighlightingEditor.java b/app/src/main/java/net/gsantner/markor/ui/hleditor/HighlightingEditor.java index d33dbe1183..755eb9e110 100644 --- a/app/src/main/java/net/gsantner/markor/ui/hleditor/HighlightingEditor.java +++ b/app/src/main/java/net/gsantner/markor/ui/hleditor/HighlightingEditor.java @@ -21,6 +21,7 @@ import net.gsantner.markor.activity.MainActivity; import net.gsantner.markor.model.Document; import net.gsantner.markor.util.AppSettings; +import net.gsantner.markor.util.ContextUtils; import java.io.File; @@ -39,6 +40,7 @@ interface OnTextChangedListener { void onTextChanged(String text); } + private final boolean _isDeviceGoodHardware; private boolean _modified = true; private boolean _hlEnabled = false; private boolean _isSpellingRedUnderline; @@ -64,6 +66,7 @@ public HighlightingEditor(Context context, AttributeSet attrs) { setHighlightingEnabled(as.isHighlightingEnabled()); } + _isDeviceGoodHardware = new ContextUtils(context).isDeviceGoodHardware(); _isSpellingRedUnderline = !as.isDisableSpellingRedUnderline(); addTextChangedListener(new TextWatcher() { @Override @@ -127,7 +130,7 @@ public void reloadHighlighter() { } private void highlightWithoutChange(Editable editable) { - if (_hlEnabled) { + if (_hlEnabled && editable.length() <= (_isDeviceGoodHardware ? 100000 : 35000)) { _modified = false; try { if (MainActivity.IS_DEBUG_ENABLED) {