AndroidIDEOfficial / AndroidIDE

AndroidIDE is an IDE for Android to develop full featured Android apps.
https://m.androidide.com
GNU General Public License v3.0
2.29k stars 273 forks source link

[Bug]: #952

Closed jonstudio8 closed 1 year ago

jonstudio8 commented 1 year ago

What happened?

I made a PopupWindow code and when I skipped a line to add more elements, it just crashed.

What's the expected behavior?

That it doesn't give an error. because I just skipped a line to add more elements below the code.

What version of AndroidIDE you're using?

v2.4.0 (debug builds)

Relevant log output

AndroidIDE crash report
Manufacturer: samsung
Device: SM-A127M
ABI: arm64-v8a
SDK version: 33
App version: v2.4.1-beta (241)

 Stacktrace: 
java.lang.IndexOutOfBoundsException: Index: 4, Size: 0
    at java.util.ArrayList.get(ArrayList.java:437)
    at io.github.rosemoe.sora.widget.EditorRenderer.drawView(EditorRenderer.java:212)
    at io.github.rosemoe.sora.widget.CodeEditor.onDraw(CodeEditor.java:34)
    at android.view.View.draw(View.java:24395)
    at android.view.View.updateDisplayListIfDirty(View.java:23256)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4732)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4704)
    at android.view.View.updateDisplayListIfDirty(View.java:23203)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4732)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4704)
    at android.view.View.updateDisplayListIfDirty(View.java:23203)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4732)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4704)
    at android.view.View.updateDisplayListIfDirty(View.java:23203)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4732)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4704)
    at android.view.View.updateDisplayListIfDirty(View.java:23203)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:14)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:104)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at android.view.View.updateDisplayListIfDirty(View.java:23242)
    at android.view.View.draw(View.java:24125)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4748)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4505)
    at com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:1531)
    at android.view.View.draw(View.java:24398)
    at com.android.internal.policy.DecorView.draw(DecorView.java:1504)
    at android.view.View.updateDisplayListIfDirty(View.java:23256)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:753)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:759)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:857)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:5501)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5194)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4356)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2991)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10665)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1301)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309)
    at android.view.Choreographer.doCallbacks(Choreographer.java:923)
    at android.view.Choreographer.doFrame(Choreographer.java:852)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8741)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

Duplicate issues

Code of Conduct

itsaky commented 1 year ago

Duplicate of #906.