tchapgouv / tchap-android

A matrix client for Android.
https://play.google.com/store/apps/details?id=fr.gouv.tchap.a
Apache License 2.0
20 stars 7 forks source link

Crash when image avatar is too big in pills #1082

Closed yostyle closed 2 months ago

yostyle commented 2 months ago

https://app.crisp.chat/website/6dacc68e-de3a-4511-8177-1339616098de/inbox/session_73da4765-9c50-4fda-910e-182be812c633/

Thread: main, Exception: java.lang.RuntimeException: Canvas: trying to draw too large(121176064bytes) bitmap.
at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:266)
at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:94)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:549)
at com.google.android.material.chip.ChipDrawable.drawChipIcon(ChipDrawable.java:43)
at com.google.android.material.chip.ChipDrawable.draw(ChipDrawable.java:62)
at im.vector.app.features.html.PillImageSpan.draw(PillImageSpan.kt:84)
at android.text.TextLine.handleReplacement(TextLine.java:1507)
at android.text.TextLine.handleRun(TextLine.java:1676)
at android.text.TextLine.drawRun(TextLine.java:846)
at android.text.TextLine.draw(TextLine.java:446)
at android.text.Layout.drawText(Layout.java:911)
at android.text.Layout.draw(Layout.java:495)
at android.widget.TextView.onDraw(TextView.java:9353)
at android.view.View.draw(View.java:24627)
at android.view.View.updateDisplayListIfDirty(View.java:23493)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at android.view.View.updateDisplayListIfDirty(View.java:23484)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at android.view.View.updateDisplayListIfDirty(View.java:23484)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:31)
at android.view.View.draw(View.java:24630)
at android.view.View.updateDisplayListIfDirty(View.java:23493)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at android.view.View.updateDisplayListIfDirty(View.java:23484)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at android.view.View.updateDisplayListIfDirty(View.java:23484)
at android.view.View.draw(View.java:24357)
at android.view.ViewGroup.drawChild(ViewGroup.java:4576)
at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:1)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4337)
at android.view.View.draw(View.java:24630)
at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:1)
at android.view.View.updateDisplayListIfDirty(View.java:23493)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4560)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4533)
at android.view.View.updateDisplayListIfDirty(View.java:23449)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:694)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:700)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:798)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:5313)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4975)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4093)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2718)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9937)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
at android.view.Choreographer.doFrame(Choreographer.java:945)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)