fix ConcurrentModificationException

2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":[]}}
2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  <-- END HTTP (74-byte body)
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  handleAppVisibility mAppVisible = false visible = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  stopped(false) old = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  WindowStopped on com.nextcloud.talk2/com.nextcloud.talk.chat.ChatActivity set to false
2024-03-19 15:49:38.695 15732-16333 WebSocketInstance       com.nextcloud.talk2                  D  Receiving : okhttp3.internal.ws.RealWebSocket@b8eb9d5 {"type":"event","event":{"target":"room","type":"leave","leave":["01s9v73eeKC5P2QUmsEqfsi_ZmY-DaDPhs3wdFTmJkB8VzVJc1FSWUV5bVZVTEtBaVpZOUYxaDVMRlpsaG95enlFc2dXMXpQY3Y3dGNGNlNfemZiLXg5cXk1ZVNyTEkzNS0wcDZJZUdnelFYbmF6ZVMwcWRDbVBTNklLYkFHNUdwRDQ2c0VZR1RoX1JObmF2Q3hSb2YtbFNJOFRONkhFLWp2cWZBZnk2d2VSb1BsbG96VE90Vm45bFhOa2NwWWZfdTA1clJ4VFoxcHpJcHwyMjEzNTgwMTcx"]}}
2024-03-19 15:49:38.697 15732-15732 AndroidRuntime          com.nextcloud.talk2                  D  Shutting down VM
2024-03-19 15:49:38.702 15732-15732 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
                                                                                                    Process: com.nextcloud.talk2, PID: 15732
                                                                                                    java.util.ConcurrentModificationException
                                                                                                    	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1441)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1475)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1473)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.sendStopTypingMessage(ChatActivity.kt:2097)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.updateOwnTypingStatus(ChatActivity.kt:2063)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity$initMessageInputView$1.onTextChanged(ChatActivity.kt:1162)
                                                                                                    	at android.widget.TextView.sendOnTextChanged(TextView.java:11881)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6968)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6751)
                                                                                                    	at android.widget.EditText.setText(EditText.java:133)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6703)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.onStart(ChatActivity.kt:575)
                                                                                                    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1510)
                                                                                                    	at android.app.Activity.performStart(Activity.java:8616)
                                                                                                    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4204)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226)
                                                                                                    	at android.os.Looper.loop(Looper.java:313)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8762)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
2024-03-19 15:49:38.735 15732-15732 Process                 com.nextcloud.talk2                  I  Sending signal. PID: 15732 SIG: 9
2024-03-19 15:49:39.328  1477-1521  WindowManager           system_server                        E  win=Window{9280569 u0 com.nextcloud.talk2/com.nextcloud.talk.activities.CallActivity EXITING} destroySurfaces: appStopped=false cleanupOnResume=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:6539 com.android.server.wm.ActivityRecord.destroySurfaces:6520 com.android.server.wm.WindowState.onExitAnimationDone:5995 com.android.server.wm.ActivityRecord$$ExternalSyntheticLambda10.accept:2 java.util.ArrayList.forEach:1262 com.android.server.wm.ActivityRecord.onAnimationFinished:8607 com.android.server.wm.ActivityRecord.postApplyAnimation:6252
2024-03-19 15:49:40.075 19752-19752 nativeloader            com.nextcloud.talk2                  D  Configuring classloader-namespace for other apk /data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/lib/arm64:/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.nextcloud.talk2
2024-03-19 15:49:40.097 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE Developer option for 'com.nextcloud.talk2' set to: 'default'
2024-03-19 15:49:40.098 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE GameManagerService for com.nextcloud.talk2: false
2024-03-19 15:49:40.099 19752-19752 GraphicsEnvironment     com.nextcloud.talk2

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
This commit is contained in:
Julius Linus 2024-03-26 09:49:55 -05:00 committed by backportbot[bot]
parent d6bb746ac6
commit 2f28cc72cd

View file

@ -2094,7 +2094,8 @@ class ChatActivity :
typingTimer = null
typedWhileTypingTimerIsRunning = false
for ((sessionId, _) in webSocketInstance?.getUserMap()!!) {
val concurrentSafeHashMap = webSocketInstance?.getUserMap()!!
for ((sessionId, _) in concurrentSafeHashMap) {
val ncSignalingMessage = NCSignalingMessage()
ncSignalingMessage.to = sessionId
ncSignalingMessage.type = TYPING_STOPPED_SIGNALING_MESSAGE_TYPE