What happened?
After opening a large JSON file, the app freezes every time it's opened. The notes list appears briefly (empty/loading) then Android shows "NotallyX isn't responding."
I've attached images of what happens, and the relevant ANR trace.
App Version
7.11.0
Android Version (API Level)
16 (36)
(Optional) Relevant log output
Subject: Input dispatching timed out (1b519fa com.philkes.notallyx/com.philkes.notallyx.presentation.activity.note.EditTextPlainActivity is not responding. Waited 5005ms for MotionEvent).
RssHwmKb: 601920
RssKb: 400320
RssAnonKb: 280432
RssShmemKb: 1148
VmSwapKb: 35728
--- CriticalEventLog ---
capacity: 20
timestamp_ms: 470320758
window_ms: 300000
----- dumping pid: 8674 at 470320748
----- pid 8674 at 2026-05-17 05:55:13.845775245+1000 -----
Cmd line: com.philkes.notallyx
Build fingerprint: 'google/lynx/lynx:16/CP1A.260405.005/15001963:user/release-keys'
ABI: 'arm64'
Build type: optimized
Debug Store: 3,3,470320800::ID:1,C:E,T:470295824||ID:1,C:S,T:470295735,N:BindApp||ID:0,C:P,T:470295735,N:SchBindApp;;
suspend all histogram: Sum: 5.635ms 99% C.I. 0.212us-697.520us Avg: 92.377us Max: 792us
DALVIK THREADS (32):
"main" prio=5 tid=1 Runnable
| group="main" sCount=0 ucsCount=0 flags=0 obj=0x732c8c20 self=0xb40000715c61b010
| sysTid=8674 nice=-10 cgrp=default sched=1073741824/0 handle=0x722b3ab048
| state=R schedstat=( 9438919230 99939778 4395 ) utm=607 stm=336 core=6 HZ=100
| stack=0x7fdd1f2000-0x7fdd1f4000 stackSize=8188KB
| held mutexes= "mutator lock"(shared held)
native: #00 pc 0041f9a0 /apex/com.android.art/lib64/libart.so (art::DumpNativeStack+112) (BuildId: 7087b2f2160bfbf3335d54ba9779e325)
native: #01 pc 00524f0c /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack const+204) (BuildId: 7087b2f2160bfbf3335d54ba9779e325)
native: #02 pc 00524cf4 /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run+128) (BuildId: 7087b2f2160bfbf3335d54ba9779e325)
native: #03 pc 00305d3c /apex/com.android.art/lib64/libart.so (art::Thread::RunCheckpointFunction+148) (BuildId: 7087b2f2160bfbf3335d54ba9779e325)
native: #04 pc 0063f640 /apex/com.android.art/lib64/libart.so (art::JNI<false>::GetStringChars+776) (BuildId: 7087b2f2160bfbf3335d54ba9779e325)
native: #05 pc 0000a64c /apex/com.android.i18n/lib64/libicu_jni.so (MatcherState::updateInput+108) (BuildId: 0b52d2f3be5b334e9d5ec6706970c5b4)
native: #06 pc 000129b8 /apex/com.android.i18n/lib64/libicu_jni.so (MatcherNative_setInputImpl+40) (BuildId: 0b52d2f3be5b334e9d5ec6706970c5b4)
at com.android.icu.util.regex.MatcherNative.setInputImpl(Native method)
at com.android.icu.util.regex.MatcherNative.setInput(MatcherNative.java:177)
at java.util.regex.Matcher.resetForInput(Matcher.java:1826)
- locked <@addr=0x23031d0> (a java.util.regex.Matcher)
at java.util.regex.Matcher.reset(Matcher.java:1815)
at java.util.regex.Matcher.reset(Matcher.java:366)
at java.util.regex.Matcher.find(Matcher.java:710)
at kotlin.text.Regex$findAll$2.invoke(SourceFile:50)
at kotlin.sequences.GeneratorSequence$iterator$1.calcNext(SourceFile:28)
at kotlin.sequences.GeneratorSequence$iterator$1.hasNext(SourceFile:19)
at org.commonmark.node.Nodes$NodeIterator.hasNext(SourceFile:10)
at kotlin.sequences.SequencesKt___SequencesKt.toList(SourceFile:37)
at com.philkes.notallyx.utils.MiscExtensionsKt.findAllOccurrences$default(SourceFile:63)
at com.philkes.notallyx.presentation.activity.note.EditTextPlainActivity.highlightSearchResults(SourceFile:30)
at com.philkes.notallyx.presentation.activity.note.EditActivity.updateSearchResults(SourceFile:15)
at com.philkes.notallyx.presentation.activity.note.EditActivity$setupListeners$lambda$41$$inlined$doAfterTextChanged$1.afterTextChanged(SourceFile:18)
at android.widget.TextView.sendAfterTextChanged(TextView.java:12934)
at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:16756)
at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1279)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:579)
at androidx.emoji2.text.SpannableBuilder.replace(SourceFile:7)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:509)
at androidx.emoji2.text.SpannableBuilder.replace(SourceFile:4)
at androidx.emoji2.text.SpannableBuilder.replace(SourceFile:1)
at android.view.inputmethod.BaseInputConnection.replaceTextInternal(BaseInputConnection.java:1026)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:962)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:241)
at com.android.internal.inputmethod.EditableInputConnection.commitText(EditableInputConnection.java:252)
at android.view.inputmethod.InputConnectionWrapper.commitText(InputConnectionWrapper.java:207)
at android.view.inputmethod.RemoteInputConnectionImpl.lambda$commitText$17(RemoteInputConnectionImpl.java:648)
at android.view.inputmethod.RemoteInputConnectionImpl.$r8$lambda$jNtA8MXobPnaECkNr8D9WTYrxk0(unavailable:0)
at android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda46.run(D8$$SyntheticClass:0)
at android.os.Handler.handleCallback(Handler.java:1095)
at android.os.Handler.dispatchMessageImpl(Handler.java:135)
at android.os.Handler.dispatchMessage(Handler.java:125)
at android.os.Looper.loopOnce(Looper.java:269)
at android.os.Looper.loop(Looper.java:367)
at android.app.ActivityThread.main(ActivityThread.java:9333)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:566)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
DumpLatencyMs: 7.30416
What happened?
After opening a large JSON file, the app freezes every time it's opened. The notes list appears briefly (empty/loading) then Android shows "NotallyX isn't responding."
I've attached images of what happens, and the relevant ANR trace.
App Version
7.11.0
Android Version (API Level)
16 (36)
(Optional) Relevant log output